X 6323-3:2011 (ISO/IEC 15693-3:2009)
(1)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
目 次
ページ
序文 ··································································································································· 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
X 6323-3:2011 (ISO/IEC 15693-3:2009) 目次
(2)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
ページ
10.6 専用コマンド ·············································································································· 34
附属書A(参考)他の規格との互換性 ····················································································· 35
附属書B(参考)衝突防止用VCD擬似コード ··········································································· 36
附属書C(参考)巡回冗長検査(CRC) ·················································································· 37
参考文献 ···························································································································· 41
X 6323-3:2011 (ISO/IEC 15693-3:2009)
(3)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
まえがき
この規格は,工業標準化法第14条によって準用する第12条第1項の規定に基づき,一般社団法人日本
ICカードシステム利用促進協議会(JICSAP)及び財団法人日本規格協会(JSA)から,工業標準原案を具
して日本工業規格を改正すべきとの申出があり,日本工業標準調査会の審議を経て,経済産業大臣が改正
した日本工業規格である。
これによって,JIS X 6323-3:2001は改正され,この規格に置き換えられた。
この規格は,著作権法で保護対象となっている著作物である。
この規格に従うことは,次の者の有する特許権等の使用に該当するおそれがあるので,留意する。
JP 2129209 非接触式応答ユニット
JP 2561051 非接触式応答ユニット
JP 2981517 非接触式応答ユニット
オムロン株式会社
京都府京都市右京区花園土堂町10番地
US 5793324
EP 831618
EP 837412
EP 845751
Texas Instruments Deutschland GMBH
TIRIS
Haggarty Strasse 1
8050 Freising
Germany
上記の,特許権等の権利者は,非差別的かつ合理的な条件でいかなる者に対しても当該特許権等の実施
の許諾等をする意思のあることを表明している。ただし,この規格に関連する他の特許権等の権利者に対
しては,同様の条件でその実施が許諾されることを条件としている。
この規格に従うことが,必ずしも,特許権の無償公開を意味するものではないことに注意する必要があ
る。
この規格の一部が,上記に示す以外の特許権等に抵触する可能性がある。経済産業大臣及び日本工業標
準調査会は,このような特許権等に関わる確認について,責任はもたない。
なお,ここで“特許権等”とは,特許権,出願公開後の特許出願又は実用新案権をいう。
JIS X 6323の規格群には,次に示す部編成がある。
JIS X 6323-1 第1部:物理的特性
JIS X 6323-2 第2部:電波インタフェース及び初期化
JIS X 6323-3 第3部:衝突防止及び伝送プロトコル
X 6323-3:2011 (ISO/IEC 15693-3:2009) 目次
(4)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
白 紙
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
2
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
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)]
3
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
4
データ要素の定義
4.1
固有識別子(UID)
複数のVICCは,64ビットのUIDによって個々に認識される。UIDは,衝突防止処理の間にVICCを個々
に特定し,その後,VCDとVICCとが一対一でデータを送受するために使う。
ICチップの製造業者は,図1に示すように,UIDを不変に設定しなければならない。
MSB
LSB
64 57
56 49
48 1
“E0”
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”でない場合は,製造業
者専用とする。
4
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表1−AFIのコード表
AFIの上位
4ビット
AFIの下位
4ビット
VICCの応用分野
例/参考
“0”
“0”
全分野
分野を特定しない。
X
“0”
X分野
広範囲に選択する。
X
Y
X分野のY小分類
“0”
Y
製造業者専用のY小分類に限定す
る。
“1”
“0”,Y
交通機関
大量輸送交通,バス及び航空機
“2”
“0”,Y
金融
銀行
“3”
“0”,Y
認識
アクセスコントロール
“4”
“0”,Y
電気通信
公衆電話及びGSM
“5”
“0”,Y
医療
“6”
“0”,Y
マルチメディア
インターネット
“7”
“0”,Y
ゲーム
“8”
“0”,Y
データ記憶
可搬型ファイル
“9”
“0”,Y
EAN-UCCが使用する。
ISO/IEC JTC1 /SC 31が管理する。
“A”
“0”,Y
ISO/IEC 15418で規定する
データ識別子
ISO/IEC JTC 1/SC 31が管理する。
“B”
“0”,Y
UPU(万国郵便番号)
ISO/IEC JTC 1/SC 31が管理する。
“C”
“0”,Y
IATA
ISO/IEC JTC 1が管理する。
“D”
“0”,Y
RFU
ISO/IEC JTC 1/SC 17が管理する。
“E”
“0”,Y
RFU
ISO/IEC JTC 1/SC 17が管理する。
“F”
“0”,Y
RFU
ISO/IEC JTC 1/SC 17が管理する。
注記 X=“1”〜“F”,Y=“1”〜“F”
VICCがAFIを採用することは,任意選択とする。
AFIを採用しないVICCにAFIフラグが設定されている場合,たとえ受付コマンドのAFI値が設定され
たAFIであったとしても,VICCは応答してはならない。
AFIを採用するVICCは,表1に示されるコード規則に従って応答しなければならない(図2参照)。
5
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
AFIフラグが設定
されているか?
AFI値 = VICC
の利用可能値?
AFI値 = 0か?
AFIフラグを
利用可能か?
受付コマンド受信
はい
いいえ
応答する。
いいえ
いいえ
はい
はい
はい
いいえ
応答しない。
応答する。
応答する。
応答しない。
注記 “応答”は,VICCが受付コマンドに対して応答することを意味する。
図2−VICCのAFI検出流れ図
4.3
データ記憶形式識別子(DSFID)
データ記憶形式識別子は,VICCのメモリの中でデータがどのように構成されているかを示す。
DSFIDは,相当するコマンドによって,使用可能に設定したり,使用停止に設定したりしてもよい。DSFID
は,1バイトで符号化する。これによってデータの論理構成を知る。
DSFIDを採用しない場合,VICCは,“00”を応答しなければならない。
4.4
CRC
CRCは,JIS X 5203の規定によって計算する。
6
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
初期値は,全ビット“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−ブロックセキュリティ状態
ビット番号
フラグ名
状態
内容
b1
Lock̲flag
(施錠フラグ)
0
施錠していない。
1
施錠している。
b2〜b8
RFU
0
7
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
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と
を比較する。
8
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
一致した場合,(可能ならば)コマンドを実行し,コマンドで定める応答を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参照)
SOF
フラグ
バイト
コマンドコード
パラメタ
データ
CRC
EOF
図4−要求コマンドの形式
7.3.1
要求コマンドフラグ
要求コマンドにおいて,フラグバイトのフィールドは,VICCが実行する内容及び関連フィールドが存
在するか否かを示す。フラグバイトは,8ビットで構成する(表3参照)。
表3−要求コマンドフラグのビット1〜4
ビット
フラグ名
値
内容
b1
Sub-carrier̲flag
(副搬送波フラグ)
0
VICCは,単一副搬送波を用いる。
1
VICCは,双副搬送波を用いる。
b2
Data̲rate̲flag
(伝送速度フラグ)
0
低速伝送
1
高速伝送
b3
Inventory̲flag
(受付フラグ)
0
b5〜b8の内容は,表4による。
1
b5〜b8の内容は,表5による。
b4
Protocol Extension̲flag
(拡張プロトコルフラグ)
0
拡張プロトコル形式を使用しない。
1
拡張プロトコル形式を使用する。RFUとする。
注記1 Sub-carrier̲flagは,JIS X 6323-2で規定している“VICCからVCDへの信号伝送”を参照する。
注記2 Data̲rate̲flagは,JIS X 6323-2で規定している“VICCからVCDへの信号伝送”を参照する。
9
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表4−Inventory̲flag(受付フラグ)が“0”の場合,要求コマンドフラグのビット5〜8
ビット
フラグ名
値
内容
b5
Select̲flag
(選択フラグ)
0
全てのVICCが,Address̲flagの内容によって実行する要
求コマンド
1
選択状態にあるVICCだけが実行する要求コマンド
Address̲flagは“0”に設定し,要求コマンドは,UIDを
含まない。
b6
Address̲flag
(アドレスフラグ)
0
VICCを指定しない。UIDは,含まない。全てのVICCが
実行する。
1
VICCを指定する。UIDを含む。UIDが一致したVICCだ
けが実行する。
b7
Option̲flag
(任意選択フラグ)
0
内容は,コマンドの箇条で規定する。規定されていない場
合,“0”に設定する。
1
内容は,コマンドの箇条で規定する。
b8
RFU
0
表5−Inventory̲flag(受付フラグ)が“1”の場合,要求コマンドフラグのビット5〜8
ビット
フラグ名
値
内容
b5
AFI̲flag
(AFIフラグ)
0
AFIフィールドなし
1
AFIフィールドあり
b6
Nb̲slots̲flag
(スロット数)
0
16スロット
1
1スロット
b7
Option̲flag
(任意選択フラグ)
0
内容は,コマンドの箇条で規定する。
規定されていない場合,“0”に設定する。
1
内容は,コマンドの箇条で規定する。
b8
RFU
0
7.4
応答形式
応答は,次の順に構成する(図5参照)。
− フラグバイト
− 一つ以上のパラメタフィールド
− データ
− CRC(4.4参照)
SOF
フラグ
バイト
パラメタ
データ
CRC
EOF
図5−応答形式
7.4.1
応答フラグ
応答において,フラグバイトのフィールドは,VICCの実行結果を示し,関連フィールドの有無を示す。
フラグバイトは,8ビットで構成する(表6参照)。
10
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表6−応答フラグの1〜8ビット
ビット
フラグ名
値
内容
b1
Error̲flag
(エラーフラグ)
0
エラーなし
1
エラーあり。“Error”フィールドの値は,エラーコード
とする。
b2
RFU
0
b3
RFU
0
b4
Extension̲flag
(拡張フラグ)
0
拡張プロトコル形式を使用しない。
1
拡張プロトコル形式を使用する。RFUとする。
b5
RFU
0
b6
RFU
0
b7
RFU
0
b8
RFU
0
7.4.2
応答エラーコード
応答においてVICCがError̲flag (=1) と設定した場合,エラーコードフィールドが含まれ,エラー情報
を示す。エラーコードの定義を表7に示す。
表7に示すエラーコードをVICCが採用しない場合,エラーコードとして“0F”(原因不明のエラー)を
返さなければならない。
表7−応答エラーコード
エラーコード
内容
“01”
採用していないコマンド。要求コマンドコードが認識できない。
“02”
認識されないコマンド。例えば,形式エラーが発生。
“03”
採用していない任意選択コマンド
“0F”
原因不明のエラー又は採用していないエラーコード
“10”
特定されたブロックが使えない(存在しない)。
“11”
特定されたブロックは,既に施錠されているため,再施錠できない。
“12”
特定されたブロックは,施錠されているため,内容の変更ができない。
“13”
特定されたブロックは,書込みが正常に完了しなかった。
“14”
特定されたブロックは,施錠が正常に完了しなかった。
“A0”〜“DF”
製造業者設定コマンドエラーコード
その他
RFU
7.5
VICC状態
VICCの状態は,次の4通りとする。
− Power-off(電源オフ状態)
− Ready(準備完了状態)
− Quiet(静止状態)
− Selected(選択状態)
この状態遷移を図6に示す。
Power-off状態,Ready状態及びQuiet状態は,必す(須)とする。
11
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
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が設定された要求を処理しなければならない。
12
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
Power-off 状態
Quiet状態
Selected 状態
Ready状態
Address̲flag ( =1 )と設定さ
れていて,かつ,
Inventory̲flag ( =0 )と設定さ
れているコマンド
他のコマンド
Quiet状態へ
(UID)
Selected状態へ
(UID)
Selected状態へ
(UID)
Reset to Ready
Select̲flag ( =1 )と設
定されている場合の
Reset to Ready コマ
ンド又はUIDが異な
るSelect コマンド
Quiet状態へ
(UID)
Select̲flag ( =0 )と設
定されているコマンド
動作磁界の中へ
動作磁界の外へ
動作磁界の外へ
動作磁界の外へ
注記1 状態の遷移の方向は,そのときSelected状態にあるVICCの一つに注目して示す。
注記2 VICCの状態遷移図は,有効な遷移だけを示す。その他の場合,現在のVICCの状態は,変化せずにとど(留)
まる。VICCがVCDの要求コマンドを実行できない場合も(例えば,CRCエラーなど),現在の状態にとど
(留)まる。
注記3 Selected状態が点線で囲まれているのは,VICCがこの状態を採用するかどうかが任意選択であることを示す
ためである。
図6−VICCの状態遷移図
8
衝突防止
衝突防止の目的は,VCDの発生する動作磁界領域にある複数のVICCの各々を,そのUIDで特定する
13
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
ことにある。
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参照)。
後続のフィールドは,次のバイトの区切りから開始する。
SOF
フラグ
バイト
コマンド
マスク長
マスク値
CRC16
EOF
8ビット
8ビット
8ビット
0〜8バイト
16ビット
図7−Inventoryコマンド形式
MSB
LSB
0000
0100 1100 1111
埋める
マスク値
図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に示す。
14
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
/* 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
endif
label1:
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
15
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
Inventoryコマンドで受信したマスク値
マスク長
埋める。
Inventoryコマンドは,マスク
値とその長さとを含む。マス
ク長を超える部分は"0"で埋
める。
スロットカウンタ
マスク値(埋め分を除く。)
スロット番号
"0"で埋めた部分を除いた
マスク値を比較器にロードす
る。
Inventoryコマンドを受信すると
VICCは,スロットカウンタを0に
リセットする。
EOFを受信するとVICCは,
スロットカウンタを1だけ進め
比較器にロードし,マスク値
(埋め分を除く)と連結する。
ユニークID(UID)
連結された結果とVICCの
UIDとをLSB側から比較する。
その結果が一致していたら,
VICCは,他の仕様(例えば,
AFI,Quiet状態)に基づき応答
を返す。
無視
比較
MSB
LSB
注記1 スロット数が1[Nb̲slots̲flag (=1)]の場合,マスク値(埋め込みなし)と比較する。
注記2 例えば,Inventoryコマンドのマスク長を0,スロット数を16とするなどし,スロット番号とマスク値とを連
結した比較データをユニークIDの最下位4ビットから順に一致させていくことで,複数のVICCの中から一
つのVICCを特定していく。
図9−マスク値,スロット番号及びUIDの比較
16
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
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に確定の要求コマンドを送ってもよい。
17
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
スロット 0
スロット1
VCD
SOF
VICCへ
受付コマンド送出 EOF
EOF
VICCs
VICC1から
応答送出
VICC2から
応答送出
VICC3から
応答送出
タイミング
t1
t2
t1
t2
コメント
衝突なし
衝突あり
時間
続き
スロット2
スロット 3
VCD
EOF
EOF
SOF
VICC 1へ
要求コマンド EOF
VICCs
VICC4から
応答送出
VICC 1から
応答送出
VICC5から
応答送出
タイミング
t3
t1
t2
t1
コメント
VICCの
応答なし
衝突あり
時間
注記 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の応答を同期させることを必要
18
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
とする。
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を経過したとき),
19
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
− 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 製造業者設定コマンド
20
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
コマンドコードの範囲は,“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−コマンドコード
コマンドコード
タイプ
機能
“01”
必す(須)
Inventory(受付コマンド)
“02”
必す(須)
Stay quiet(静止コマンド)
“03”〜“1F”
必す(須)
RFU
“20”
任意選択
Read single block(単一ブロック読取りコマンド)
“21”
任意選択
Write single block(単一ブロック書込みコマンド)
“22”
任意選択
Lock block(ブロック施錠コマンド)
“23”
任意選択
Read multiple blocks(複数ブロック読取りコマンド)
“24”
任意選択
Write multiple blocks(複数ブロック書込みコマンド)
“25”
任意選択
Select(選択コマンド)
“26”
任意選択
Reset to ready(可動設定コマンド)
“27”
任意選択
Write AFI(AFI書込みコマンド)
“28”
任意選択
Lock AFI(AFI施錠コマンド)
“29”
任意選択
Write DSFID(DSFID書込みコマンド)
“2A”
任意選択
Lock DSFID(DSFID施錠コマンド)
“2B”
任意選択
Get system information(システム情報取得コマンド)
“2C”
任意選択
Get multiple block security status(複数ブロックセキュリティ状態取得)
“2D”〜“9F”
任意選択
RFU
“A0”〜“DF”
製造業者設定
IC製造業者の仕様による。
“E0”〜“FF”
専用
IC製造業者の仕様による。
10.3 必す(須)コマンド
21
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
10.3.1 Inventory(受付コマンド)
コマンドコード=“01”
Inventoryコマンドを受けると,VICCは,衝突防止手順を実行する。
Inventoryコマンドの構成は,次のとおりとする(図11参照)。
− フラグバイト
− Inventoryコマンドコード
− AFI[AFI̲flag (=1) と設定されている場合]
− マスク長
− マスク値
− CRC
Inventory̲flag (=1) と設定される。
フラグビットの5〜8の意味は,表5による。
SOF
フラグ
バイト
Inventory
コマンド
任意選択
AFI
マスク長
マスク値
CRC16
EOF
8ビット
8ビット
8ビット
8ビット
0〜64ビット
16ビット
図11−Inventoryコマンドの形式
応答は,次のように構成する(図12参照)。
− DSFID
− 固有ID(UID)
VICCがエラーを検出した場合,沈黙のままでいる。
SOF
フラグ
バイト
DSFID
UID
CRC16
EOF
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状態になる。
22
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
SOF
フラグ
バイト
Stay quiet
コマンド
UID
CRC16
EOF
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は,ブロック値だけを返さなければならない。
SOF
フラグ
バイト
Read Single Block
コマンド
UID
ブロック番号
CRC16
EOF
8ビット
8ビット
64ビット
8ビット
16ビット
図14−Read Single Blockコマンドの形式
要求パラメタ:
UID(任意選択),
ブロック番号
SOF
フラグ
バイト
エラーコード
CRC16
EOF
8ビット
8ビット
16ビット
図15−Error̲flag (=1) と設定されている場合のRead Single Block応答
SOF
フラグ
バイト
ブロックセキュリティ状態
データ
(ブロック値)
CRC16
EOF
8ビット
8ビット
ブロック長の
ビット数
16ビット
図16−Error̲flag (=0) と設定されている場合のRead Single Block応答
応答パラメタ:
23
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
エラーがあった場合,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の受信を待たなければならず,そ
の受信を待って応答しなければならない。
SOF
フラグ
バイト
Write Single Block
コマンド
UID
ブロック
番号
データ
CRC16
EOF
8ビット
8ビット
64ビット
8ビット
ブロック長の
ビット数
16ビット
図17−Write Single Blockコマンドの形式
要求パラメタ:
UID(任意選択)
ブロック番号
データ
SOF
フラグ
バイト
エラーコード
CRC16
EOF
8ビット
8ビット
16ビット
図18−Error̲flag (=1) と設定されている場合のWrite Single Block応答
SOF
フラグ
バイト
CRC16
EOF
8ビット
16ビット
図19−Error̲flag (=0) と設定されている場合のWrite Single Block応答
応答パラメタ:
エラーがあった場合,Error̲flag (=1)(表6参照)及びエラーコード(図18参照)
エラーがなかった場合,Error̲flag (=0)(図19参照)
10.4.3 Lock block(ブロック施錠コマンド)
24
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
コマンドコード=“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の受信を待たなければならず,そ
の受信を待って応答しなければならない。
SOF
フラグ
バイト
Lock block
UID
ブロック番号
CRC16
EOF
8ビット
8ビット
64ビット
8ビット
16ビット
図20−Lock blockコマンドの形式
要求パラメタ:
UID(任意選択)
ブロック番号
SOF
フラグ
バイト
エラーコード
CRC16
EOF
8ビット
8ビット
16ビット
図21−Error̲flag (=1) と設定されている場合のLock block応答
SOF
フラグ
バイト
CRC16
EOF
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が応答しなければならないブロック数よりも一つ少ない。
25
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
例えば,“ブロック数”フィールドに“06”の値があると,7個のブロックを読み出す。“00”の場合,
単一のブロックを読み出す。
SOF
フラグ
バイト
Read Multiple
Block
UID
最初の
ブロック番号
ブロック数
CRC16
EOF
8ビット
8ビット
64ビット
8ビット
8ビット
16ビット
図23−Read Multiple Blockコマンドの形式
要求パラメタ:
UID(任意選択)
最初のブロック番号
ブロック数
SOF
フラグ
バイト
エラーコード
CRC16
EOF
8ビット
8ビット
16ビット
図24−Error̲flag (=1) と設定されている場合のRead Multiple Block応答
SOF
フラグ
バイト
ブロックセキュリティ
状態
データ
CRC16
EOF
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は,コマンドに含まれるデータを要求
したブロックに書き込み,応答において処理が完了したことを報告しなければならない。
26
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
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個のブロックの内容が含まれなければならない。
SOF
フラグ
バイト
Write
Multiple
Block
UID
最初の
ブロック
番号
ブロック
数
データ
CRC16
EOF
8ビット
8ビット
64ビット
8ビット
8ビット
ブロック長の
ビット数
16ビット
必要な回数
繰り返す。
図26−Write Multiple Blockの形式
要求パラメタ:
UID(任意選択)
最初のブロック番号
ブロック数
ブロックデータ(図26に示すように繰り返す。)
SOF
フラグ
バイト
エラーコード
CRC16
EOF
8ビット
8ビット
16ビット
図27−Error̲flag (=1) と設定されている場合のWrite Multiple Block応答
SOF
フラグ
バイト
CRC16
EOF
8ビット
16ビット
図28−Error̲flag (=0) と設定されている場合のWrite Multiple Block応答
応答パラメタ:
エラーがあった場合,Error̲flag (=1)(表6参照)及びエラーコード(図27参照)
エラーがなかった場合,Error̲flag (=0)(図28参照)
10.4.6 Select(選択コマンド)
27
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
コマンドコード=“25”
Selectコマンドを(図29参照)受信すると,次のようになる。
− UIDが自身のUIDと一致している場合,VICCは,選択状態になり応答を返さなければならない。
− 一致していない場合,VICCは,Ready状態に戻り,応答を返してはならない。Selectコマンドは,常
にアドレス確定モードで実行される[Select̲flag (=0) と設定し,Address̲flag (=1) と設定する。]。
SOF
フラグ
バイト
Select
UID
CRC16
EOF
8ビット
8ビット
64ビット
16ビット
図29−Selectコマンドの形式
要求パラメタ:
UID[必す(須)]
SOF
フラグ
バイト
エラーコード
CRC16
EOF
8ビット
8ビット
16ビット
図30−Error̲flag (=1) と設定されている場合のSelect応答
SOF
フラグ
バイト
CRC16
EOF
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は,準備完了状態に戻らなければならない。
SOF
フラグ
バイト
Reset to ready
UID
CRC16
EOF
8ビット
8ビット
64ビット
16ビット
図32−Reset to readyコマンドの形式
要求パラメタ:
UID(任意選択)
28
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
SOF
フラグ
バイト
エラーコード
CRC16
EOF
8ビット
8ビット
16ビット
図33−Error̲flag (=1) と設定されている場合のReset to ready応答
SOF
フラグ
バイト
CRC16
EOF
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の受信を待たなければならず,そ
の受信を待って応答しなければならない。
SOF
フラグ
バイト
Write AFI
UID
AFI
CRC16
EOF
8ビット
8ビット
64ビット
8ビット
16ビット
図35−Write AFIコマンドの形式
要求パラメタ:
UID(任意選択)
AFI
SOF
フラグ
バイト
エラーコード
CRC16
EOF
8ビット
8ビット
16ビット
図36−Error̲flag (=1) と設定されている場合のWrite AFI応答
29
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
SOF
フラグ
バイト
CRC16
EOF
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の受信を待たなければならず,そ
の受信を待って応答しなければならない。
SOF
フラグ
バイト
Lock AFI
UID
CRC16
EOF
8ビット
8ビット
64ビット
16ビット
図38−Lock AFIコマンドの形式
要求パラメタ:
UID(任意選択)
SOF
フラグ
バイト
エラーコード
CRC16
EOF
8ビット
8ビット
16ビット
図39−Error̲flag (=1) と設定されている場合のLock AFI応答
SOF
フラグ
バイト
CRC16
EOF
8ビット
16ビット
図40−Error̲flag (=0) と設定されている場合のLock AFI応答
応答パラメタ:
エラーがあった場合,Error̲flag (=1)(表6参照)及びエラーコード(図39参照)
エラーがなかった場合,Error̲flag (=0)(図40参照)
10.4.10 Write DSFID(DSFID書込みコマンド)
30
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
コマンドコード=“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の受信を待たなければならず,そ
の受信を待って応答しなければならない。
SOF
フラグ
バイト
Write DSFID
UID
DSFID
CRC16
EOF
8ビット
8ビット
64ビット
8ビット
16ビット
図41−Write DSFIDコマンドの形式
要求パラメタ:
UID(任意選択)
DSFID
SOF
フラグ
バイト
エラーコード
CRC16
EOF
8ビット
8ビット
16ビット
図42−Error̲flag (=1) と設定されている場合のWrite DSFID応答
SOF
フラグ
バイト
CRC16
EOF
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の受信を待たなければならず,そ
31
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
の受信を待って応答しなければならない。
SOF
フラグ
バイト
Lock DSFID
UID
CRC16
EOF
8ビット
8ビット
64ビット
16ビット
図44−Lock DSFIDコマンドの形式
要求パラメタ:
UID(任意選択)
SOF
フラグ
バイト
エラーコード
CRC16
EOF
8ビット
8ビット
16ビット
図45−Error̲flag (=1) と設定されている場合のLock DSFID応答
SOF
フラグ
バイト
CRC16
EOF
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からシステム情報取得を許す。
SOF
フラグ
バイト
Get system information
UID
CRC16
EOF
8ビット
8ビット
64ビット
16ビット
図47−Get system informationコマンドの形式
要求パラメタ:
UID(任意選択)
SOF
フラグ
バイト
エラーコード
CRC16
EOF
8ビット
8ビット
16ビット
図48−Error̲flag (=1) と設定されている場合のGet system information応答
32
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
SOF
フラグ
バイト
情報
フラグ
UID
DSFID
AFI
その他の
フィールド
CRC16
EOF
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−情報フラグの内容
ビット
フラグ名
値
内容
b1
DSFID
0
DSFIDは,採用されていない。
DSFIDフィールドは,存在しない。
1
DSFIDは,採用されている。
DSFIDフィールドは,存在する。
b2
AFI
0
AFIは,採用されていない。
AFIフィールドは,存在しない。
1
AFIは,採用されている。
AFIフィールドは,存在する。
b3
VICCメモリサイズ
0
VICCメモリサイズの情報(表10参照)は,採用されていない。
メモリサイズのフィールドは,存在しない。
1
VICCメモリサイズの情報は採用されている。
メモリサイズのフィールドは存在する。
b4
IC参照情報
0
IC参照情報は,採用されていない。
IC参照情報のフィールドは存在しない。
1
IC参照情報の情報は採用されている。
IC参照情報のフィールドは,存在する。
b5
RFU
0
b6
RFU
0
b7
RFU
0
b8
RFU
0
表10−VICCメモリサイズ情報
MSB
LSB
16 14
13 9
8 1
RFU
ブロックサイズ
ブロック数
ブロックサイズは,1ブロック当たりのバイト数を5ビットで表現し,32バイト,すなわち256ビット
33
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
まで設定できる。その値は,実際のバイト数より一つ少ない。
例えば,“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”の場合,単一のブロックセキュリティ状態を返す。
SOF
フラグ
バイト
Get multiple block
security status
UID
最初の
ブロック番号
ブロック
数
CRC16
EOF
8ビット
8ビット
64ビット
8ビット
8ビット
16ビット
図50−Get multiple block security statusコマンドの形式
要求パラメタ:
UID(任意選択)
最初のブロック番号
ブロック数
SOF
フラグ
バイト
エラーコード
CRC16
EOF
8ビット
8ビット
16ビット
図51−Error̲flag (=1) と設定されている場合のGet multiple block security status応答
SOF
フラグ
バイト
ブロックセキュリ
ティ状態
CRC16
EOF
8ビット
8ビット
16ビット
必要な回数
繰り返す
図52−Error̲flag (=0) と設定されている場合のGet multiple block security status応答
応答パラメタ:
エラーがあった場合,Error̲flag (=1)(表6参照)及びエラーコード(図51参照)
エラーがなかった場合,Error̲flag (=0) 及びブロックセキュリティ状態(図52に示すような繰返し)
34
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
10.5 製造業者設定コマンド
製造業者設定コマンドの形式(図53参照)は,一般的なもので,VICCの製造業者によって明確に情報
設定される。
製造業者設定コマンドコード(16ビット)は,Custom(VICC製造業者が設定するコマンドコード,表
8参照)とVICC製造業者が登録しているIC製造業者コードとの組合せとする。
製造業者設定コマンドのパラメタは,VICC製造業者が設定する。
SOF
フラグ
バイト
Custom
IC製造業者
コード
製造業者設定コマンド
の
パラメタ
CRC16
EOF
8ビット
8ビット
8ビット
製造業者によって設定
16ビット
図53−製造業者設定コマンドの形式
要求パラメタ:
JIS X 6320-6:2006によるIC製造業者コード
SOF
フラグ
バイト
エラーコード
CRC16
EOF
8ビット
8ビット
16ビット
図54−Error̲flag (=1) と設定されている場合の製造業者設定コマンドの応答
SOF
フラグ
バイト
製造業者設定コマンド応答のパラメタ
CRC16
EOF
8ビット
製造業者が設定
16ビット
図55−Error̲flag (=0) と設定されている場合の製造業者設定コマンドの応答
応答パラメタ:
エラーがあった場合,Error̲flag (=1)(表6参照)及びエラーコード(図54参照)
エラーがなかった場合,Error̲flag (=0) 及び製造業者設定パラメタ(図55参照)
10.6 専用コマンド
このコマンドの形式は,この規格では規定しない。
35
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書A
(参考)
他の規格との互換性
この規格は,他のカードに関する規格,例えば,JIS X 6320-2の規格及び参考文献に示す関連規格をVICC
に加えることを妨げない。
36
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書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
37
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書C
(参考)
巡回冗長検査(CRC)
C.1 CRCエラー検出方法
巡回冗長検査(CRC)は,始めのフラグバイトからデータの終わりまで,メッセージ中の全てのデータ
について計算される。このCRCは,VCDからVICCへ,及びVICCからVCDへの伝送に使用される。
表C.1−CRCの規定
CRCの規定
CRCの型
ビット長
計算式
方向
初期値
余剰
JIS X 5203
16ビット
X16+X12+X5+1=“8408”
後方
“FFFF”
“F0B8”
シフトエラーから保護するために,計算された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
// Example: 4 data bytes
#define CALC̲CRC
1
#define CHECK̲CRC
0
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
38
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
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)
39
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
{
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 各バイトは,最下位ビット側より先に伝送される。
40
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表C.2−CRC計算の実例
段階
入力
VCDにおける
CRCの値
VICCにおける
CRCの検査値
1
“22”
“F268”
“0D97”
2
“20”
“3EC6”
“C139”
3
“01”
“42F5”
“BD0A”
4
“23”
“4381”
“BC7E”
5
“45”
“7013”
“8FEC”
6
“67”
“C5AB”
“3A54”
7
“89”
“F2AD”
“0D52”
8
“AB”
“95BC”
“6A43”
9
“04”
“C92E”
“36D1”
10
“E0”
“DFC3”
“203C”
11
“0B”
“BAE3”
“451C”
12
“E3”
“0F3D”
13
“BA”
“F0B8”
41
X 6323-3:2011 (ISO/IEC 15693-3:2009)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
参考文献
[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