2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

X 6323-3:2011 (ISO/IEC 15693-3:2009)

ページ

序文 ··································································································································· 1

1 適用範囲 ························································································································· 1

2 引用規格 ························································································································· 1

3 用語及び定義・略語・記号 ································································································· 2

3.1 用語及び定義 ················································································································ 2

3.2 略語 ···························································································································· 2

3.3 記号 ···························································································································· 2

4 データ要素の定義 ············································································································· 3

4.1 固有識別子(UID) ········································································································ 3

4.2 応用分野識別子(AFI) ·································································································· 3

4.3 データ記憶形式識別子(DSFID)······················································································ 5

4.4 CRC ···························································································································· 5

5 VICCのメモリ構成 ·········································································································· 6

6 ブロックセキュリティ状態 ································································································· 6

7 プロトコルの概要 ············································································································· 7

7.1 プロトコルの説明 ·········································································································· 7

7.2 モード ························································································································· 7

7.3 要求コマンド形式 ·········································································································· 8

7.4 応答形式 ······················································································································ 9

7.5 VICC状態 ··················································································································· 10

8 衝突防止 ························································································································ 12

8.1 要求パラメタ ··············································································································· 13

8.2 VICCによる要求コマンド処理 ························································································ 13

8.3 衝突防止手順 ··············································································································· 16

9 タイミングの規定 ············································································································ 17

9.1 VCDからEOFを受信した後に応答を伝送するまでのVICCの待ち時間 ·································· 17

9.2 VCDからEOFを受信した後にVICCの変調を無視する時間 ················································· 18

9.3 次の要求コマンド送信前のVCDの待ち時間 ······································································· 18

9.4 要求コマンド処理中の次スロット切替えまでのVCDの待ち時間 ············································ 18

10 コマンド ······················································································································ 19

10.1 コマンドの種類 ··········································································································· 19

10.2 コマンドコード ··········································································································· 20

10.3 必す(須)コマンド ····································································································· 21

10.4 任意選択コマンド ········································································································ 22

10.5 製造業者設定コマンド ·································································································· 34

(1)

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

X 6323-3:2011 (ISO/IEC 15693-3:2009) 目次

ページ

10.6 専用コマンド ·············································································································· 34

附属書A(参考)他の規格との互換性 ····················································································· 35

附属書B(参考)衝突防止用VCD擬似コード ··········································································· 36

附属書C(参考)巡回冗長検査(CRC) ·················································································· 37

参考文献 ···························································································································· 41

(2)

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

X 6323-3:2011 (ISO/IEC 15693-3:2009)

まえがき

この規格は,工業標準化法第14条によって準用する第12条第1項の規定に基づき,一般社団法人日本

ICカードシステム利用促進協議会(JICSAP)及び財団法人日本規格協会(JSA)から,工業標準原案を具

して日本工業規格を改正すべきとの申出があり,日本工業標準調査会の審議を経て,経済産業大臣が改正

した日本工業規格である。

これによって,JIS X 6323-3:2001は改正され,この規格に置き換えられた。

この規格は,著作権法で保護対象となっている著作物である。

この規格に従うことは,次の者の有する特許権等の使用に該当するおそれがあるので,留意する。

JP 2129209 非接触式応答ユニット

オムロン株式会社

JP 2561051 非接触式応答ユニット

京都府京都市右京区花園土堂町10番地

JP 2981517 非接触式応答ユニット

上記の,特許権等の権利者は,非差別的かつ合理的な条件でいかなる者に対しても当該特許権等の実施

の許諾等をする意思のあることを表明している。ただし,この規格に関連する他の特許権等の権利者に対

しては,同様の条件でその実施が許諾されることを条件としている。

この規格に従うことが,必ずしも,特許権の無償公開を意味するものではないことに注意する必要があ

る。

この規格の一部が,上記に示す以外の特許権等に抵触する可能性がある。経済産業大臣及び日本工業標

準調査会は,このような特許権等に関わる確認について,責任はもたない。

なお,ここで“特許権等”とは,特許権,出願公開後の特許出願又は実用新案権をいう。

JIS X 6323の規格群には,次に示す部編成がある。

JIS X 6323-1 第1部:物理的特性

JIS X 6323-2 第2部:電波インタフェース及び初期化

JIS X 6323-3 第3部:衝突防止及び伝送プロトコル

(3)

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

X 6323-3:2011 (ISO/IEC 15693-3:2009) 目次

(4)

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

日本工業規格

JIS

X 6323-3:2011

(ISO/IEC 15693-3:2009)

識別カード−非接触(外部端子なし)ICカード−

近傍型−第3部:衝突防止及び伝送プロトコル

Identification cards−Contactless integrated circuit cards−Vicinity cards−

Part 3: Anticollision and transmission protocol

序文

この規格は,2009年に第2版として発行されたISO/IEC 15693-3を基に,技術的内容及び対応国際規格

の構成を変更することなく作成した日本工業規格である。また,この規格は,JIS X 6301(ISO/IEC 7810,

識別カード−物理的特性)に定義されたIDカードのパラメタ及び国際流通用としてのこのIDカードの使

用方法のうち,外部端子のない近傍型のICカード,及びこれと結合する結合機器を規定する規格群(JIS X

6323)の一部である。

なお,この規格で点線の下線を施してある参考事項は,対応国際規格にはない事項である。

1

適用範囲

この規格は,近傍型ICカード(以下,VICCという。)とその結合装置(以下,VCDという。)との間の

初期化及び衝突防止について規定する。

JIS X 6323の一部であるこの規格は,他のJIS X 6323の規格群と関連をもつ。

注記 この規格の対応国際規格及びその対応の程度を表す記号を,次に示す。

ISO/IEC 15693-3:2009,Identification cards−Contactless integrated circuit cards−Vicinity cards−

Part 3: Anticollision and transmission protocol(IDT)

なお,対応の程度を表す記号“IDT”は,ISO/IEC Guide 21-1に基づき,“一致している”こ

とを示す。

この規格は,次の内容について規定する。

− プロトコル及びコマンド

− VCDとVICCとの間の初期化通信に必要なパラメタ

− 複数のカードの中から唯一のカードを検出する方法(衝突防止)

− アプリケーションの基準に適合した複数のカードの中から一つを簡単に早く検出する選択自由な方法

2

引用規格

次に掲げる規格は,この規格に引用されることによって,この規格の規定の一部を構成する。これらの

引用規格のうちで,西暦年を付記してあるものは,記載の年の版を適用し,その後の改正版(追補を含む。)

は適用しない。西暦年の付記がない引用規格は,その最新版(追補を含む。)を適用する。

JIS X 5203 システム間の通信及び情報交換−ハイレベルデータリンク制御(HDLC)手順

注記 対応国際規格:ISO/IEC 13239,Information technology−Telecommunications and information

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

2

X 6323-3:2011 (ISO/IEC 15693-3:2009)

exchange between systems−High-level data link control (HDLC) procedures(IDT)

JIS X 6320-6:2006 ICカード−第6部:交換のための産業間共通データ要素

注記 対応国際規格:ISO/IEC 7816-6:2004,Identification cards−Integrated circuit cards−Part 6:

Interindustry data elements for interchange(IDT)

JIS X 6323-1 識別カード−非接触(外部端子なし)ICカード−近傍型−第1部:物理的特性

注記 対応国際規格:ISO/IEC 15693-1,Identification cards−Contactless integrated circuit cards−

Vicinity cards−Part 1: Physical characteristics(IDT)

JIS X 6323-2:2011 識別カード−非接触(外部端子なし)ICカード−近傍型−第2部:電波インタフ

ェース及び初期化

注記 対応国際規格:ISO/IEC 15693-2:2006,Identification cards−Contactless integrated circuit cards

−Vicinity cards−Part 2: Air interface and initialization(IDT)

ISO/IEC 15418:2009,Information technology−Automatic identification and data capture techniques−GS1

Application Identifiers and ASC MH10 Data Identifiers and maintenance

3

用語及び定義・略語・記号

この規格で用いる主な用語及び定義は,JIS X 6323-1及びJIS X 6323-2によるほか,次による。

3.1

用語及び定義

3.1.1

衝突防止処理(anticollision loop)

VCDと動作磁界内に存在する一つ以上のVICCとの間で扱うアルゴリズム。

3.1.2

バイト(byte)

b1〜b8の8ビットで構成されるビット列。最上位ビット(MSB)をb8,最下位ビット(LSB)をb1と

する。

3.2

略語

AFI

応用分野識別子(application family identifier)

CRC

巡回冗長検査(cyclic redundancy check)

DSFID

データ記憶形式識別子(data storage format identifier)

EOF

フレーム終了信号(end of frame)

LSB

最下位ビット(least significant bit)

LSByte

最下位バイト(least significant byte)

MSB

最上位ビット(most significant bit)

MSByte

最上位バイト(most significant byte)

RFU

将来使用するために留保(reserved for future use)

SOF

フレーム開始信号(start of frame)

UID

固有識別子(unique identifier)

VCD

近傍型結合装置(vicinity coupling device)

VICC

近傍型ICカード(vicinity integrated circuit card)

3.3

fc

記号

搬送波の周波数[frequency of operating field(carrier frequency)]

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

3

X 6323-3:2011 (ISO/IEC 15693-3:2009)

4

データ要素の定義

4.1

固有識別子(UID)

複数のVICCは,64ビットのUIDによって個々に認識される。UIDは,衝突防止処理の間にVICCを個々

に特定し,その後,VCDとVICCとが一対一でデータを送受するために使う。

ICチップの製造業者は,図1に示すように,UIDを不変に設定しなければならない。

MSB

LSB

IC製造業者コード

IC製造業者シリアル番号

図1−UIDの形式

UIDの構成は,次のとおりとする。

− MSByte(ビット64〜57)は,“E0”とする。

− ICの製造業者コード(ビット56〜49)は,JIS X 6320-6による。

− 同じ値でないシリアル番号(ビット48〜1)は,IC製造業者が決定し書き込む。

4.2

応用分野識別子(AFI)

AFI(応用分野識別子)は,VCDがターゲットとするアプリケーションのタイプを表し,磁気フィール

ド内にある複数のVICCの中から,要求されるアプリケーションの基準を満たすVICCを見つけるために

使用する。

AFIは,相当するコマンドによって,使用可能に設定したり,使用停止に設定したりしてもよい。

AFIは,1バイトで符号化され,4ビットごとに二つの部分からなる。

AFIの上位4ビットは,特別のコード又は応用分野識別子であり,表1に示す。

AFIの下位4ビットは,特別のコード又は小分類を表す。小分類コードは,“0”でない場合は,製造業

者専用とする。

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

4

X 6323-3:2011 (ISO/IEC 15693-3:2009)

表1−AFIのコード表

AFIの上位

4ビット

AFIの下位

4ビット

全分野

分野を特定しない。

X分野

広範囲に選択する。

X分野のY小分類

製造業者専用のY小分類に限定す

る。

交通機関

大量輸送交通,バス及び航空機

金融

銀行

認識

アクセスコントロール

電気通信

公衆電話及びGSM

医療

マルチメディア

ゲーム

データ記憶

可搬型ファイル

EAN-UCCが使用する。

ISO/IEC JTC1 /SC 31が管理する。

ISO/IEC 15418で規定する

データ識別子

ISO/IEC JTC 1/SC 31が管理する。

UPU(万国郵便番号)

ISO/IEC JTC 1/SC 31が管理する。

VICCの応用分野

例/参考

インターネット

ISO/IEC JTC 1が管理する。

ISO/IEC JTC 1/SC 17が管理する。

ISO/IEC JTC 1/SC 17が管理する。

ISO/IEC JTC 1/SC 17が管理する。

注記 X=“1”〜“F”,Y=“1”〜“F”

VICCがAFIを採用することは,任意選択とする。

AFIを採用しないVICCにAFIフラグが設定されている場合,たとえ受付コマンドのAFI値が設定され

たAFIであったとしても,VICCは応答してはならない。

AFIを採用するVICCは,表1に示されるコード規則に従って応答しなければならない(図2参照)。

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

5

X 6323-3:2011 (ISO/IEC 15693-3:2009)

受付コマンド受信

いいえ

AFIフラグが設定

されているか?

応答する。

はい

いいえ

AFIフラグを

利用可能か?

応答しない。

はい

いいえ

AFI値 = 0か?

はい

応答する。

AFI値 = VICC

の利用可能値?

いいえ

応答しない。

はい

応答する。

注記 “応答”は,VICCが受付コマンドに対して応答することを意味する。

図2−VICCのAFI検出流れ図

4.3

データ記憶形式識別子(DSFID)

データ記憶形式識別子は,VICCのメモリの中でデータがどのように構成されているかを示す。

DSFIDは,相当するコマンドによって,使用可能に設定したり,使用停止に設定したりしてもよい。DSFID

は,1バイトで符号化する。これによってデータの論理構成を知る。

DSFIDを採用しない場合,VICCは,“00”を応答しなければならない。

4.4

CRC

CRCは,JIS X 5203の規定によって計算する。

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

6

X 6323-3:2011 (ISO/IEC 15693-3:2009)

初期値は,全ビット“1”の“FFFF”とする。

2バイトのCRCは,各要求コマンド及び各応答に付加するものであり,各フレームのEOFの前に置く。

CRCは,SOFの次からCRCの前のバイトまでのデータについて計算する。

VCDから要求コマンドを受信すると,VICCは,CRCの値が正しいかどうかを確認する。無効の場合,

そのフレームを廃棄し,応答(変調)は行わない。

VICCからの応答を受信すると,VCDは,CRCの値が正しいかどうかを確認する。無効の場合,その後

の動作仕様は,VCDの設計者依存とする。

CRCは,最下位バイトから送出する。各バイトデータも最下位ビットから送出する(図3参照)。

LSByte

MSByte

LSB

MSB

LSB

MSB

CRC 16(8ビット)

CRC 16(8ビット)

↑CRCの最初に送出するビット

図3−CRCビット及びバイトの伝送規則

5

VICCのメモリ構成

VICCのメモリは,物理的に固定長のブロック(ページ)で構成する。

− 256ブロックまでアドレスすることを可能とする。

− 各ブロックは,256ビットまでで構成する。

− 全メモリ容量は,8kバイト(64kビット)まで可能とする。

注記 将来,メモリの最大容量を拡張してもよい。

この規格で規定するコマンドは,ブロック単位でアクセス(読取り及び書込み)するものに限定する。

その他のアクセス方法に関しては制限するものではない(例えば,将来の規格改正又は製造業者設定コマ

ンドによってバイト単位又は論理オブジェクト単位のアクセスなど。)。

6

ブロックセキュリティ状態

VICCは,箇条10に規定されるようなVCDのコマンド(例えば,単一ブロック読取りコマンド)の応

答の中にあるパラメタとして,ブロックセキュリティ状態を送り返す。ブロックセキュリティ状態は,1

バイトとする。

ブロックセキュリティ状態は,プロトコル要素とする。必ずしもVICCの物理的メモリの中に8ビット

で構成する必要はない(表2参照)。

表2−ブロックセキュリティ状態

ビット番号

フラグ名

状態

(施錠フラグ)

施錠していない。

施錠している。

内容

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

7

X 6323-3:2011 (ISO/IEC 15693-3:2009)

7

プロトコルの概要

7.1

プロトコルの説明

伝送プロトコル(又はプロトコル)は,VCDとVICCとの間で,命令及びデータを双方向に交換する機

構を規定する。

“VCDトークファースト”を基本とする。

これは,VICCが先に伝送(JIS X 6323-2に規定される変調)を開始することを禁じ,VCDから命令を

受け,それを解読した後,応答することを意味する。

a) プロトコルの基本

− VCDからVICCへ要求を送る。

− VICCからVCDへ応答を返す。

VICCが応答する条件は,箇条10に規定する。

b) 個々の要求及び応答は,一つのフレームで構成される。そのフレームは,JIS X 6323-2で規定されて

いるフレーム識別子(SOF及びEOF)で囲まれている。

c) 要求は,次の順に構成する。

− フラグバイト

− コマンドコード

− コマンドに関する必す(須)パラメタ及び任意選択パラメタ

− アプリケーション データフィールド

− CRC

d) 応答は,次の順に構成する。

− フラグバイト

− コマンドに関する必す(須)パラメタ及び任意選択パラメタ

− アプリケーション データフィールド

− CRC

e) プロトコルは,ビット構造で,フレーム内の伝送ビット数は,8の整数倍とする。すなわち,バイト

単位とする。

f)

1バイトを伝送するときは,最下位ビット(LSBit)から伝送する。

g) 複数バイトを伝送するときは,最下位バイト(LSByte)から伝送し,そのバイトは,最下位ビット(LSBit)

から伝送する。

h) 特定のフラグが設定されているときは,対応する任意選択フィールドがあることを意味する。そのフ

ラグが“1”のときは,そのフィールドが存在し,“0”のときは,そのフィールドが存在しない。

i)

RFUフラグは,“0”に設定されなければならない。

7.2

モード

モードとは,要求コマンドに応答しなければならないVICCの集合を要求コマンド中で指定する機構の

ことをいう。

7.2.1

アドレスモード

Address̲flag (=1) と設定されると(アドレスモード),要求コマンドは,指定されたVICCの固有識別

子(UID)を含む。

VICCは,Address̲flag (=1) と設定した要求コマンドを受信すると,受信したUIDと自分自身のUIDと

を比較する。

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

8

X 6323-3:2011 (ISO/IEC 15693-3:2009)

一致した場合,(可能ならば)コマンドを実行し,コマンドで定める応答をVCDに返す。

一致しない場合,何も応答しない。

7.2.2

非アドレスモード

Address̲flag (=0) と設定されていると(非アドレスモード),要求コマンドは,固有識別子(UID)を

含まない。

VICCは,Address̲flag (=0) と設定した要求コマンドを受信すると,(可能ならば)コマンドを実行し,

コマンドで定める応答をVCDに返さなければならない。

7.2.3

選択モード

Select̲flag (=1) と設定されていると(選択モード),要求コマンドは,VICCの固有識別子(UID)を含

まない。

選択状態にあるVICCは,Select̲flag (=1) と設定した要求コマンドを受信すると,(可能ならば)コマ

ンドを実行し,コマンドで定める応答をVCDに返さなければならない。

選択状態にあるVICCだけが,Select̲flag (=1) と設定した要求コマンドに対して応答する。

7.3

要求コマンド形式

要求コマンドは,次の順に構成する(図4参照)。

− フラグバイト

− コマンドコード(箇条10参照)

− パラメタ及びデータフィールド

− CRC(4.4参照)

フラグ

バイト

コマンドコード

パラメタ

データ

図4−要求コマンドの形式

7.3.1

要求コマンドフラグ

要求コマンドにおいて,フラグバイトのフィールドは,VICCが実行する内容及び関連フィールドが存

在するか否かを示す。フラグバイトは,8ビットで構成する(表3参照)。

表3−要求コマンドフラグのビット1〜4

ビット

フラグ名

(副搬送波フラグ)

VICCは,単一副搬送波を用いる。

内容

VICCは,双副搬送波を用いる。

(伝送速度フラグ)

低速伝送

高速伝送

(受付フラグ)

b5〜b8の内容は,表4による。

b5〜b8の内容は,表5による。

(拡張プロトコルフラグ)

拡張プロトコル形式を使用しない。

拡張プロトコル形式を使用する。RFUとする。

注記1 Sub-carrier̲flagは,JIS X 6323-2で規定している“VICCからVCDへの信号伝送”を参照する。

注記2 Data̲rate̲flagは,JIS X 6323-2で規定している“VICCからVCDへの信号伝送”を参照する。

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

9

X 6323-3:2011 (ISO/IEC 15693-3:2009)

表4−Inventory̲flag(受付フラグ)が“0”の場合,要求コマンドフラグのビット5〜8

ビット

フラグ名

内容

全てのVICCが,Address̲flagの内容によって実行する要

求コマンド

選択状態にあるVICCだけが実行する要求コマンド

Address̲flagは“0”に設定し,要求コマンドは,UIDを

含まない。

VICCを指定しない。UIDは,含まない。全てのVICCが

実行する。

VICCを指定する。UIDを含む。UIDが一致したVICCだ

けが実行する。

(任意選択フラグ)

内容は,コマンドの箇条で規定する。規定されていない場

合,“0”に設定する。

内容は,コマンドの箇条で規定する。

(選択フラグ)

(アドレスフラグ)

表5−Inventory̲flag(受付フラグ)が“1”の場合,要求コマンドフラグのビット5〜8

ビット

フラグ名

(AFIフラグ)

AFIフィールドなし

AFIフィールドあり

(スロット数)

16スロット

1スロット

(任意選択フラグ)

内容は,コマンドの箇条で規定する。

規定されていない場合,“0”に設定する。

内容は,コマンドの箇条で規定する。

7.4

内容

応答形式

応答は,次の順に構成する(図5参照)。

− フラグバイト

− 一つ以上のパラメタフィールド

− データ

− CRC(4.4参照)

フラグ

バイト

パラメタ

データ

図5−応答形式

7.4.1

応答フラグ

応答において,フラグバイトのフィールドは,VICCの実行結果を示し,関連フィールドの有無を示す。

フラグバイトは,8ビットで構成する(表6参照)。

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

10

X 6323-3:2011 (ISO/IEC 15693-3:2009)

表6−応答フラグの1〜8ビット

7.4.2

ビット

フラグ名

内容

(エラーフラグ)

(拡張フラグ)

拡張プロトコル形式を使用しない。

拡張プロトコル形式を使用する。RFUとする。

エラーなし

エラーあり。“Error”フィールドの値は,エラーコード

とする。

応答エラーコード

応答においてVICCがError̲flag (=1) と設定した場合,エラーコードフィールドが含まれ,エラー情報

を示す。エラーコードの定義を表7に示す。

表7に示すエラーコードをVICCが採用しない場合,エラーコードとして“0F”(原因不明のエラー)を

返さなければならない。

表7−応答エラーコード

エラーコード

採用していないコマンド。要求コマンドコードが認識できない。

認識されないコマンド。例えば,形式エラーが発生。

採用していない任意選択コマンド

原因不明のエラー又は採用していないエラーコード

特定されたブロックが使えない(存在しない)。

特定されたブロックは,既に施錠されているため,再施錠できない。

特定されたブロックは,施錠されているため,内容の変更ができない。

特定されたブロックは,書込みが正常に完了しなかった。

特定されたブロックは,施錠が正常に完了しなかった。

その他

7.5

内容

製造業者設定コマンドエラーコード

VICC状態

VICCの状態は,次の4通りとする。

− Power-off(電源オフ状態)

− Ready(準備完了状態)

− Quiet(静止状態)

− Selected(選択状態)

この状態遷移を図6に示す。

Power-off状態,Ready状態及びQuiet状態は,必す(須)とする。

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

11

X 6323-3:2011 (ISO/IEC 15693-3:2009)

Selected状態は,任意とする。

7.5.1

Power-off状態

VICCがVCDの動作磁界領域にない場合,VICCは,Power-off状態にある。

7.5.2

Ready状態

VICCがVCDの動作磁界領域に入った場合,VICCは,Ready状態にある。VICCは,Select̲flag (=0) と

設定されている要求を処理しなければならない。

7.5.3

Quiet状態

Quiet状態にある場合,VICCは,Inventory̲flag (=0) と設定され,かつ,Address̲flag (=1) と設定され

た要求を処理しなければならない。

7.5.4

Selected状態

Selected状態にある場合にだけ,VICCは,Select̲flagが設定された要求を処理しなければならない。

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

12

X 6323-3:2011 (ISO/IEC 15693-3:2009)

Power-off 状態

動作磁界の外へ

動作磁界の中へ

動作磁界の外へ

動作磁界の外へ

Ready状態

Select̲flag ( =0 )と設

定されているコマンド

Selected状態へ

Quiet状態へ

(UID)

Reset to Ready

Quiet状態

Selected状態へ

(UID)

Select̲flag ( =1 )と設

定されている場合の

Reset to Ready コマ

ンド又はUIDが異な

るSelect コマンド

Selected 状態

Quiet状態へ

(UID)

Address̲flag ( =1 )と設定さ

れていて,かつ,

Inventory̲flag ( =0 )と設定さ

れているコマンド

他のコマンド

注記1 状態の遷移の方向は,そのときSelected状態にあるVICCの一つに注目して示す。

注記2 VICCの状態遷移図は,有効な遷移だけを示す。その他の場合,現在のVICCの状態は,変化せずにとど(留)

まる。VICCがVCDの要求コマンドを実行できない場合も(例えば,CRCエラーなど),現在の状態にとど

(留)まる。

注記3 Selected状態が点線で囲まれているのは,VICCがこの状態を採用するかどうかが任意選択であることを示す

ためである。

図6−VICCの状態遷移図

8

衝突防止

衝突防止の目的は,VCDの発生する動作磁界領域にある複数のVICCの各々を,そのUIDで特定する

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

13

X 6323-3:2011 (ISO/IEC 15693-3:2009)

ことにある。

VCDが主体となって,一つ以上のVICCと通信する。VCDがInventoryコマンドを発行することからカ

ードとの通信が始まる。8.2に規定する衝突防止のアルゴリズムに従って,VICCは,指定されたスロット

中に応答を返さなければならない場合と,何も応答してはならない場合とがある。

8.1

要求パラメタ

Inventoryコマンドを発行するとき,VCDは,Nb̲slots̲flagを希望する値に設定し,コマンドフィールド

の後にマスク長とマスク値とを追加しなければならない(図7参照)。

マスク長は,マスク値の有効なビット数を指定する。16スロットの場合,その値は0〜60とし,1スロ

ットの場合,その値は0〜64とする。LSB側から送出する。

マスク値は,整数バイトで構成する。LSB側から送出する。

マスク値を整数バイトで構成するため,マスク長が8の倍数でないビット長の場合,マスク値の上位側

を“0”で埋める(図8参照)。

後続のフィールドは,次のバイトの区切りから開始する。

フラグ

バイト

コマンド

マスク長

マスク値

8ビット

8ビット

8ビット

0〜8バイト

16ビット

図7−Inventoryコマンド形式

MSB

LSB

埋める

マスク値

図8−マスク値の埋め方の例

図8の例は,マスク長が12ビットのため,マスク値のMSB側13〜16ビットをb“0”で埋める。

AFI̲flag (=1) と設定されている場合,AFIフィールドが存在しなければならない。

JIS X 6323-2のEOFの規定に基づいて,パルスを発生しなければならない。第1スロットは,要求コマ

ンドのEOFを受信後直ちに,開始する。

次のスロットに進めるために,VCDは,EOFを送出する。規則,制限事項及びタイミングについては,

箇条9に規定する。

8.2

VICCによる要求コマンド処理

有効な要求コマンドを受信したとき,VICCは,次の枠内に示す手順を実行して,その要求コマンドを

処理しなければならない。その段階的な手順の図解を図9に示す。

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

14

X 6323-3:2011 (ISO/IEC 15693-3:2009)

/* NbSは,全スロット数(1又は16)を格納するプログラム変数。*/

/* SNは,現在処理中のスロット番号(0〜15)を格納するプログラム変数。*/

/* SN̲lengthは,全スロット数が1のとき0,全スロット数が16のとき4,のプログラム変数。*/

/* 関数LSB(value,n)は,valueの最下位ビットから始まるnビットを返す。*/

/*“&”は,連結を意味する演算子とする。*/

/* Slot̲Frameは,SOF又はEOFのいずれか。*/

SN = 0

if Nb̲slots̲flag then

NbS = 1, SN̲length = 0

else

NbS = 16, SN̲length = 4

label1:

endif

if LSB (UID, SN̲length + Mask̲length) = LSB (SN, SN̲length) & LSB (Mask, Mask̲length) then

transmit response to inventory request

endif

wait (Slot̲Frame)

if Slot̲Frame = SOF then

Stop Anticollision and decode/process request

Exit

endif

if SN < NbS-1 then

SN = SN + 1

goto label1

exit

endif

exit

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

15

X 6323-3:2011 (ISO/IEC 15693-3:2009)

Inventoryコマンドは,マスク

値とその長さとを含む。マス

ク長を超える部分は"0"で埋

める。

埋める。

Inventoryコマンドで受信したマスク値

"0"で埋めた部分を除いた

マスク値を比較器にロードす

る。

マスク長

Inventoryコマンドを受信すると

VICCは,スロットカウンタを0に

リセットする。

スロットカウンタ

EOFを受信するとVICCは,

スロットカウンタを1だけ進め

比較器にロードし,マスク値

(埋め分を除く)と連結する。

スロット番号

連結された結果とVICCの

UIDとをLSB側から比較する。

その結果が一致していたら,

VICCは,他の仕様(例えば,

AFI,Quiet状態)に基づき応答

を返す。

マスク値(埋め分を除く。)

比較

無視

ユニークID(UID)

MSB

LSB

注記1 スロット数が1[Nb̲slots̲flag (=1)]の場合,マスク値(埋め込みなし)と比較する。

注記2 例えば,Inventoryコマンドのマスク長を0,スロット数を16とするなどし,スロット番号とマスク値とを連

結した比較データをユニークIDの最下位4ビットから順に一致させていくことで,複数のVICCの中から一

つのVICCを特定していく。

図9−マスク値,スロット番号及びUIDの比較

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

16

X 6323-3:2011 (ISO/IEC 15693-3:2009)

8.3

衝突防止手順

16スロットの場合における典型的な衝突防止手順の概要を,図10に示す。

a) VCDは,Inventoryコマンドを最後にEOFを付けたフレーム形式を用いて送る。スロット数は,16と

する。

b) VICC1は,スロット0において,応答を返した。このときは一つのVICCだけが応答を返したために

衝突はなく,そのUIDは,VCDによって受け入れ,登録される。

c) VCDは,EOFを送出し,次のスロットに切り替える。

d) スロット1においては,VICC2とVICC3との二つが応答を返したために,衝突が発生した。VCDは,

スロット1において衝突を検出し記憶する。

e) VCDは,EOFを送出し,次のスロットに切り替える。

f)

スロット2においては,VICCからの応答がなかった。VCDは,VICCからSOFを受信しないために,

EOFを送出し,次のスロットに切り替える。

g) スロット3では,VICC4とVICC5とから応答があったために,VCDは,この場合も衝突があること

を検出し記憶する。

h) VCDは,既に正しくUIDを受信しているVICC1を指定した要求コマンド(例えば,Read Blockコマ

ンド)を送出することを決める。

i)

全てのVICCは,SOFを検出し衝突防止手順を終了する。VICCは,このコマンドの処理を行うが,

この要求コマンドは,VICC1を指定しているために,VICC1だけが応答を返す。

j)

全てのVICCは,別の要求コマンド受信可能な状態にある。Inventoryコマンドを受信した場合,スロ

ット番号の割振りを0から再び開始する。

注記 衝突防止手順をどこで終了するかはVCDが決定する。VCDは,スロット15まで進めてから,

VICC1に確定の要求コマンドを送ってもよい。

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

17

X 6323-3:2011 (ISO/IEC 15693-3:2009)

スロット 0

VCD

スロット1

VICCへ

受付コマンド送出 EOF

EOF

VICCs

VICC1から

応答送出

VICC2から

応答送出

VICC3から

応答送出

t1

タイミング

コメント

t2

t1

衝突なし

t2

衝突あり

時間

続き

スロット2

VCD

スロット 3

EOF

EOF

VICCs

VICC 1へ

要求コマンド EOF

VICC4から

応答送出

VICC 1から

応答送出

VICC5から

応答送出

タイミング

t3

コメント

VICCの

応答なし

t1

t2

t1

衝突あり

時間

注記 t1,t2,t3については,箇条9参照

図10−衝突防止手順

9

タイミングの規定

VCD及びVICCは,次のタイミングで動作する。

9.1

VCDからEOFを受信した後に応答を伝送するまでのVICCの待ち時間

VICCがVCDからの要求コマンドのEOFを検出したとき,又はこのEOFがVCDの要求コマンドの正

常な処理中にあるとき,VICCは,VCDに応答を伝送する前,又は受付処理において次のスロットに切り

替える前に,t1の待ち時間をおかなければならない(8.2及び8.3参照)。t1は,VCDから受信したEOF

の立上がり検出時点から開始する(JIS X 6323-2の7.3.3参照)。

注記 VCDからVICCへのEOFの立上がり時点を基準にして,VICCの応答を同期させることを必要

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

18

X 6323-3:2011 (ISO/IEC 15693-3:2009)

とする。

t1の最小値:t1min=4 320/fc (318.6 μs)

t1の標準値:t1nom=4 352/fc (320.9 μs)

t1の最大値:t1max=4 384/fc (323.3 μs)

t1maxは,書込み系のコマンドには適用されない。書込み系のタイミング条件は,コマンドで定める。

VICCは,このt1の間に搬送波の変調信号を検出すると,t1タイマをリセットし,VCDの要求に対する

応答の伝送を開始する前,又は受付処理において次のスロットに切り替える前に,t1の待ち時間をおかな

ければならない。

9.2

VCDからEOFを受信した後にVICCの変調を無視する時間

VICCがVCDの要求コマンドのEOFを検出したとき,又はこのEOFがVCDの要求コマンドの正常な

処理中にあるとき,VICCは,tmitの間に受信した10 %変調を無視しなければならない[mitはmodulation

ignore time(変調を無視する時間)の略語]。

tmitは,VCDから受信したEOFの立上がり検出時点から開始する(JIS X 6323-2の7.3.3参照)。

tmitの最小値:tmitmin=4 384/fc (323.3 μs)+tnrt

ここで,tnrtは,VICCの標準応答時間(nominal response time)とする。

tnrtは,VICCからVCDへのデータ伝送速度及び副搬送波の変調モードによる(JIS X 6323-2の8.5,8.5.1

及び8.5.2参照)。

注記 VCDからVICCへのEOFの立上がり時点を基準にして,VICCの応答を同期させることを必要

とする。

9.3

次の要求コマンド送信前のVCDの待ち時間

a) VCDが,Inventoryコマンド及びQuietコマンド以外の直前の要求コマンドに対するVICCの応答を受

信した場合,次の要求コマンドを送信するまで,t2の待ち時間をおかなければならない。t2は,VICC

からEOFを受信した後から開始される。

b) VCDが,Quietコマンドを送信しているときは,次の要求を送信するまで,t2の待ち時間をおかなけ

ればならない。t2は,QuietコマンドのEOFの最後から開始される(JIS X 6323-2の7.3.3参照)。

t2の最小値は,t2min=4 192/fc (309.2 μs) とする。

注記1 VICCは,この次の要求コマンドを受信可能な状態にあることを明確にする(JIS X 6323-2

7.3参照)。

注記2 VCDは,最初の要求を送信する前に,動作磁界を有効にした後,少なくとも1 ms待たなけ

ればならない(JIS X 6323-2の7.3参照)。

c) VCDがInventoryコマンドを送信した場合,受付処理手順に従う(9.4参照)。

9.4

要求コマンド処理中の次スロット切替えまでのVCDの待ち時間

この処理は,VCDが要求コマンドを送出時に開始される(8.2,8.3及び10.3.1参照)。

次のスロットに切り替えるために,9.4.1及び9.4.2に規定する待ち時間の後,VCDは,VICCに要求コ

マンドを伝送するために使用する変調度に関係なく,10 %又は100 %変調されたEOFを送出する。

9.4.1

VCDが一つ以上のVICCから応答を受信した場合

受付処理の間,VCDが一つ以上のVICCから応答を受信した場合(すなわち,VICCのSOF及び/又は

衝突を検出したとき),VCDは,次の処理をしなければならない。

− VICCの応答の受信を完了するまで待ち(すなわち,VICCのEOFを受信したとき,又はVICCの標

準応答時間tnrtを経過したとき),

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

19

X 6323-3:2011 (ISO/IEC 15693-3:2009)

− t2の時間を待ち,

− 次のスロットに切り替えるために,10 %又は100 %変調されたEOFを送出する。

t2は,VICCからEOFを受信した時点から開始する(JIS X 6323-2:2011の8.5.3及び8.5.4参照)。

t2の最小値は,t2min=4 192/fc (309.2 μs)とする。

tnrtは,VICCからVCDへのデータ伝送速度及び副搬送波の変調モードによる(JIS X 6323-2:2011の8.5,

8.5.1及び8.5.2参照)。

9.4.2

VCDがVICCから応答を受信しない場合

要求コマンド処理の間,VCDがVICCから応答を受信しない場合,次のスロットに切り替えるEOFを

送出する前に,VCDは,t3の待ち時間をおかなければならない。

t3は,VCDが最後に送信したEOFの立上がり時点から開始する。

a) VCDが100 %変調のEOFを送信した場合

t3の最小値:t3min=4 384/fc (323.3 μs)+tsof

b) VCDが10 %変調のEOFを送信した場合

t3の最小値:t3min=4 384/fc (323.3 μs)+tnrt

ここで,

− tsofは,VICCがVCDにSOFを伝送している時間とする。

− tnrtは,VICCの標準応答時間とする。

tnrt及びtsofは,VICCからVCDへのデータ伝送速度及び副搬送波の変調モードによる(JIS X 6323-2:2011

の8.5,8.5.1及び8.5.2参照)。

10 コマンド

10.1 コマンドの種類

必す(須)コマンド,任意選択コマンド,製造業者設定コマンド及び専用コマンドの4種類のコマンド

セットを規定する。

同じIC製造業者コード及び同じICバージョン番号をもつ全てのVICCは,同じ動作をしなければなら

ない。

注記 一般的に,ICバージョン番号は,IC製造業者によって,IC製造業者シリアル番号の一部とし

て規定される。

10.1.1 必す(須)コマンド

コマンドコードの範囲は,“01”〜“1F”とする。

全てのVICCは,これらのコマンドを採用しなければならない。

10.1.2 任意選択コマンド

コマンドコードの範囲は,“20”〜“9F”とする。

VICCが採用するのは任意とする。採用する場合,要求コマンド及びその応答の形式は,この規格に従

う。

VICCが任意選択コマンドを採用せず,かつ,Address̲flag (=1) 又はSelect̲flag (=1) と設定されてい

る場合,“採用していない”というエラーコードを返すか又は沈黙のままでいる。Address̲flag (=0) 又は

Select̲flag (=0) と設定されている場合,VICCは,沈黙のままでいる。

コマンドがVICCによって採用されるものと違う場合,エラーコードを返さなければならない。

10.1.3 製造業者設定コマンド

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

20

X 6323-3:2011 (ISO/IEC 15693-3:2009)

コマンドコードの範囲は,“A0”〜“DF”とする。

VICCは,製造業者固有の機能を組み込むために,任意選択的に採用する。フラグ(含む予約ビット)

に関する機能は,Option̲flagを除き,変更してはならない。製造業者が設定できるフィールドは,パラメ

タ及びデータフィールドだけとする。

製造業者設定コマンドは,第1パラメタにIC製造業者のコードを含む。このため,IC製造業者は,コ

マンドコードの複写及び誤解読の危険を侵さないで,製造業者設定コマンドを実行できる。

VICCが製造業者設定コマンドを採用せず,かつ,Address̲flag (=1) 又はSelect̲flag (=1) と設定され

ている場合,“採用していない”というエラーコードを返すか又は沈黙のままでいる。Address̲flag (=0) 又

はSelect̲flag (=0) と設定されている場合,VICCは,沈黙のままでいる。

コマンドがVICCによって採用されるものと違う場合,エラーコードを返さなければならない。

10.1.4 専用コマンド

コマンドコードの範囲は,“E0”〜“FF”とする。

このコマンドは,IC及びVICC製造業者がテスト,システム検証プログラム作成などのために使用する

コマンドとするが,この規格では規定しない。IC製造業者は,この任意選択事項を書面化してもよいし,

しなくともよい。これらのコマンドは,IC及び/又はVICCの製造後に無効にしてもよい。

10.2 コマンドコード

コマンドコードは,表8による。

表8−コマンドコード

コマンドコード

タイプ

必す(須)

Inventory(受付コマンド)

必す(須)

Stay quiet(静止コマンド)

必す(須)

任意選択

Read single block(単一ブロック読取りコマンド)

任意選択

Write single block(単一ブロック書込みコマンド)

任意選択

Lock block(ブロック施錠コマンド)

任意選択

Read multiple blocks(複数ブロック読取りコマンド)

任意選択

Write multiple blocks(複数ブロック書込みコマンド)

任意選択

Select(選択コマンド)

任意選択

Reset to ready(可動設定コマンド)

任意選択

Write AFI(AFI書込みコマンド)

任意選択

Lock AFI(AFI施錠コマンド)

任意選択

Write DSFID(DSFID書込みコマンド)

任意選択

Lock DSFID(DSFID施錠コマンド)

任意選択

Get system information(システム情報取得コマンド)

任意選択

Get multiple block security status(複数ブロックセキュリティ状態取得)

任意選択

製造業者設定

IC製造業者の仕様による。

専用

IC製造業者の仕様による。

10.3 必す(須)コマンド

機能

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

21

X 6323-3:2011 (ISO/IEC 15693-3:2009)

10.3.1 Inventory(受付コマンド)

コマンドコード=“01”

Inventoryコマンドを受けると,VICCは,衝突防止手順を実行する。

Inventoryコマンドの構成は,次のとおりとする(図11参照)。

− フラグバイト

− Inventoryコマンドコード

− AFI[AFI̲flag (=1) と設定されている場合]

− マスク長

− マスク値

− CRC

Inventory̲flag (=1) と設定される。

フラグビットの5〜8の意味は,表5による。

フラグ

バイト

コマンド

任意選択

マスク長

マスク値

8ビット

8ビット

8ビット

8ビット

0〜64ビット

16ビット

図11−Inventoryコマンドの形式

応答は,次のように構成する(図12参照)。

− DSFID

− 固有ID(UID)

VICCがエラーを検出した場合,沈黙のままでいる。

フラグ

バイト

8ビット

8ビット

64ビット

16ビット

図12−Inventoryコマンドの応答形式

10.3.2 Stay̲Quiet(静止コマンド)

コマンドコード=“02”

Stay̲Quietコマンド(図13参照)を受けると,VICCは,静止状態にとどまり,応答を返してはならな

い。この応答がないことがStay̲Quietコマンドに対する応答とする。

静止状態にあるとき,次のようにする。

− VICCは,Inventory̲flag (=1) と設定されているいかなる要求コマンドも処理してはならない。

− VICCは,自分自身が指定された要求コマンドを処理しなければならない。

次の場合,VICCは,静止状態から遷移する。

− リセットする(電源オフ)。

− Selectコマンドを受信する。採用されている場合,選択状態になり,採用されていない場合,エラー

を返さなければならない。

− Reset to readyコマンドを受信すると,Ready状態になる。

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

22

X 6323-3:2011 (ISO/IEC 15693-3:2009)

フラグ

バイト

コマンド

8ビット

8ビット

64ビット

16ビット

図13−Stay̲Quietコマンドの形式

要求パラメタ:

UID[必す(須)]

Stay quietコマンドは,常にアドレス確定モードで実行される[Select̲flag (=0) と設定し,Address̲flag

(=1) と設定する]。

10.4 任意選択コマンド

10.4.1 Read Single Block(単一ブロック読取りコマンド)

コマンドコード=“20”

Read Single Blockコマンド(図14参照)を受信すると,VICCは,要求したブロックを読み出し,読み

出した内容を応答に付けて返す。

Option̲flag (=1) と設定されている場合,VICCは,ブロックセキュリティ状態に続いてブロック値を返

さなければならない。

Option̲flag (=0) と設定されている場合,VICCは,ブロック値だけを返さなければならない。

フラグ

バイト

コマンド

ブロック番号

8ビット

8ビット

64ビット

8ビット

16ビット

図14−Read Single Blockコマンドの形式

要求パラメタ:

UID(任意選択),

ブロック番号

フラグ

バイト

エラーコード

8ビット

8ビット

16ビット

図15−Error̲flag (=1) と設定されている場合のRead Single Block応答

フラグ

バイト

ブロックセキュリティ状態

データ

(ブロック値)

8ビット

8ビット

ブロック長の

ビット数

16ビット

図16−Error̲flag (=0) と設定されている場合のRead Single Block応答

応答パラメタ:

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

23

X 6323-3:2011 (ISO/IEC 15693-3:2009)

エラーがあった場合,Error̲flag (=1)(表6参照)及びエラーコード(図15参照)

エラーがなかった場合(図16参照),

Option̲flag (=1) のとき,Error̲flag (=0),ブロックセキュリティ状態及びブロックデータ

Option̲flag (=0) のとき,Error̲flag (=0) 及びブロックデータ

10.4.2 Write Single Block(単一ブロック書込みコマンド)

コマンドコード=“21”

Write Single Blockコマンド(図17参照)を受信すると,VICCは,コマンドに含まれるデータを要求し

たブロックに書き込み,応答において処理が完了したことを報告しなければならない。

Option̲flag (=0) と設定されている場合,VICCは,書込み動作を開始し,時間TW後に,書込み動作が

完了し,VCD要求のEOFの立上がりを検出してから遅くとも20 msまでに,応答を返さなければならな

い。

TW={t1nom [4 352/fc (320.9 μs) 9.1参照]+4 096/fc (302 μs)の倍数}±32/fc

Option̲flag (=1) と設定されている場合,VICCは,VCDからのEOFの受信を待たなければならず,そ

の受信を待って応答しなければならない。

フラグ

バイト

コマンド

ブロック

番号

データ

8ビット

8ビット

64ビット

8ビット

ブロック長の

ビット数

16ビット

図17−Write Single Blockコマンドの形式

要求パラメタ:

UID(任意選択)

ブロック番号

データ

フラグ

バイト

エラーコード

8ビット

8ビット

16ビット

図18−Error̲flag (=1) と設定されている場合のWrite Single Block応答

フラグ

バイト

8ビット

16ビット

図19−Error̲flag (=0) と設定されている場合のWrite Single Block応答

応答パラメタ:

エラーがあった場合,Error̲flag (=1)(表6参照)及びエラーコード(図18参照)

エラーがなかった場合,Error̲flag (=0)(図19参照)

10.4.3 Lock block(ブロック施錠コマンド)

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

24

X 6323-3:2011 (ISO/IEC 15693-3:2009)

コマンドコード=“22”

Lock blockコマンド(図20参照)を受信すると,VICCは,要求されたブロックを永久に施錠しなけれ

ばならない。

Option̲flag (=0) と設定されている場合,VICCは,時間TW後に,施錠動作が完了し,VCD要求のEOF

の立上がりを検出してから遅くとも20 msまでに,応答を返さなければならない。

TW={t1nom [4 352/fc (320.9 μs) 9.1参照]+4 096/fc (302 μs)の倍数}±32/fc

Option̲flag (=1) と設定されている場合,VICCは,VCDからのEOFの受信を待たなければならず,そ

の受信を待って応答しなければならない。

フラグ

バイト

ブロック番号

8ビット

8ビット

64ビット

8ビット

16ビット

図20−Lock blockコマンドの形式

要求パラメタ:

UID(任意選択)

ブロック番号

フラグ

バイト

エラーコード

8ビット

8ビット

16ビット

図21−Error̲flag (=1) と設定されている場合のLock block応答

フラグ

バイト

8ビット

16ビット

図22−Error̲flag (=0) と設定されている場合のLock block応答

応答パラメタ:

エラーがあった場合,Error̲flag (=1)(表6参照)及びエラーコード(図21参照)

エラーがなかった場合,Error̲flag (=0)(図22参照)

10.4.4 Read Multiple Block(複数ブロック読取りコマンド)

コマンドコード=“23”

Read Multiple Blockコマンド(図23参照)を受信すると,VICCは,要求したブロックを読み出し,読

み出した値を応答に付けて返す。

Option̲flag (=1) と設定されている場合,VICCは,ブロック順に,ブロックセキュリティ状態に続いて

ブロック値を返さなければならない。

Option̲flag (=0) と設定されている場合,VICCは,ブロック値だけを返さなければならない。

ブロックは,“00”〜“FF”(0〜255)の番号が付けられる。

コマンドの中のブロック数は,VICCが応答しなければならないブロック数よりも一つ少ない。

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

25

X 6323-3:2011 (ISO/IEC 15693-3:2009)

例えば,“ブロック数”フィールドに“06”の値があると,7個のブロックを読み出す。“00”の場合,

単一のブロックを読み出す。

フラグ

バイト

最初の

ブロック番号

ブロック数

8ビット

8ビット

64ビット

8ビット

8ビット

16ビット

図23−Read Multiple Blockコマンドの形式

要求パラメタ:

UID(任意選択)

最初のブロック番号

ブロック数

フラグ

バイト

エラーコード

8ビット

8ビット

16ビット

図24−Error̲flag (=1) と設定されている場合のRead Multiple Block応答

フラグ

バイト

ブロックセキュリティ

状態

データ

8ビット

8ビット

ブロック長のビット数

16ビット

必要な回数繰り返す。

図25−Error̲flag (=0) と設定されている場合のRead Multiple Block応答

応答パラメタ:

エラーがあった場合,Error̲flag (=1)(表6参照)及びエラーコード(図24参照)

エラーがなかった場合,VICCの応答は次のように繰り返す(図25参照)。

Option̲flag (=1) と設定されているとき,

Error̲flag (=0),ブロックセキュリティ状態N及びブロック値N,

ブロックセキュリティ状態N+1及びブロック値N+1,

以下同様に…

Nは,最初に要求された(そして返される)ブロック値

Option̲flag (=0) と設定されているとき,

Error̲flag (=0),ブロック値N,

ブロック値N+1,

以下同様に…

10.4.5 Write Multiple Block(複数ブロック書込みコマンド)

コマンドコード=“24”

Write Multiple Blockコマンド(図26参照)を受信すると,VICCは,コマンドに含まれるデータを要求

したブロックに書き込み,応答において処理が完了したことを報告しなければならない。

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

26

X 6323-3:2011 (ISO/IEC 15693-3:2009)

Option̲flag (=0) と設定されている場合,VICCは,書込み動作を開始し,時間TW後に,書込み動作が

完了し,VCD要求のEOFの立上がりを検出してから遅くとも20 msまでに,応答を返さなければならな

い。

TW={t1nom [4 352/fc (320.9 μs) 9.1参照]+4 096/fc (302 μs)の倍数}±32/fc

Option̲flag (=1) と設定されている場合,VICCは,VCDからのEOFの受信を待たなければならず,そ

の受信を待って応答しなければならない。

ブロックは,“00”〜“FF”(0〜255)の番号が付けられる。

コマンドの中のブロック数は,VICCが応答しなければならないブロック数よりも一つ少ない。

例えば,“ブロック数”フィールドに“06”の値があると,7個のブロックを書き込む。“00”の場合,1

個のブロックを書き込む。データフィールドには1個のブロックの内容が含まれなければならない。

フラグ

バイト

最初の

ブロック

番号

ブロック

データ

8ビット

8ビット

64ビット

8ビット

8ビット

ブロック長の

ビット数

16ビット

必要な回数

繰り返す。

図26−Write Multiple Blockの形式

要求パラメタ:

UID(任意選択)

最初のブロック番号

ブロック数

ブロックデータ(図26に示すように繰り返す。)

フラグ

バイト

エラーコード

8ビット

8ビット

16ビット

図27−Error̲flag (=1) と設定されている場合のWrite Multiple Block応答

フラグ

バイト

8ビット

16ビット

図28−Error̲flag (=0) と設定されている場合のWrite Multiple Block応答

応答パラメタ:

エラーがあった場合,Error̲flag (=1)(表6参照)及びエラーコード(図27参照)

エラーがなかった場合,Error̲flag (=0)(図28参照)

10.4.6 Select(選択コマンド)

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

27

X 6323-3:2011 (ISO/IEC 15693-3:2009)

コマンドコード=“25”

Selectコマンドを(図29参照)受信すると,次のようになる。

− UIDが自身のUIDと一致している場合,VICCは,選択状態になり応答を返さなければならない。

− 一致していない場合,VICCは,Ready状態に戻り,応答を返してはならない。Selectコマンドは,常

にアドレス確定モードで実行される[Select̲flag (=0) と設定し,Address̲flag (=1) と設定する。]。

フラグ

バイト

8ビット

8ビット

64ビット

16ビット

図29−Selectコマンドの形式

要求パラメタ:

UID[必す(須)]

フラグ

バイト

エラーコード

8ビット

8ビット

16ビット

図30−Error̲flag (=1) と設定されている場合のSelect応答

フラグ

バイト

8ビット

16ビット

図31−Error̲flag (=0) と設定されている場合のSelect応答

応答パラメタ:

エラーがあった場合,Error̲flag (=1)(表6参照)及びエラーコード(図30参照)

エラーがなかった場合,Error̲flag (=0)(図31参照)

10.4.7 Reset to ready(可動設定コマンド)

コマンドコード=“26”

Reset to readyコマンド(図32参照)を受信すると,VICCは,準備完了状態に戻らなければならない。

フラグ

バイト

8ビット

8ビット

64ビット

16ビット

図32−Reset to readyコマンドの形式

要求パラメタ:

UID(任意選択)

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

28

X 6323-3:2011 (ISO/IEC 15693-3:2009)

フラグ

バイト

エラーコード

8ビット

8ビット

16ビット

図33−Error̲flag (=1) と設定されている場合のReset to ready応答

フラグ

バイト

8ビット

16ビット

図34−Error̲flag (=0) と設定されている場合のReset to ready応答

応答パラメタ:

エラーがあった場合,Error̲flag (=1)(表6参照)及びエラーコード(図33参照)

エラーがなかった場合,Error̲flag (=0)(図34参照)

10.4.8 Write AFI(AFI書込みコマンド)

コマンドコード=“27”

Write AFIコマンド(図35参照)を受信すると,VICCは,AFIデータをメモリに書き込まなければなら

ない。

Option̲flag (=0) と設定されている場合,VICCは,書込み動作を開始し,時間TW後に,書込み動作が

完了したときに,そしてVCD要求のEOFの立上がりを検出してから遅くとも20 msまでに,応答を返さ

なければならない。

TW={t1nom [4 352/fc (320.9 μs) 9.1参照]+4 096/fc (302 μs)の倍数}±32/fc

Option̲flag (=1) と設定されている場合,VICCは,VCDからのEOFの受信を待たなければならず,そ

の受信を待って応答しなければならない。

フラグ

バイト

8ビット

8ビット

64ビット

8ビット

16ビット

図35−Write AFIコマンドの形式

要求パラメタ:

UID(任意選択)

AFI

フラグ

バイト

エラーコード

8ビット

8ビット

16ビット

図36−Error̲flag (=1) と設定されている場合のWrite AFI応答

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

29

X 6323-3:2011 (ISO/IEC 15693-3:2009)

フラグ

バイト

8ビット

16ビット

図37−Error̲flag (=0) と設定されている場合のWrite AFI応答

応答パラメタ:

エラーがあった場合,Error̲flag (=1)(表6参照)及びエラーコード(図36参照)

エラーがなかった場合,Error̲flag (=0)(図37参照)

10.4.9 Lock AFI(AFI施錠コマンド)

コマンドコード=“28”

Lock AFIコマンド(図38参照)を受信すると,VICCは,AFIデータのメモリを施錠しなければならな

い。

Option̲flag (=0) と設定されている場合,VICCは,時間TW後,施錠動作が完了し,VCD要求のEOF

の立上がりを検出してから遅くとも20 msまでに,応答を返さなければならない。

TW={t1nom [4 352/fc (320.9 μs) 9.1参照]+4 096/fc (302 μs)の倍数}±32/fc

Option̲flag (=1) と設定されている場合,VICCは,VCDからのEOFの受信を待たなければならず,そ

の受信を待って応答しなければならない。

フラグ

バイト

8ビット

8ビット

64ビット

16ビット

図38−Lock AFIコマンドの形式

要求パラメタ:

UID(任意選択)

フラグ

バイト

エラーコード

8ビット

8ビット

16ビット

図39−Error̲flag (=1) と設定されている場合のLock AFI応答

フラグ

バイト

8ビット

16ビット

図40−Error̲flag (=0) と設定されている場合のLock AFI応答

応答パラメタ:

エラーがあった場合,Error̲flag (=1)(表6参照)及びエラーコード(図39参照)

エラーがなかった場合,Error̲flag (=0)(図40参照)

10.4.10 Write DSFID(DSFID書込みコマンド)

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

30

X 6323-3:2011 (ISO/IEC 15693-3:2009)

コマンドコード=“29”

Write DSFIDコマンド(図41参照)を受信すると,VICCは,DSFIDデータをメモリに書き込まなけれ

ばならない。

Option̲flag (=0) と設定されている場合,VICCは,書込み動作を開始し,時間TW後に,書込み動作が

完了し,VCD要求のEOFの立上がりを検出してから遅くとも20 msまでに,応答を返さなければならな

い。

TW={t1nom [4 352/fc (320.9 μs) 9.1参照]+4 096/fc (302 μs)の倍数}±32/fc

Option̲flag (=1) と設定されている場合,VICCは,VCDからのEOFの受信を待たなければならず,そ

の受信を待って応答しなければならない。

フラグ

バイト

8ビット

8ビット

64ビット

8ビット

16ビット

図41−Write DSFIDコマンドの形式

要求パラメタ:

UID(任意選択)

DSFID

フラグ

バイト

エラーコード

8ビット

8ビット

16ビット

図42−Error̲flag (=1) と設定されている場合のWrite DSFID応答

フラグ

バイト

8ビット

16ビット

図43−Error̲flag (=0) と設定されている場合のWrite DSFID応答

応答パラメタ:

エラーがあった場合,Error̲flag (=1)(表6参照)及びエラーコード(図42参照)

エラーがなかった場合,Error̲flag (=0)(図43参照)

10.4.11 Lock DSFID(DSFID施錠コマンド)

コマンドコード=“2A”

Lock DSFIDコマンド(図44参照)を受信すると,VICCは,DSFIDデータのメモリを施錠しなければ

ならない。

Option̲flag (=0) と設定されている場合,VICCは,時間TW後に,施錠動作が完了し,VCD要求のEOF

の立上がりを検出してから遅くとも20 msまでに,応答を返さなければならない。

TW={t1nom [4 352/fc (320.9 μs) 9.1参照]+4 096/fc (302 μs)の倍数}±32/fc

Option̲flag (=1) と設定されている場合,VICCは,VCDからのEOFの受信を待たなければならず,そ

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

31

X 6323-3:2011 (ISO/IEC 15693-3:2009)

の受信を待って応答しなければならない。

フラグ

バイト

8ビット

8ビット

64ビット

16ビット

図44−Lock DSFIDコマンドの形式

要求パラメタ:

UID(任意選択)

フラグ

バイト

エラーコード

8ビット

8ビット

16ビット

図45−Error̲flag (=1) と設定されている場合のLock DSFID応答

フラグ

バイト

8ビット

16ビット

図46−Error̲flag (=0) と設定されている場合のLock DSFID応答

応答パラメタ:

エラーがあった場合,Error̲flag (=1)(表6参照)及びエラーコード(図45参照)

エラーがなかった場合,Error̲flag (=0)(図46参照)

10.4.12 Get system information(システム情報取得コマンド)

コマンドコード=“2B”

Get system informationコマンド(図47参照)は,VICCからシステム情報取得を許す。

フラグ

バイト

8ビット

8ビット

64ビット

16ビット

図47−Get system informationコマンドの形式

要求パラメタ:

UID(任意選択)

フラグ

バイト

エラーコード

8ビット

8ビット

16ビット

図48−Error̲flag (=1) と設定されている場合のGet system information応答

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

32

X 6323-3:2011 (ISO/IEC 15693-3:2009)

フラグ

バイト

情報

フラグ

その他の

フィールド

8ビット

8ビット

64ビット

8ビット

8ビット

下記参照

16ビット

図49−Error̲flag (=0) と設定されている場合のGet system information応答

応答パラメタ:

エラーがあった場合,Error̲flag (=1)(表6参照)及びエラーコード(図48参照)

エラーがなかった場合,

Error̲flag (=0)

情報フラグ

UID[必す(須)]

情報フィールド:情報フラグが設定されている場合,図49及び表9に示すように,対応するフラグ

の順に並ぶ。

表9−情報フラグの内容

ビット

フラグ名

DSFIDは,採用されている。

DSFIDフィールドは,存在する。

AFIは,採用されていない。

AFIフィールドは,存在しない。

AFIは,採用されている。

AFIフィールドは,存在する。

VICCメモリサイズの情報(表10参照)は,採用されていない。

メモリサイズのフィールドは,存在しない。

VICCメモリサイズの情報は採用されている。

メモリサイズのフィールドは存在する。

IC参照情報は,採用されていない。

IC参照情報のフィールドは存在しない。

IC参照情報の情報は採用されている。

IC参照情報のフィールドは,存在する。

VICCメモリサイズ

内容

DSFIDは,採用されていない。

DSFIDフィールドは,存在しない。

IC参照情報

表10−VICCメモリサイズ情報

MSB

LSB

ブロックサイズ

ブロック数

ブロックサイズは,1ブロック当たりのバイト数を5ビットで表現し,32バイト,すなわち256ビット

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

33

X 6323-3:2011 (ISO/IEC 15693-3:2009)

まで設定できる。その値は,実際のバイト数より一つ少ない。

例えば,“1F”のときは,32バイトを示し,“00”は,1バイトを示す。

ブロック数は,8ビットで表現し,256ブロックまで設定できる。その値は,実際のブロック数より一つ

少ない。

例えば,“FF”のときは,256ブロックを示し,“00”は,1ブロックを示す。

上位3ビットは,RFUとして留保し,“0”に設定しなければならない。

IC参照情報は,8ビットで表現し,その内容は,IC製造業者が定める。

10.4.13 Get multiple block security status(複数ブロックセキュリティ状態取得コマンド)

コマンドコード=“2C”

Get multiple block security statusコマンド(図50参照)を受信すると,VICCは,ブロックセキュリティ

状態を返す。

ブロック数は,“00”〜“FF”(0〜255)とする。

コマンドの中のブロック数は,VICCが応答するブロック数よりも一つ少ない。

例えば,“ブロック数”フィールドに“06”の値があると,7個のブロックのセキュリティ状態を読み出

す。“ブロック数”フィールドが“00”の場合,単一のブロックセキュリティ状態を返す。

フラグ

バイト

最初の

ブロック番号

ブロック

8ビット

8ビット

64ビット

8ビット

8ビット

16ビット

図50−Get multiple block security statusコマンドの形式

要求パラメタ:

UID(任意選択)

最初のブロック番号

ブロック数

フラグ

バイト

エラーコード

8ビット

8ビット

16ビット

図51−Error̲flag (=1) と設定されている場合のGet multiple block security status応答

フラグ

バイト

8ビット

ブロックセキュリ

ティ状態

8ビット

16ビット

必要な回数

繰り返す

図52−Error̲flag (=0) と設定されている場合のGet multiple block security status応答

応答パラメタ:

エラーがあった場合,Error̲flag (=1)(表6参照)及びエラーコード(図51参照)

エラーがなかった場合,Error̲flag (=0) 及びブロックセキュリティ状態(図52に示すような繰返し)

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

34

X 6323-3:2011 (ISO/IEC 15693-3:2009)

10.5 製造業者設定コマンド

製造業者設定コマンドの形式(図53参照)は,一般的なもので,VICCの製造業者によって明確に情報

設定される。

製造業者設定コマンドコード(16ビット)は,Custom(VICC製造業者が設定するコマンドコード,表

8参照)とVICC製造業者が登録しているIC製造業者コードとの組合せとする。

製造業者設定コマンドのパラメタは,VICC製造業者が設定する。

フラグ

バイト

IC製造業者

コード

製造業者設定コマンド

パラメタ

8ビット

8ビット

8ビット

製造業者によって設定

16ビット

図53−製造業者設定コマンドの形式

要求パラメタ:

JIS X 6320-6:2006によるIC製造業者コード

フラグ

バイト

エラーコード

8ビット

8ビット

16ビット

図54−Error̲flag (=1) と設定されている場合の製造業者設定コマンドの応答

フラグ

バイト

製造業者設定コマンド応答のパラメタ

8ビット

製造業者が設定

16ビット

図55−Error̲flag (=0) と設定されている場合の製造業者設定コマンドの応答

応答パラメタ:

エラーがあった場合,Error̲flag (=1)(表6参照)及びエラーコード(図54参照)

エラーがなかった場合,Error̲flag (=0) 及び製造業者設定パラメタ(図55参照)

10.6 専用コマンド

このコマンドの形式は,この規格では規定しない。

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

35

X 6323-3:2011 (ISO/IEC 15693-3:2009)

附属書A

(参考)

他の規格との互換性

この規格は,他のカードに関する規格,例えば,JIS X 6320-2の規格及び参考文献に示す関連規格をVICC

に加えることを妨げない。

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

36

X 6323-3:2011 (ISO/IEC 15693-3:2009)

附属書B

(参考)

衝突防止用VCD擬似コード

次の斜体文字で記述されている擬似コードは,VCDの衝突防止の方法について示す。

衝突の検出方法については,示していない。

16スロットの場合のアルゴリズム

function push (mask, address)

; pushes on private stack

function pop (mask, address)

; pops from private stack

function pulse̲next̲pause

; generates a power pulse

function store(VICC̲UID)

; stores VICC̲UID

function poll̲loop (sub̲address̲size as integer)

; address length must be four (4) bits.

pop (mask, address)

mask = address & mask

; generates new mask

; send the Request

mode = anti-collision

send̲Request(Request̲cmd, mode, mask length, mask value)

for sub̲address = 0 to (2^sub̲address̲size - 1)

if no̲collision̲is̲detected then ; VICC is inventoried

store (VICC̲UID)

else

; remember a collision was detected

push(mask,address)

endif

pulse̲next̲pause

next sub̲address

; if some collisions have been detected and not yet processed,

; the function calls itself recursively to process the last

; stored collision

if stack̲not̲empty then poll̲loop (sub̲address̲size)

end poll̲loop

main̲cycle:

mask = null

address = null

push (mask, address)

poll̲loop(sub̲address̲size)

end̲main̲cycle

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

37

X 6323-3:2011 (ISO/IEC 15693-3:2009)

附属書C

(参考)

巡回冗長検査(CRC)

C.1 CRCエラー検出方法

巡回冗長検査(CRC)は,始めのフラグバイトからデータの終わりまで,メッセージ中の全てのデータ

について計算される。このCRCは,VCDからVICCへ,及びVICCからVCDへの伝送に使用される。

表C.1−CRCの規定

CRCの規定

CRCの型

ビット長

計算式

方向

初期値

余剰

16ビット

後方

シフトエラーから保護するために,計算されたCRCは,更に変換される。計算されたCRCについて1

の補数を求め,それを伝送するときのメッセージに付加する。

この変換は,次の例に含まれる。

受信したメッセージの検査をするために,よく使われる方法として,2バイトのCRCを含めてしばしば

再計算される。この場合,CRCの期待値は,余剰=“F0B8”となる。

次の斜体文字で示すテキスト文は,C言語で記述され,構成するメッセージをバイト単位で与えてCRC

を計算する一つの例とする。

#include <stdio.h>

#define POLYNOMIAL 0x8408

// x^16 + x^12 + x^5 + 1

#define PRESET̲VALUE 0xFFFF

#define CHECK̲VALUE 0xF0B8

#define NUMBER̲OF̲BYTES 4

#define CALC̲CRC

1

#define CHECK̲CRC

0

// Example: 4 data bytes

void main()

{

unsigned int current̲crc̲value;

unsigned char array̲of̲databytes[NUMBER̲OF̲BYTES + 2] = {1, 2, 3, 4, 0x91, 0x39};

int

number̲of̲databytes = NUMBER̲OF̲BYTES;

int

calculate̲or̲check̲crc;

int

i, j;

calculate̲or̲check̲crc = CALC̲CRC;

// calculate̲or̲check̲crc = CHECK̲CRC; // This could be an other example

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

38

X 6323-3:2011 (ISO/IEC 15693-3:2009)

if (calculate̲or̲check̲crc == CALC̲CRC)

{

number̲of̲databytes = NUMBER̲OF̲BYTES;

}

else // check CRC

{

number̲of̲databytes = NUMBER̲OF̲BYTES + 2;

}

current̲crc̲value = PRESET̲VALUE;

for (i = 0; i < number̲of̲databytes; i++)

{

current̲crc̲value = current̲crc̲value ^ ((unsigned int)array̲of̲databytes[i]);

for (j = 0; j < 8; j++)

{

if (current̲crc̲value & 0x0001)

{

current̲crc̲value = (current̲crc̲value >> 1) ^ POLYNOMIAL;

}

else

{

current̲crc̲value = (current̲crc̲value >> 1);

}

}

}

if (calculate̲or̲check̲crc == CALC̲CRC)

{

current̲crc̲value = ~current̲crc̲value;

printf ("CRC-ISO/IEC 13239 of { 1, 2, 3, 4 } is '3991'¥n");

printf ("Generated CRC is '%04X'¥n", current̲crc̲value);

printf ("The Least Significant Byte (transmitted first) is: '%02X'¥n",

current̲crc̲value & 0xFF);

printf( "The Most Significant Byte (transmitted second) is: '%02X'¥n",

(current̲crc̲value >> 8) & 0xFF);

printf( "Executing this program when CHECK̲CRC generates: 'F0B8'¥n");

// current̲crc̲value is now ready to be appended to the data stream

// (first LSByte, then MSByte)

}

else // check CRC

{

if (current̲crc̲value == CHECK̲VALUE)

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

39

X 6323-3:2011 (ISO/IEC 15693-3:2009)

{

printf ("Checked CRC is ok (0x%04X)¥n", current̲crc̲value);

}

else

{

printf ("Checked CRC is NOT ok (0x%04X)¥n", current̲crc̲value);

}

}

上のC言語プログラムを実行した結果は,次のようになる。

CRC-ISO/IEC 13239 of { 1, 2, 3, 4 } is '3991'

Generated CRC is '3991'

The Least Significant Byte (transmitted first) is: '91'

The Most Significant Byte (transmitted second) is: '39'

Executing this program when CHECK̲CRC generates: 'F0B8'

C.2 CRCの計算例

この例は,“0B”ブロックを読み取るためのRead single blockコマンドを参照している。

VCDによって選択された動作モードは,単一副搬送波,高速伝送速度及びアドレスモードとする。

VICCのUIDは,“E0 04 AB 89 67 45 23 01”とする。

要求パラメタのフィールド内容は,次のようになる。

− フラグバイト:“22”

− コマンドコード:“20”

− UID:“E0 04 AB 89 67 45 23 01” ここに,“E0”は,最上位バイト

− ブロック番号:“0B”

− CRC:“BAE3” ここに,“BA”は,最上位バイト

CRCは,計算された後,この規格に基づく伝送プロトコルに従って,要求パラメタフィールドに設定さ

れる。

“22”“20”“01”“23”“45”“67”“89”“AB”“04”“E0”“0B”

注記1 UIDは,最下位バイト側より先に伝送される。

注記2 表C.2は,各段階における計算結果を示す。

要求コマンドは,次のように伝送される。

SOF“22”“20”“01”“23”“45”“67”“89”“AB”“04”“E0”“0B”“E3”“BA”EOF

注記1 CRCは,最下位バイト側より先に伝送される。

注記2 各バイトは,最下位ビット側より先に伝送される。

page

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

40

X 6323-3:2011 (ISO/IEC 15693-3:2009)

表C.2−CRC計算の実例

段階

入力

VCDにおける

CRCの値

VICCにおける

CRCの検査値

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。

41

X 6323-3:2011 (ISO/IEC 15693-3:2009)

参考文献

[1] JIS X 6302(規格群) 識別カード−記録技術

注記 対応国際規格:ISO/IEC 7811 (all parts),Identification cards−Recording technique(MOD)

[2] JIS X 6320-1 識別カード−ICカード−第1部:外部端子付きICカードの物理的特性

注記 対応国際規格:ISO/IEC 7816-1:1998,Identification cards−Integrated circuit(s) cards with contacts

−Part 1: Physical characteristics及びAmendment 1:2003(IDT)

[3] JIS X 6320-2 識別カード−ICカード−第2部:外部端子付きICカードの端子の寸法及び位置

注記 対応国際規格:ISO/IEC 7816-2:2007,Identification cards−Integrated circuit cards−Part 2: Cards

with contacts−Dimensions and location of the contacts(IDT)

[4] JIS X 6305-7 識別カードの試験方法−第7部:非接触(外部端子なし)ICカード−近傍型

注記 対応国際規格:ISO/IEC 10373-7,Identification cards−Test methods−Part 7: Vicinity cards(IDT)

[5] ISO/IEC 7812-1:2006,Identification cards−Identification of issuers−Part 1: Numbering system

[6] ISO/IEC 7812-2:2007,Identification cards−Identification of issuers−Part 2: Application and registration

procedures

[7] ISO/IEC 7813:2006,Information technology−Identification cards−Financial transaction cards