>サイトトップへ >このカテゴリの一覧へ

X 6323-3

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

(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)

ページ

10.6

  専用コマンド

34

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

35

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

36

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

37

参考文献

41


X 6323-3

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

(3)

まえがき

この規格は,工業標準化法第 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)

白      紙


日本工業規格

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 6301ISO/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)

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

記号

f

c

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


3

X 6323-3

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

4

データ要素の定義

4.1

固有識別子(UID

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

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

IC

チップの製造業者は,

図 に示すように,UID を不変に設定しなければならない。

MSB

LSB

64

       57

56

                 49

48

                                                                    1

“E0” IC 製造業者コード IC 製造業者シリアル番号

図 1UID の形式

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 ビットは,特別のコード又は応用分野識別子であり,

表 に示す。

AFI

の下位 4 ビットは,特別のコード又は小分類を表す。小分類コードは,

“0”でない場合は,製造業

者専用とする。


4

X 6323-3

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

表 1AFI のコード表

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 は,

表 に示されるコード規則に従って応答しなければならない(図 参照)。


5

X 6323-3

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

AFIフラグが設定

されているか?

AFI値 = VICC

の利用可能値?

AFI値 = 0か?

AFIフラグを

利用可能か?

受付コマンド受信

はい

いいえ

応答する。

いいえ

いいえ

はい

はい

はい

いいえ

応答しない。

応答する。

応答する。

応答しない。

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

図 2VICC の 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)

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

2

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

CRC

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

VCD

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

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

VICC

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

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

CRC

は,最下位バイトから送出する。各バイトデータも最下位ビットから送出する(

図 参照)。

LSByte MSByte

LSB

                                   MSB

LSB

                                   MSB

CRC 16

(8 ビット) CRC

16

(8 ビット)

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

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

5

VICC

のメモリ構成

VICC

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

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

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

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

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

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

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

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

6

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

VICC

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

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

バイトとする。

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

で構成する必要はない(

表 参照)。

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

ビット番号

フラグ名

状態

内容

0

施錠していない。

b1

Lock_flag

(施錠フラグ)

1

施錠している。

b2

∼b8 RFU  0


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 と

を比較する。


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

要求コマンド形式

要求コマンドは,次の順に構成する(

図 参照)。

−  フラグバイト

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

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

− CRC(4.4 参照)

SOF

フラグ

バイト

コマンドコード

パラメタ

データ CRC

EOF

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

7.3.1

要求コマンドフラグ

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

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

表 参照)。

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

ビット

フラグ名

内容

0 VICC

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

b1

Sub-carrier_flag

(副搬送波フラグ)

1 VICC

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

0

低速伝送

b2

Data_rate_flag

(伝送速度フラグ)

1

高速伝送

0 b5

∼b8 の内容は,

表 による。

b3

Inventory_flag

(受付フラグ)

1 b5

∼b8 の内容は,

表 による。

0

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

b4

Protocol Extension_flag

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

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)

表 4Inventory_flag(受付フラグ)が“0”の場合,要求コマンドフラグのビット 58

ビット

フラグ名

内容

0

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

求コマンド

b5

Select_flag

(選択フラグ)

1

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

Address_flag

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

含まない。

0

VICC

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

実行する。

b6

Address_flag

(アドレスフラグ)

1

VICC

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

けが実行する。

0

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

“0”に設定する。

b7

Option_flag

(任意選択フラグ)

1

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

b8 RFU

0

表 5Inventory_flag(受付フラグ)が“1”の場合,要求コマンドフラグのビット 58

ビット

フラグ名

内容

0 AFI

フィールドなし

b5

AFI_flag

(AFI フラグ)

1 AFI

フィールドあり

0 16

スロット

b6

Nb_slots_flag

(スロット数)

1 1

スロット

0

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

“0”に設定する。

b7

Option_flag

(任意選択フラグ)

1

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

b8 RFU

0

7.4

応答形式

応答は,次の順に構成する(

図 参照)。

−  フラグバイト

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

−  データ

− CRC(4.4 参照)

SOF

フラグ

バイト

パラメタ

データ CRC

EOF

図 5−応答形式

7.4.1

応答フラグ

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

フラグバイトは,8 ビットで構成する(

表 参照)。


10

X 6323-3

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

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

ビット

フラグ名

内容

0

エラーなし

b1

Error_flag

(エラーフラグ)

1

エラーあり。

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

とする。

b2 RFU

0

b3 RFU

0

0

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

b4

Extension_flag

(拡張フラグ)

1

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

b5 RFU

0

b6 RFU

0

b7 RFU

0

b8 RFU

0

7.4.2

応答エラーコード

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

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

表 に示す。

表 に示すエラーコードを 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(選択状態)

この状態遷移を

図 に示す。

Power-off

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


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 が設定された要求を処理しなければならない。


12

X 6323-3

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

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 がこの状態を採用するかどうかが任意選択であることを示す

ためである。

図 6VICC の状態遷移図

8

衝突防止

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


13

X 6323-3

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

ことにある。

VCD

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

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

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

8.1

要求パラメタ

Inventory

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

の後にマスク長とマスク値とを追加しなければならない(

図 参照)。

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

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

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

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

を“0”で埋める(

図 参照)。

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

SOF

フラグ

バイト

コマンド

マスク長

マスク値 CRC16 EOF

8

ビット

8

ビット

8

ビット

0

∼8 バイト 16 ビット

図 7Inventory コマンド形式

MSB LSB

0000

0100 1100 1111

埋める

マスク値

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

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

AFI_flag (

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

JIS X 6323-2

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

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

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

箇条 に規定する。

8.2

VICC

による要求コマンド処理

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

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

図 に示す。


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

 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)

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)

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)

スロット  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 については,箇条 参照

図 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)

とする。

t1

の最小値:t1min=4 320/f

c

 (318.6

μs)

t1

の標準値:t1nom=4 352/f

c

 (320.9

μs)

t1

の最大値:t1max=4 384/f

c

 (323.3

μs)

t1max

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

VICC

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

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

ければならない。

9.2

VCD

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

VICC

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

処理中にあるとき,VICC は,t

mit

の間に受信した 10 %変調を無視しなければならない[mit は modulation

ignore time

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

t

mit

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

t

mit

の最小値:t

mit

min

=4 384/f

c

 (323.3

μs)+t

nrt

ここで,t

nrt

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

t

nrt

は,VICC から VCD へのデータ伝送速度及び副搬送波の変調モードによる(JIS X 6323-2 の 8.58.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/f

c

 (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.28.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 の標

準応答時間 t

nrt

を経過したとき)


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/f

c

 (309.2

μs)とする。

t

nrt

は,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/f

c

 (323.3

μs)+t

sof

b) VCD

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

 t3

の最小値:t3min=4 384/f

c

 (323.3

μs)+t

nrt

ここで,

−  t

sof

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

−  t

nrt

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

t

nrt

及び t

sof

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

の 8.58.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)

コマンドコードの範囲は,

“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−コマンドコード

コマンドコード

タイプ

機能

“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)

10.3.1  Inventory

受付コマンド)

コマンドコード=“01”

Inventory

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

Inventory

コマンドの構成は,次のとおりとする(

図 11 参照)。

−  フラグバイト

− Inventory コマンドコード

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

−  マスク長

−  マスク値

− CRC

Inventory_flag (

=1)  と設定される。

フラグビットの 5∼8 の意味は,

表 による。

SOF

フラグ 
バイト

Inventory

コマンド

任意選択

AFI

マスク長

マスク値 CRC16

EOF

8

ビット

8

ビット

8

ビット

8

ビット

0

∼64 ビット 16 ビット

図 11Inventory コマンドの形式

応答は,次のように構成する(

図 12 参照)。

− DSFID

−  固有 ID(UID)

VICC

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

SOF

フラグ

バイト

DSFID UID CRC16

EOF

8

ビット

8

ビット 64 ビット 16 ビット

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

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)

SOF

フラグ 
バイト

Stay quiet

コマンド

UID CRC16

EOF

8

ビット

8

ビット 64 ビット 16 ビット

図 13Stay_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 ビット

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

要求パラメタ:

  UID(任意選択)

    ブロック番号

SOF

フラグ 
バイト

エラーコード CRC16  EOF

8

ビット

8

ビット 16 ビット

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

SOF

フラグ

バイト

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

データ

(ブロック値)

CRC16 EOF

8

ビット

8

ビット

ブロック長の

ビット数

16

ビット

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

応答パラメタ:


23

X 6323-3

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

  エラーがあった場合,Error_flag (=1)(

表 参照)及びエラーコード(図 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 は,書込み動作を開始し,時間 T

W

後に,書込み動作が

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

い。

T

W

={t1nom [4 352/f

c

 (320.9

μs) 9.1 参照]+4 096/f

c

 (302

μs)の倍数}±32/f

c

Option_flag (

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

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

SOF

フラグ 
バイト

Write Single Block

コマンド

UID

ブロック

番号

データ CRC16

EOF

8

ビット

8

ビット

64

ビット

8

ビット

ブロック長の

ビット数

16

ビット

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

要求パラメタ:

  UID(任意選択)

    ブロック番号

    データ

SOF

フラグ 
バイト

エラーコード CRC16 EOF

8

ビット

8

ビット 16 ビット

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

SOF

フラグ 
バイト

CRC16 EOF

8

ビット 16 ビット

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

応答パラメタ:

  エラーがあった場合,Error_flag (=1)(

表 参照)及びエラーコード(図 18 参照)

  エラーがなかった場合,Error_flag (=0)(

図 19 参照)

10.4.3  Lock block

ブロック施錠コマンド)


24

X 6323-3

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

コマンドコード=“22”

Lock block

コマンド(

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

ばならない。

Option_flag (

=0)  と設定されている場合,VICC は,時間 T

W

後に,施錠動作が完了し,VCD 要求の EOF

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

T

W

={t1nom [4 352/f

c

 (320.9

μs) 9.1 参照]+4 096/f

c

 (302

μs)の倍数}±32/f

c

Option_flag (

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

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

SOF

フラグ 
バイト

Lock block

UID

ブロック番号 CRC16 EOF

8

ビット

8

ビット

64

ビット

8

ビット 16 ビット

図 20Lock block コマンドの形式

要求パラメタ:

  UID(任意選択)

    ブロック番号

SOF

フラグ 
バイト

エラーコード CRC16  EOF

8

ビット

8

ビット 16 ビット

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

SOF

フラグ 
バイト

CRC16 EOF

8

ビット 16 ビット

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

応答パラメタ:

  エラーがあった場合,Error_flag (=1)(

表 参照)及びエラーコード(図 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)

例えば,

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

“00”の場合,

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

SOF

フラグ 
バイト

Read Multiple

Block

UID

最初の

ブロック番号

ブロック数 CRC16 EOF

8

ビット

8

ビット

64

ビット

8

ビット

8

ビット 16 ビット

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

要求パラメタ:

  UID(任意選択)

    最初のブロック番号

    ブロック数

SOF

フラグ 
バイト

エラーコード CRC16  EOF

8

ビット

8

ビット 16 ビット

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

SOF

フラグ

バイト

ブロックセキュリティ

状態

データ CRC16

EOF

8

ビット

8

ビット

ブロック長のビット数 16 ビット

必要な回数繰り返す。

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

応答パラメタ:

  エラーがあった場合,Error_flag (=1)(

表 参照)及びエラーコード(図 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)

Option_flag (

=0)  と設定されている場合,VICC は,書込み動作を開始し,時間 T

W

後に,書込み動作が

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

い。

T

W

={t1nom [4 352/f

c

 (320.9

μs) 9.1 参照]+4 096/f

c

 (302

μs)の倍数}±32/f

c

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

ビット

必要な回数 
繰り返す。

図 26Write Multiple Block の形式

要求パラメタ:

  UID(任意選択)

  最初のブロック番号

    ブロック数

    ブロックデータ(

図 26 に示すように繰り返す。)

SOF

フラグ 
バイト

エラーコード CRC16  EOF

8

ビット

8

ビット 16 ビット

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

SOF

フラグ 
バイト

CRC16 EOF

8

ビット 16 ビット

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

応答パラメタ:

  エラーがあった場合,Error_flag (=1)(

表 参照)及びエラーコード(図 27 参照)

  エラーがなかった場合,Error_flag (=0)(

図 28 参照)

10.4.6  Select

選択コマンド)


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)  と設定する。

SOF

フラグ 
バイト

Select UID

CRC16

EOF

8

ビット

8

ビット 64 ビット 16 ビット

図 29Select コマンドの形式

要求パラメタ:

  UID[必す(須)

SOF

フラグ

バイト

エラーコード CRC16  EOF

8

ビット

8

ビット 16 ビット

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

SOF

フラグ 
バイト

CRC16 EOF

8

ビット 16 ビット

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

応答パラメタ:

  エラーがあった場合,Error_flag (=1)(

表 参照)及びエラーコード(図 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 ビット

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

要求パラメタ:

  UID(任意選択)


28

X 6323-3

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

SOF

フラグ 
バイト

エラーコード CRC16  EOF

8

ビット

8

ビット 16 ビット

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

SOF

フラグ

バイト

CRC16 EOF

8

ビット 16 ビット

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

応答パラメタ:

  エラーがあった場合,Error_flag (=1)(

表 参照)及びエラーコード(図 33 参照)

  エラーがなかった場合,Error_flag (=0)(

図 34 参照)

10.4.8  Write AFI

AFI

書込みコマンド)

コマンドコード=“27”

Write AFI

コマンド(

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

ない。

Option_flag (

=0)  と設定されている場合,VICC は,書込み動作を開始し,時間 T

W

後に,書込み動作が

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

なければならない。

T

W

={t1nom [4 352/f

c

 (320.9

μs) 9.1 参照]+4 096/f

c

 (302

μs)の倍数}±32/f

c

Option_flag (

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

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

SOF

フラグ

バイト

Write AFI

UID AFI

CRC16

EOF

8

ビット

8

ビット

64

ビット

8

ビット 16 ビット

図 35Write AFI コマンドの形式

要求パラメタ:

  UID(任意選択)

  AFI

SOF

フラグ

バイト

エラーコード CRC16 EOF

8

ビット

8

ビット 16 ビット

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


29

X 6323-3

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

SOF

フラグ 
バイト

CRC16 EOF

8

ビット 16 ビット

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

応答パラメタ:

  エラーがあった場合,Error_flag (=1)(

表 参照)及びエラーコード(図 36 参照)

  エラーがなかった場合,Error_flag (=0)(

図 37 参照)

10.4.9  Lock AFI

AFI

施錠コマンド)

コマンドコード=“28”

Lock AFI

コマンド(

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

い。

Option_flag (

=0)  と設定されている場合,VICC は,時間 T

W

後,施錠動作が完了し,VCD 要求の EOF

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

T

W

={t1nom [4 352/f

c

 (320.9

μs) 9.1 参照]+4 096/f

c

 (302

μs)の倍数}±32/f

c

Option_flag (

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

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

SOF

フラグ 
バイト

Lock AFI

UID CRC16

EOF

8

ビット

8

ビット

64

ビット 16 ビット

図 38Lock AFI コマンドの形式

要求パラメタ:

  UID(任意選択)

SOF

フラグ 
バイト

エラーコード CRC16 EOF

8

ビット

8

ビット 16 ビット

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

SOF

フラグ 
バイト

CRC16 EOF

8

ビット 16 ビット

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

応答パラメタ:

  エラーがあった場合,Error_flag (=1)(

表 参照)及びエラーコード(図 39 参照)

  エラーがなかった場合,Error_flag (=0)(

図 40 参照)

10.4.10

  Write DSFIDDSFID 書込みコマンド)


30

X 6323-3

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

コマンドコード=“29”

Write DSFID

コマンド(

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

ばならない。

Option_flag (

=0)  と設定されている場合,VICC は,書込み動作を開始し,時間 T

W

後に,書込み動作が

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

い。

T

W

={t1nom [4 352/f

c

 (320.9

μs) 9.1 参照]+4 096/f

c

 (302

μs)の倍数}±32/f

c

Option_flag (

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

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

SOF

フラグ 
バイト

Write DSFID

UID DSFID

CRC16

EOF

8

ビット

8

ビット

64

ビット

8

ビット 16 ビット

図 41Write DSFID コマンドの形式

要求パラメタ:

  UID(任意選択)

  DSFID

SOF

フラグ 
バイト

エラーコード CRC16  EOF

8

ビット

8

ビット 16 ビット

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

SOF

フラグ

バイト

CRC16 EOF

8

ビット 16 ビット

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

応答パラメタ:

  エラーがあった場合,Error_flag (=1)(

表 参照)及びエラーコード(図 42 参照)

  エラーがなかった場合,Error_flag (=0)(

図 43 参照)

10.4.11

  Lock DSFIDDSFID 施錠コマンド)

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

Lock DSFID

コマンド(

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

ならない。

Option_flag (

=0)  と設定されている場合,VICC は,時間 T

W

後に,施錠動作が完了し,VCD 要求の EOF

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

T

W

={t1nom [4 352/f

c

 (320.9

μs) 9.1 参照]+4 096/f

c

 (302

μs)の倍数}±32/f

c

Option_flag (

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


31

X 6323-3

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

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

SOF

フラグ

バイト

Lock DSFID

UID CRC16

EOF

8

ビット

8

ビット

64

ビット 16 ビット

図 44Lock DSFID コマンドの形式

要求パラメタ:

  UID(任意選択)

SOF

フラグ 
バイト

エラーコード CRC16 EOF

8

ビット

8

ビット 16 ビット

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

SOF

フラグ

バイト

CRC16 EOF

8

ビット 16 ビット

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

応答パラメタ:

  エラーがあった場合,Error_flag (=1)(

表 参照)及びエラーコード(図 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 ビット

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

要求パラメタ:

  UID(任意選択)

SOF

フラグ 
バイト

エラーコード CRC16 EOF

8

ビット

8

ビット 16 ビット

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


32

X 6323-3

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

SOF

フラグ 
バイト

情報

フラグ

UID

DSFID

AFI

その他の

フィールド

CRC16 EOF

8

ビット

8

ビット 64 ビット

8

ビット

8

ビット

下記参照 16 ビット

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

応答パラメタ:

  エラーがあった場合,Error_flag (=1)(

表 参照)及びエラーコード(図 48 参照)

  エラーがなかった場合,

    Error_flag (=0)

    情報フラグ

    UID[必す(須)

    情報フィールド:情報フラグが設定されている場合,

図 49 及び表 に示すように,対応するフラグ

の順に並ぶ。

表 9−情報フラグの内容

ビット

フラグ名

内容

0

DSFID

は,採用されていない。

DSFID

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

b1 DSFID

1

DSFID

は,採用されている。

DSFID

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

0

AFI

は,採用されていない。

AFI

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

b2 AFI

1

AFI

は,採用されている。

AFI

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

0

VICC

メモリサイズの情報(

表 10 参照)は,採用されていない。

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

b3 VICC

メモリサイズ

1

VICC

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

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

0

IC

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

IC

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

b4 IC

参照情報

1

IC

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

IC

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

b5 RFU 0

b6 RFU 0

b7 RFU 0

b8 RFU 0

表 10VICC メモリサイズ情報

MSB

LSB

16

              14 13                      9

8

                                                1

RFU

ブロックサイズ

ブロック数

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


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”の場合,単一のブロックセキュリティ状態を返す。

SOF

フラグ 
バイト

Get multiple block

security status

UID

最初の

ブロック番号

ブロック

CRC16 EOF

8

ビット

8

ビット

64

ビット

8

ビット

8

ビット 16 ビット

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

要求パラメタ:

  UID(任意選択)

  最初のブロック番号

    ブロック数

SOF

フラグ

バイト

エラーコード CRC16 EOF

8

ビット

8

ビット 16 ビット

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

SOF

フラグ 
バイト

ブロックセキュリ

ティ状態

CRC16 EOF

8

ビット

8

ビット 16 ビット

必要な回数

繰り返す

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

応答パラメタ:

  エラーがあった場合,Error_flag (=1)(

表 参照)及びエラーコード(図 51 参照)

  エラーがなかった場合,Error_flag (=0)  及びブロックセキュリティ状態(

図 52 に示すような繰返し)


34

X 6323-3

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

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 ビット

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

SOF

フラグ 
バイト

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

EOF

8

ビット

製造業者が設定 16 ビット

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

応答パラメタ:

  エラーがあった場合,Error_flag (=1)(

表 参照)及びエラーコード(図 54 参照)

  エラーがなかった場合,Error_flag (=0)  及び製造業者設定パラメタ(

図 55 参照)

10.6

専用コマンド

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


35

X 6323-3

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

附属書 A

参考)

他の規格との互換性

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

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


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 


37

X 6323-3

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

附属書 C 

参考)

巡回冗長検査(CRC)

C.1

CRC

エラー検出方法

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

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

表 C.1CRC の規定

CRC

の規定

CRC

の型

ビット長

計算式

方向

初期値

余剰

JIS X 5203 

16

ビット

X

16

+X

12

+X

5

+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   

#define CHECK_CRC 

 

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)

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)

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)

表 C.2CRC 計算の実例

段階

入力

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)

参考文献

[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