(57)【特許請求の範囲】
【請求項１】
外部機器と非接触通信を行うＩＣカードであって、
前記外部機器から送信された初期応答要求コマンドを受信する受信部と、
前記受信部により受信された前記初期応答要求コマンドを解析し、前記初期応答要求コマンドにより示されたアンチコリジョンのための複数のスロットを認識する解析部と、
前記初期応答要求コマンドに対するレスポンスを生成するコマンド処理部と、
前記外部機器との最後の非接触通信時にコリジョンが生じなかったことを示すフラグを記憶する不揮発性メモリと、
前記不揮発性メモリにより前記フラグが記憶されている場合、前記解析部により認識した複数のスロットのうちの最初のスロットを選択する第１のスロット選択部と、
前記不揮発性メモリにより前記フラグが記憶されていない場合、前記解析部により認識した複数のスロットのうちの１つを選択する第２のスロット選択部と、
前記第１のスロット選択部または第２のスロット選択部により選択されたスロットで前記コマンド処理部により生成された前記レスポンスを前記外部機器に送信する送信部と、
前記送信部により前記レスポンスを前記外部機器に送信する際の前記コリジョンを検出し、前記コリジョンが検出されなかった場合、前記フラグを前記不揮発性メモリに書き込み、前記コリジョンが検出された場合、前記不揮発性メモリにより記憶されている前記フラグを削除するコリジョン検出部と、
を具備し、
前記コリジョン検出部は、前記初期応答要求コマンドを複数回受信した場合、前記コリジョンを検出するＩＣカード。
【請求項２】
前記コリジョン検出部は、前記解析部により認識したスロットの数が複数である場合、前記コリジョンを検出する請求項１に記載のＩＣカード。
【請求項３】
前記第２のスロット選択部は、乱数を生成し、生成した前記乱数に基づいて、前記解析部により認識した複数のスロットのうちの１つを選択する請求項１に記載のＩＣカード。
【請求項４】
前記不揮発性メモリは、前記外部機器から受信したコマンドに応じて前記フラグを書き換える請求項１に記載のＩＣカード。
【請求項５】
前記各部を備えるＩＣモジュールと、
前記ＩＣモジュールが配設される本体と、
を具備する請求項１に記載のＩＣカード。
【請求項６】
不揮発性メモリを具備し、外部機器と非接触通信を行うＩＣカードの制御方法であって、
前記外部機器から送信された初期応答要求コマンドを受信し、
前記初期応答要求コマンドを解析し、前記初期応答要求コマンドにより示されたアンチコリジョンのための複数のスロットを認識し、
前記初期応答要求コマンドに対するレスポンスを生成し、
前記外部機器との最後の非接触通信時にコリジョンが生じなかったことを示すフラグが前記不揮発性メモリにより記憶されているか否か判定し、
前記不揮発性メモリにより前記フラグが記憶されている場合、認識した複数のスロットのうちの最初のスロットを選択し、
前記不揮発性メモリにより前記フラグが記憶されていない場合、認識した複数のスロットのうちの１つを選択し、
選択されたスロットで前記レスポンスを前記外部機器に送信する、
前記初期応答要求コマンドを複数回受信した場合、前記レスポンスを前記外部機器に送信する際の前記コリジョンを検出し、
前記コリジョンが検出されなかった場合、前記フラグを前記不揮発性メモリに書き込み、前記コリジョンが検出された場合、前記不揮発性メモリにより記憶されている前記フラグを削除するＩＣカードの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣカード、及びＩＣカードの制御方法に関する。
【背景技術】
【０００２】
一般的に、ＩＣカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたＩＣモジュールとを備えている。ＩＣモジュールは、ＩＣチップを有している。ＩＣチップは、電源が無い状態でもデータを保持することができるＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）またはフラッシュＲＯＭなどの不揮発性メモリと、種々の演算を実行するＣＰＵとを有している。
【０００３】
ＩＣカードは、例えば、国際標準規格ＩＳＯ／ＩＥＣ７８１６、及びＩＳＯ／ＩＥＣ１４４４３に準拠したＩＣカードである。ＩＣカードは、携帯性に優れ、且つ、外部装置との通信及び複雑な演算処理を行う事ができる。また、偽造が難しい為、ＩＣカードは、機密性の高い情報などを格納してセキュリティシステム、電子商取引などに用いられることが想定される。
【０００４】
また、近年、非接触通信によりデータの送受信を行うことができるＩＣカードが一般的に普及している。上記したような非接触通信を行うＩＣカードは、ＩＣチップとアンテナとを備えている。ＩＣカードは、ＩＣカードを処理するＩＣカード処理装置のリーダライタから発せられる磁界を受けて、カード内のアンテナを電磁誘導により起電させることにより動作する。また、ＩＣカードは、非接触通信により処理装置からコマンドを受信した場合、受信したコマンドに応じてアプリケーションを実行する。これにより、ＩＣカードは、種々の機能を実現することができる。
【０００５】
ＩＣカードの処理装置は、標準の通信速度で、無線通信により初期応答要求コマンドを送信する。ＩＣカードは、初期応答要求コマンドを受信する場合、初期応答要求コマンドに対するレスポンス（初期応答）を生成し、生成したレスポンスを処理装置に送信する。処理装置は、レスポンスを受け取ることにより、通信可能範囲にＩＣカードが存在することを認識することができる。
【０００６】
また、処理装置は、通信可能範囲内に存在する複数枚のＩＣカードを認識する為に、アンチコリジョンを行う。この場合、処理装置は、複数の時間枠（スロット）を設定し、ＩＣカードに対して初期応答要求コマンド及びアンチコリジョンのコマンドを送信する。ＩＣカードは、乱数を生成し、乱数に応じてスロットを選択し、選択したスロットで初期応答要求コマンドに対するレスポンスをＩＣカードの処理装置に送信する。これにより、処理装置は、ＩＣカードからレスポンスを受信することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−２０３２１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、処理装置の通信可能範囲内にＩＣカードが一枚しか存在しない状態でアンチコリジョンのコマンドを受信した場合、ＩＣカードは、アンチコリジョンを行う。即ち、ＩＣカードは、乱数を生成し、乱数に応じてスロットを選択し、選択したスロットで初期応答要求コマンドに対するレスポンスをＩＣカードの処理装置に送信する。この為、例えば最初以外のスロットを選択した場合にレスポンスの送信が遅れる可能性があるという課題がある。
【０００９】
そこで、より速く非接触通信を行う事ができるＩＣカード、及びＩＣカードの制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
一実施形態に係るＩＣカードは、外部機器と非接触通信を行うＩＣカードであって、前記外部機器から送信された初期応答要求コマンドを受信する受信部と、前記受信部により受信された前記初期応答要求コマンドを解析し、前記初期応答要求コマンドにより示されたアンチコリジョンのための複数のスロットを認識する解析部と、前記初期応答要求コマンドに対するレスポンスを生成するコマンド処理部と、前記外部機器との最後の非接触通信時にコリジョンが生じなかったことを示すフラグを記憶する不揮発性メモリと、前記不揮発性メモリにより前記フラグが記憶されている場合、前記解析部により認識した複数のスロットのうちの最初のスロットを選択する第１のスロット選択部と、前記不揮発性メモリにより前記フラグが記憶されていない場合、前記解析部により認識した複数のスロットのうちの１つを選択する第２のスロット選択部と、前記第１のスロット選択部または第２のスロット選択部により選択されたスロットで前記コマンド処理部により生成された前記レスポンスを前記外部機器に送信する送信部と、前記送信部により前記レスポンスを前記外部機器に送信する際の前記コリジョンを検出し、前記コリジョンが検出されなかった場合、前記フラグを前記不揮発性メモリに書き込み、前記コリジョンが検出された場合、前記不揮発性メモリにより記憶されている前記フラグを削除するコリジョン検出部と、を具備し、前記コリジョン検出部は、前記初期応答要求コマンドを複数回受信した場合、前記コリジョンを検出する。
【図面の簡単な説明】
【００１１】
【図１】図１は、一実施形態に係るＩＣカード処理システムについて説明するための図である。
【図２】図２は、一実施形態に係るＩＣカードについて説明するための図である。
【図３】図３は、一実施形態に係るＩＣカード処理システムについて説明するための図である。
【図４】図４は、一実施形態に係るＩＣカード処理システムについて説明するための図である。
【図５】図５は、一実施形態に係るＩＣカード処理システムについて説明するための図である。
【図６】図６は、一実施形態に係るＩＣカード処理システムについて説明するための図である。
【図７】図７は、一実施形態に係るＩＣカード処理システムについて説明するための図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら、一実施形態に係るＩＣカード、ＩＣカードの処理装置、及びＩＣカードの処理システムについて詳細に説明する。
【００１３】
本実施形態に係るＩＣカード２０及びＩＣカードを処理する処理装置（端末装置）１０は、例えば、ＩＳＯ／ＩＥＣ１４４４３などにより規定されている非接触通信の機能を備える。これにより、ＩＣカード２０及び端末装置１０は、互いにデータの送受信を行うことができる。
【００１４】
図１は、一実施形態に係るＩＣカード処理システム１の構成例を示す。  
ＩＣカード処理システム１は、ＩＣカード２０を処理する端末装置１０と、ＩＣカード２０と、を備える。端末装置１０とＩＣカード２０とは、上記したように非接触通信により互いに種々のデータを送受信する。
【００１５】
端末装置１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、送受信部１５、共振部１６、ロジック部１７、上位インターフェース１８、及び電源部１９を備える。ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、送受信部１５、共振部１６、ロジック部１７、及び上位インターフェース１８は、それぞれバスを介して互いに接続されている。
【００１６】
ＣＰＵ１１は、端末装置１０全体の制御を司る制御部として機能する。ＣＰＵ１１は、ＲＯＭ１２又は不揮発性メモリ１４に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、ＣＰＵ１１は、送受信部１５及び共振部１６を介してＩＣカード２０とコマンド及びレスポンスの送受信を行う。
【００１７】
ＲＯＭ１２は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＡＭ１３は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ１３は、ＣＰＵ１１の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ１３は、送受信部１５及び共振部１６を介して外部の機器と送受信するデータを一時的に格納する。また、ＲＡＭ１３は、ＣＰＵ１１が実行するプログラムを一時的に格納する。
【００１８】
不揮発性メモリ１４は、例えばＥＥＰＲＯＭ、ＦＲＡＭなどを備える。不揮発性メモリ１４は、例えば、制御用のプログラム、制御データ、アプリケーション、及びアプリケーションに用いられるデータなどを記憶する。
【００１９】
送受信部１５及び共振部１６は、ＩＣカード２０と通信を行うためのインターフェース装置である。
【００２０】
送受信部１５は、共振部１６により送受信するデータに対して信号処理を施す。例えば、送受信部１５は、符号化、復号、変調、及び復調を行なう。送受信部１５は、符号化及び変調を施したデータを共振部１６に供給する。
【００２１】
共振部１６は、例えば所定の共振周波数を有するアンテナを有する。共振部１６は、送受信部１５から供給されるデータに応じて磁界を発生させる。これにより、端末装置１０は、通信可能範囲に存在するＩＣカード２０に対してデータを非接触で送信することができる。
【００２２】
また、共振部１６は、磁界を検知し、検知した磁界に応じてデータを生成する。これにより、共振部１６は、データを非接触で受信することができる。共振部１６は、受信したデータを送受信部１５に供給する。送受信部１５は、共振部１６により受信したデータに対して復調及び復号を行う。これにより、端末装置１０は、ＩＣカード２０から送信された元のデータを取得することができる。
【００２３】
ロジック部１７は、所定の演算処理を行う。例えば、ロジック部１７は、ＣＰＵ１１の制御に基づいて、データの暗号化、復号、及び乱数生成などの演算処理を行う。
【００２４】
上位インターフェース１８は、上位端末と通信するためのインターフェースである。上位端末は、例えば操作部及び表示部などを備える。操作部は、例えば操作キーなどを備え、操作者により入力される操作に基づいて、操作信号を生成する。表示部は、種々の情報を表示する。上位インターフェース１８は、上位端末からデータを受け取り、ＣＰＵ１１に伝送する。また、上位インターフェース１８は、送受信部１５及び共振部１６によりＩＣカード２０から取得したデータを上位端末に伝送する構成であってもよい。
【００２５】
電源部１９は、端末装置１０の各部に電力を供給する。
【００２６】
図２は、一実施形態に係るＩＣカード２０の構成例を示す。  
図２に示すように、ＩＣカード２０は、例えば、矩形状の本体２１と、本体２１内に内蔵されたＩＣモジュール２２とを備える。ＩＣモジュール２２は、ＩＣチップ２３と、共振部（アンテナ）２４とを備える。ＩＣチップ２３と共振部２４とは、互いに接続された状態でＩＣモジュール２２内に形成されている。
【００２７】
なお、本体２１は、少なくとも共振部２４が配設されるＩＣモジュール２２を設置可能な形状であれば、矩形状に限らず如何なる形状であっても良い。
【００２８】
ＩＣチップ２３は、ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７、不揮発性メモリ２８、送受信部２９、電源部３１、及びロジック部３２などを備える。ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７、不揮発性メモリ２８、送受信部２９、電源部３１、及びロジック部３２は、バスを介して互いに接続されている。
【００２９】
共振部２４は、端末装置（外部機器）１０の共振部１６と通信を行うためのインターフェースである。共振部２４は、例えば、ＩＣモジュール２２内に所定の形状で配設される金属線により構成されるアンテナコイルを備える。
【００３０】
ＩＣカード２０は、端末装置１０に送信するデータに応じてアンテナコイルにより磁界を発生させる。これにより、ＩＣカード２０は、端末装置１０に対してデータを送信することができる。また、ＩＣカード２０は、電磁誘導によりアンテナコイルに発生する誘導電流に基づいて端末装置１０から送信されるデータを認識する。
【００３１】
ＣＰＵ２５は、ＩＣカード２０全体の制御を司る制御部として機能する。ＣＰＵ２５は、ＲＯＭ２６あるいは不揮発性メモリ２８に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、端末装置１０から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。
【００３２】
ＲＯＭ２６は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＯＭ２６は、製造段階で制御プログラム及び制御データなどを記憶した状態でＩＣカード２０内に組み込まれる。即ち、ＲＯＭ２６に記憶される制御プログラム及び制御データは、予めＩＣカード２０の仕様に応じて組み込まれる。
【００３３】
ＲＡＭ２７は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ２７は、ＣＰＵ２５の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ２７は、共振部２４を介して端末装置１０から受信したデータを一時的に格納する。またＲＡＭ２７は、共振部２４を介して端末装置１０に送信するデータを一時的に格納する。またさらに、ＲＡＭ２７は、ＣＰＵ２５が実行するプログラムを一時的に格納する。
【００３４】
不揮発性メモリ２８は、例えば、ＥＥＰＲＯＭあるいはフラッシュＲＯＭなどのデータの書き込み及び書換えが可能な不揮発性のメモリを備える。不揮発性メモリ２８は、ＩＣカード２０の運用用途に応じて制御プログラム及び種々のデータを格納する。
【００３５】
たとえば、不揮発性メモリ２８では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。ＣＰＵ２５は、不揮発性メモリ２８、または、ＲＯＭ２６に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【００３６】
送受信部２９は、端末装置１０に送信するデータに対して符号化、負荷変調などの信号処理を行う。例えば、送受信部２９は、端末装置１０に送信するデータの変調（増幅）を行う。送受信部２９は、信号処理を施したデータを共振部２４に送信する。
【００３７】
また、送受信部２９は、共振部２４により受信する信号に対して復調、及び復号を行う。例えば、送受信部２９は、共振部２４により受信する信号の解析を行う。これにより、送受信部２９は、２値の論理データを取得する。送受信部２９は、解析したデータをバスを介してＣＰＵ２５に送信する。
【００３８】
電源部３１は、共振部２４により受け取られた電波（例えばキャリア波）に基づいて電力を生成する。さらに、電源部３１は、動作クロックを生成する。電源部３１は、生成した電力及び動作クロックをＩＣカード２０の各部に供給する。ＩＣカード２０の各部は、電力の供給を受けた場合、動作可能な状態になる。
【００３９】
ロジック部３２は、演算処理をハードウエアにより行う演算部である。例えば、ロジック部３２は、端末装置１０からのコマンドに基づいて、暗号化、復号、及び乱数の生成などの処理を行う。例えば、端末装置１０から相互認証コマンドを受信する場合、ロジック部３２は、乱数を生成し、生成した乱数をＣＰＵ２５に伝送する。
【００４０】
また、不揮発性メモリ２８は、コリジョンフラグを記憶する記憶部（メモリ）２８ａを有する。ＩＣカード２０は、端末装置１０との通信時に、コリジョンが生じたか否かに基づいてコリジョンフラグを書き換える。コリジョンが生じた場合、ＩＣカード２０は、メモリ２８ａのコリジョンフラグを「ＯＮ」に書き換える。また、コリジョンが生じなかった場合、ＩＣカード２０は、メモリ２８ａのコリジョンフラグを「ＯＦＦ」に書き換える。
【００４１】
さらに、ＩＣカード２０は、アンチコリジョン処理をコリジョンフラグの「ＯＮ／ＯＦＦ」に基づいて切り替える。即ち、ＩＣカード２０は、コリジョンフラグが「ＯＮ」である場合、乱数を生成し、生成した乱数に基づいてアンチコリジョンのスロットを選択する。また、ＩＣカード２０は、コリジョンフラグが「ＯＦＦ」である場合、予め設定されたスロットを選択する。
【００４２】
図３は、端末装置１０の動作の例について示す。  
端末装置１０は、ＩＣカード２０の検知を行なう為に、共振部１６により送信する初期応答要求コマンドを生成する（ステップＳ１１）。端末装置１０は、図４に示すような初期応答要求コマンドを生成する。なお、本実施形態では、端末装置１０は、スロットマーカ方式によりアンチコリジョンを行う構成であるが、タイムスロット方式、または他のスロットを要するアンチコリジョンを行う構成であってもよい。
【００４３】
図４は、初期応答要求コマンドの例を示す。図４により示されるように、初期応答要求コマンドは、「ＡＰｆ」、「ＡＦＩ」、「ＰＡＲＡＭ」、及び「ＣＲＣ＿Ｂ」を有する。
【００４４】
ＡＰｆは、初期応答要求コマンドで使用されるパラメータである。ＡＰｆは、例えば１ｂｙｔｅのデータである。
【００４５】
ＡＦＩは、端末装置１０が応用分野を特定する為に用いられる識別子である。ＡＦＩは、例えば８ｂｉｔ（１ｂｙｔｅ）で表現される値である。即ち、端末装置１０は、初期応答要求コマンドの先頭から９ｂｉｔ乃至１６ｂｉｔ目にＡＦＩの値を設定する。
【００４６】
ＰＡＲＡＭは、属性情報のパラメータである。ＰＡＲＡＭは、例えば８ｂｉｔ（１ｂｙｔｅ）のデータである。ＰＡＲＡＭは、コマンドの種類、及び、スロットマーカ方式またはタイムスロット方式などのアンチコリジョンで使用されるスロットの数などを示す。
【００４７】
ＣＲＣ＿Ｂは、巡回冗長検査符号である。ＣＲＣ＿Ｂは、例えば、１６ｂｉｔ（２ｂｙｔｅ）で表現される値である。ＣＲＣ＿Ｂは、ＣＲＣ＿Ｂを含むコマンドをキャラクタとして有するフレーム内のデータビットから計算される値である。ＩＣカード２０は、受信したコマンドのＣＲＣ＿Ｂを用いて、受信したコマンドが正常に伝送されたものであるか否かを判断する。
【００４８】
さらに、図４に示すＰＡＲＡＭは、例えば図５により示されるような構成を備える。  
図５は、ＰＡＲＡＭの構成の例を示す。図５により示されるように、ＰＡＲＡＭは、例えばビットｂ１乃至ビットｂ８の８ビット（１バイトにより構成される）。ＰＡＲＡＭは、スロット数を示す情報（Ｎｕｍｂｅｒ  ｏｆ  ｓｌｏｔｓ）、及びＲＥＱＢ／ＷＵＰＢを有する。
【００４９】
Ｎｕｍｂｅｒ  ｏｆ  ｓｌｏｔｓは、ビットｂ１乃至ｂ３に設定されるデータである。Ｎｕｍｂｅｒ  ｏｆ  ｓｌｏｔｓは、上記したように、スロットマーカ方式またはタイムスロット方式などのアンチコリジョンで使用されるスロットの数などを示す。
【００５０】
ＲＥＱＢ／ＷＵＰＢは、ビットｂ４に設定されるデータである。ＲＥＱＢ／ＷＵＰＢは、当該初期応答要求コマンドが、ＲＥＱＢコマンド（リクエストコマンド）であるのか、ＷＵＰＢコマンド（ウェークアップコマンド）であるのかを示す。
【００５１】
図６は、Ｎｕｍｂｅｒ  ｏｆ  ｓｌｏｔｓの生成及び解析に用いられるテーブルの例を示す。なお、図６に示されるテーブルは、端末装置１０とＩＣカード２０とが共通して備えるものである。即ち、端末装置１０及びＩＣカード２０は、このテーブルに応じてコマンドの生成、及びコマンドの解析を行う。
【００５２】
図６により示されるように、テーブルは、スロット数と、スロット数に対応付けられたビットｂ１乃至ビットｂ３に対応する値とを有する。
【００５３】
例えば、端末装置１０は、スロット数を１に設定する場合、初期応答要求コマンドのＰＡＲＡＭのビットｂ１乃至ビットｂ３に「０００」をセットする。また、端末装置１０は、スロット数を２に設定する場合、初期応答要求コマンドのＰＡＲＡＭのビットｂ１乃至ビットｂ３に「００１」をセットする。また、端末装置１０は、スロット数を４に設定する場合、初期応答要求コマンドのＰＡＲＡＭのビットｂ１乃至ビットｂ３に「０１０」をセットする。
【００５４】
端末装置１０は、生成した初期応答要求コマンドを共振部１６により繰り返し通信可能範囲に送信する（ステップＳ１２）。
【００５５】
さらに、端末装置１０は、スロットマーカコマンドを生成する（ステップＳ１３）。スロットマーカコマンドは、「ＡＰｎ」、及び「ＣＲＣ＿Ｂ」を備える。ＡＰｎは、衝突防止用情報バイトであり、スロットの番号を示す情報を含む。ＣＲＣ＿Ｂは、上記したように、巡回冗長検査符号である。端末装置１０は、設定された各スロット毎にスロットマーカコマンドを生成する。
【００５６】
端末装置１０は、生成したスロットマーカコマンドを共振部１６によりＩＣカード２０に送信する（ステップＳ１４）。端末装置１０は、各スロットの先頭となるタイミングで各スロットマーカコマンドをＩＣカード２０に送信する。これにより、端末装置１０は、各スロットの先頭をＩＣカード２０に通知することができる。
【００５７】
ＩＣカード２０は、端末装置１０の共振部１６の通信可能範囲内に進入する場合、活性化されてアイドル状態になる。ＩＣカード２０は、初期応答要求コマンドを受信する。さらに、ＩＣカード２０は、スロットマーカコマンドを受信する。
【００５８】
ＩＣカード２０のＣＰＵ２５は、受信した初期応答要求コマンドを解析する。ＩＣカード２０は、初期応答要求コマンドの「ＡＰｆ」、「ＡＦＩ」、「ＰＡＲＡＭ」、及び「ＣＲＣ＿Ｂ」のそれぞれの値を認識する。ＩＣカード２０は、スロットを選択し、選択したスロットを示すスロットマーカコマンドを受信した場合、初期応答要求コマンドに対するレスポンスを端末装置１０に送信する。
【００５９】
端末装置１０は、ＩＣカード２０から送信された初期応答要求コマンドに対するレスポンスを受信する（ステップＳ１５）。
【００６０】
ＩＣカード２０から送信されるレスポンスは、「ＡＰａ」、「ＰＵＰＩ」、「応用データ」、「プロトコル情報」及び「ＣＲＣ＿Ｂ」を有する。
【００６１】
ＡＰａは、初期応答要求コマンドに対するレスポンス（初期応答）で使用されるパラメータである。ＡＰａは、例えば１ｂｙｔｅのデータである。
【００６２】
ＰＵＰＩは、擬似固有ＩＣカード（ＰＩＣＣ）識別子である。ＰＵＰＩは、端末装置１０側からＩＣカード２０を識別するために使用される。ＰＵＰＩは、例えば、４ｂｙｔｅのデータである。ＰＵＰＩは、ＲＯＭ２６、または不揮発性メモリ２８に記憶されている値であるが、乱数などが代用されてもよい。
【００６３】
応用データは、ＩＣカード２０にどのようなアプリケーションが書き込まれているかを端末装置１０に伝える為のデータである。応用データは、例えば４ｂｙｔｅのデータである。
【００６４】
プロトコル情報は、ＩＣカード２０がサポートする応用プロトコルの状態を表す。例えば、プロトコル情報は、ＩＣカード２０がサポートする通信速度を示す情報を含む。プロトコル情報は、例えば３ｂｙｔｅのデータである。
【００６５】
ＣＲＣ＿Ｂは、上記したように巡回冗長検査符号である。
【００６６】
端末装置１０は、初期応答要求コマンドに対するレスポンス（初期応答）を受信する場合、受信したレスポンスを解析する。これにより、端末装置１０は、自身の通信可能範囲内にＩＣカード２０が存在することを認識する（ステップＳ１６）。
【００６７】
さらに、端末装置１０は、ＡＴＴＲＩＢコマンドをＩＣカード２０に送信することにより、ＩＣカード２０を選択する。これ以降、端末装置１０は、ＩＣカード２０と通常の処理を行う（ステップＳ１７）。
【００６８】
なお、端末装置１０は、ＩＣカード２０から送信されたレスポンスを受信する際にコリジョンが生じた場合、再度初期応答要求コマンドをＩＣカード２０に送信する。
【００６９】
図７は、ＩＣカード２０の処理の例を示す。  
ＩＣカード２０は、端末装置１０の共振部１６の通信可能範囲内に進入する場合、活性化されてアイドル状態になる。さらに、ＩＣカード２０は、初期応答要求コマンドを受信する（ステップＳ３１）。
【００７０】
ＩＣカード２０は、受信した初期応答要求コマンドを解析する（ステップＳ３２）。これにより、ＩＣカード２０は、初期応答要求コマンドの「ＡＰｆ」、「ＡＦＩ」、「ＰＡＲＡＭ」、及び「ＣＲＣ＿Ｂ」のそれぞれの値を認識する。さらに、ＩＣカード２０は、受信した初期応答要求コマンドに対するレスポンス（初期応答）を生成する。
【００７１】
また、ＩＣカード２０は、「ＰＡＲＡＭ」の値に基づいて、スロットの数を認識する。ＩＣカード２０は、スロット数が１であるか否か判定する（ステップＳ３３）。
【００７２】
ステップＳ３３で、スロット数が１ではないと判定した場合、ＩＣカード２０は、不揮発性メモリ２８のメモリ２８ａにより記憶されているコリジョンフラグを読み出す（ステップＳ３４）。さらに、ＩＣカード２０は、コリジョンフラグが「ＯＮ」であるか「ＯＦＦ」であるか判定する（ステップＳ３５）。
【００７３】
ステップＳ３５でコリジョンフラグが「ＯＮ」ではない（即ち「ＯＦＦ」）と判定した場合、ＩＣカード２０は、最初のスロットで初期応答を端末装置１０に送信する（ステップＳ３６）。
【００７４】
ステップＳ３５でコリジョンフラグが「ＯＦＦ」であると判定した場合、ＩＣカード２０は、予め設定されたスロットを選択する。ＩＣカード２０は、選択したスロットで初期応答を共振部２４により端末装置１０に送信する。即ち、ＩＣカード２０は、選択したスロットを示すスロットマーカコマンドを受信した場合、初期応答を共振部２４により端末装置１０に送信する。
【００７５】
「ＯＦＦ」のコリジョンフラグは、ＩＣカード２０の前回（最後）の通信時にコリジョンが発生しなかったことを示す。即ち、どのスロットで初期応答を端末装置１０に送信してもコリジョンが発生しないことが期待される。
【００７６】
ＩＣカード２０は、例えば、最初のスロットで初期応答を端末装置１０に送信するように予め設定される。これにより、ＩＣカード２０は、コリジョンを発生させずに、より早いタイミングで初期応答要求コマンドに対する初期応答を端末装置１０に送信することが出来る。
【００７７】
また、ステップＳ３５でコリジョンフラグが「ＯＮ」であると判定した場合、ＩＣカード２０は、乱数を生成する（ステップＳ３７）。ＩＣカード２０は、例えば、ロジック部３２により乱数を生成する。
【００７８】
ＩＣカード２０は、生成された乱数に基づいてスロットを選択する（ステップＳ３８）。例えば、ＩＣカード２０は、ステップＳ３２で認識したスロット数と、生成された乱数とに基づいて、１つのスロットを選択する。ＩＣカード２０は、例えば、生成された乱数を、認識したスロット数以下の整数に変換し、変換した値に対応するスロットを選択する。
【００７９】
ＩＣカード２０は、選択したスロットで初期応答を共振部２４により端末装置１０に送信する（ステップＳ３９）。即ち、ＩＣカード２０は、選択したスロットを示すスロットマーカコマンドを受信した場合、初期応答を共振部２４により端末装置１０に送信する。
【００８０】
また、ステップＳ３３で、ステップ数が１であると判定した場合、ＩＣカード２０は、端末装置１０によりアンチコリジョンが行われないことを認識する。この場合、ＩＣカード２０は、通常処理を行う（ステップＳ４０）。即ち、ＩＣカード２０は、任意、または予め設定されたタイミングで初期応答を共振部２４により端末装置１０に送信する。
【００８１】
さらに、ＩＣカード２０は、コリジョンが発生したか否か判定する（ステップＳ４１）。例えば、ＩＣカード２０は、起動中に複数回初期応答要求コマンドを受信した場合、コリジョンが発生したと判定する。また、ＩＣカード２０は、初期応答要求コマンドのＰＡＲＡＭのＮｕｍｂｅｒ  ｏｆ  ｓｌｏｔｓが２以上である場合、コリジョンが発生したと判定する構成であってもよい。
【００８２】
またさらに、ＩＣカード２０は、他のＩＣカードから初期応答が送信されたことを検出した場合にコリジョンが発生したと判定する構成であってもよい。ＩＣカード２０からデータが無線通信により送信される場合、ＩＣカード２０が存在する空間の磁界が変化する。即ち、ＩＣカード２０は、共振部２４に生じる誘導電流の変化を検出することにより、他のＩＣカード２０からデータが送信されたか否かを検出することができる。
【００８３】
ステップＳ４１で、コリジョンが発生しなかったと判定した場合、ＩＣカード２０は、コリジョンフラグを「ＯＦＦ」に書き換える（ステップＳ４２）。即ち、ＩＣカード２０は、ＩＣカード２０の最後の通信時にコリジョンが発生しなかったことを示す情報を不揮発性メモリ２８のメモリ２８ａに記憶する。
【００８４】
また、ステップＳ４１で、コリジョンが発生したと判定した場合、ＩＣカード２０は、コリジョンフラグを「ＯＮ」に書き換える（ステップＳ４３）。即ち、ＩＣカード２０は、ＩＣカード２０の最後の通信時にコリジョンが発生したことを示す情報を不揮発性メモリ２８のメモリ２８ａに記憶する。
【００８５】
さらに、ＩＣカード２０は、端末装置１０から送信されるＡＴＴＲＩＢコマンドに基づいて、端末装置１０との間で通信路を確立する。これ以降、端末装置１０とＩＣカード２０とは、通常のコマンドに応じた処理を行うことができる。
【００８６】
上記したように、一実施形態に係るＩＣカード２０は、最後の通信時にコリジョンが発生したか否かを示す情報を記憶するメモリを備えている。即ち、ＩＣカード２０のメモリ２８ａは、アンチコリジョンにおける最初のスロットを選択するか否かを示す情報（コリジョンフラグ）を記憶する。ＩＣカード２０は、端末装置１０との通信時に、コリジョンフラグを参照し、最初のスロットを選択するか否か判断する。
【００８７】
これにより、ＩＣカード２０は、他のＩＣカードとのコリジョンが発生しない場合に、より早く初期応答を端末装置１０に送信することができる。この結果、より速く非接触通信を行う事ができるＩＣカード、ＩＣカードの制御方法を提供することができる。
【００８８】
なお、上記した実施形態では、ＩＣカード２０は、コリジョンが発生したか否かに基づいてコリジョンフラグを書き換える構成として説明したが、この構成に限定されない。ＩＣカード２０は、端末装置１０から送信される所定のコマンドに基づいてメモリ２８ａのコリジョンフラグを書き換える構成であってもよい。
【００８９】
また、メモリ２８ａのコリジョンフラグは、例えばＩＣカード２０の発行時などに予め書き込まれるものであってもよい。この場合、コリジョンフラグを記憶するメモリ２８ａは、ＲＯＭ２６内に含まれていても良い。
【００９０】
このような構成によると、ユーザの意図に応じてＩＣカード２０の制御方法を変えることができる。
【００９１】
また、ＩＣカード２０は、コリジョンフラグを端末装置１０に通知する構成であってもよい。例えば、ＩＣカード２０は、コリジョンフラグに応じた情報を初期応答に付加する。これにより、端末装置１０は、より早い段階でコリジョンが発生する可能性があるか否かを認識することができる。例えば、コリジョンが発生する可能性がないと判断した場合、端末装置１０は、スロットマーカコマンドを短縮することができる。これにより、ＩＣカード２０を処理する端末装置１０は、より早くＩＣカード２０との通信路を確立することができる。
【００９２】
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
【００９３】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００９４】
１…ＩＣカード処理システム、１０…端末装置、１２…ＲＯＭ、１３…ＲＡＭ、１４…不揮発性メモリ、１４ａ…記憶部、１５…送受信部、１６…共振部、１７…ロジック部、１８…上位インターフェース、１９…電源部、２０…ＩＣカード、２１…本体、２２…ＩＣモジュール、２３…ＩＣチップ、２４…共振部、２５…ＣＰＵ、２６…ＲＯＭ、２７…ＲＡＭ、２８…不揮発性メモリ、２８ａ…記憶部、２９…送受信部、３１…電源部、３２…ロジック部。
【図１】
0005684059.tif 000002
【図２】
0005684059.tif 000003
【図３】
0005684059.tif 000004
【図４】
0005684059.tif 000005
【図５】
0005684059.tif 000006
【図６】
0005684059.tif 000007
【図７】
0005684059.tif 000008