(57)【要約】【課題】より高い利便性を備えるＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムを提供する。【解決手段】一実施形態に係るＩＣカードは、外部機器と非接触通信を行うＩＣカードであって、前記外部機器から送信された第１のコマンドを受信する受信手段と、前記第１のコマンドが前記ＩＣカードを受動側から能動側に切り替えを要求する切替要求コマンドであるか否か判定する判定部と、前記第１のコマンドが前記切替要求コマンドである場合、他のＩＣカードに処理を実行させる為の第２のコマンドを生成するコマンド生成部と、前記第２のコマンドを前記他のＩＣカードに送信するコマンド送信手段と、を具備する。【選択図】      図２
2014032461.tif 000002
【特許請求の範囲】
【請求項１】
外部機器と非接触通信を行うＩＣカードであって、
前記外部機器から送信された第１のコマンドを受信する受信手段と、
前記第１のコマンドが前記ＩＣカードを受動側から能動側に切り替えを要求する切替要求コマンドであるか否か判定する判定部と、
前記第１のコマンドが前記切替要求コマンドである場合、他のＩＣカードに処理を実行させる為の第２のコマンドを生成するコマンド生成部と、
前記第２のコマンドを前記他のＩＣカードに送信するコマンド送信手段と、
を具備するＩＣカード。
【請求項２】
前記コマンド生成部は、
前記第１のコマンドが前記切替要求コマンドである場合、前記他のＩＣカードとの間で通信路を確立する為の初期設定コマンドを生成し、
前記他のＩＣカードとの間で通信路を確立された場合、前記他のＩＣカードに処理を実行させる為の第２のコマンドを生成する、
請求項１に記載のＩＣカード。
【請求項３】
バッテリと、
前記バッテリの電力を用いて搬送波を出力する搬送波出力部と、
をさらに具備し、
前記判定部は、前記切替要求コマンドに基づいて、搬送波の切替が要求されているか否か判定し、
前記搬送波出力部は、搬送波の切替が要求されている場合、前記バッテリの電力を用いて前記他のＩＣカードに搬送波を出力する、
請求項１に記載のＩＣカード。
【請求項４】
前記各部を備えるＩＣモジュールと、
前記ＩＣモジュールが配設される本体と、
を具備する請求項１に記載のＩＣカード。
【請求項５】
外部機器と非接触通信を行う携帯可能電子装置であって、
前記外部機器から送信された第１のコマンドを受信する受信手段と、
前記第１のコマンドが前記携帯可能電子装置を受動側から能動側に切り替えを要求する切替要求コマンドであるか否か判定する判定部と、
前記第１のコマンドが前記切替要求コマンドである場合、他の携帯可能電子装置に処理を実行させる為の第２のコマンドを生成するコマンド生成部と、
前記第２のコマンドを前記他の携帯可能電子装置に送信するコマンド送信手段と、
を具備する携帯可能電子装置。
【請求項６】
外部機器と非接触通信を行うＩＣカードにおいて実行される制御プログラムであって、前記制御プログラムは、前記ＩＣカードを、
前記外部機器から送信された第１のコマンドを受信する受信手段と、
前記第１のコマンドが前記ＩＣカードを受動側から能動側に切り替えを要求する切替要求コマンドであるか否か判定する判定部と、
前記第１のコマンドが前記切替要求コマンドである場合、他のＩＣカードに処理を実行させる為の第２のコマンドを生成するコマンド生成部と、
前記第２のコマンドを前記他のＩＣカードに送信するコマンド送信手段と、
して動作させる。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムに関する。
【背景技術】
【０００２】
一般的に、携帯可能電子装置として用いられるＩＣカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたＩＣモジュールとを備えている。ＩＣモジュールは、ＩＣチップを有している。ＩＣチップは、電源が無い状態でもデータを保持することができるＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）またはフラッシュＲＯＭなどの不揮発性メモリと、種々の演算を実行するＣＰＵと、ＣＰＵの処理に利用されるＲＡＭメモリなどを有している。
【０００３】
ＩＣカードは、非接触通信によりデータの送受信を行うことができる。このような非接触通信を行うＩＣカードは、ＩＣチップとアンテナとを備えている。ＩＣカードは、ＩＣカードを処理するＩＣカード処理装置のリーダライタから出力された磁界をカード内のアンテナにより受け取り、電磁誘導により起電させることにより動作する。また、ＩＣカードは、非接触通信により処理装置からコマンドを受信した場合、受信したコマンドに応じてアプリケーションを実行する。これにより、ＩＣカードは、種々の機能を実現することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１１８６４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、ＩＣカード処理装置は、ＩＣカードにコマンドを送信する能動側（アクティブ）として機能する。また、ＩＣカードは、受信したコマンドに応じて処理を行う受動側（パッシブ）として機能する。しかし、近年、能動側として機能するＩＣカードが望まれている。
【０００６】
そこで、より高い利便性を備えるＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
一実施形態に係るＩＣカードは、外部機器と非接触通信を行うＩＣカードであって、前記外部機器から送信された第１のコマンドを受信する受信手段と、前記第１のコマンドが前記ＩＣカードを受動側から能動側に切り替えを要求する切替要求コマンドであるか否か判定する判定部と、前記第１のコマンドが前記切替要求コマンドである場合、他のＩＣカードに処理を実行させる為の第２のコマンドを生成するコマンド生成部と、前記第２のコマンドを前記他のＩＣカードに送信するコマンド送信手段と、を具備する。
【図面の簡単な説明】
【０００８】
【図１】図１は、一実施形態に係るＩＣカード処理システムについて説明するための図である。
【図２】図２は、一実施形態に係るＩＣカードについて説明するための図である。
【図３】図３は、一実施形態に係るＩＣカードについて説明するための図である。
【図４】図４は、一実施形態に係るＩＣカードについて説明するための図である。
【図５】図５は、一実施形態に係るＩＣカードについて説明するための図である。
【図６】図６は、一実施形態に係るＩＣカード処理システムについて説明するための図である。
【図７】図７は、一実施形態に係るＩＣカードについて説明するための図である。
【図８】図８は、一実施形態に係るＩＣカードについて説明するための図である。
【図９】図９は、一実施形態に係るＩＣカードについて説明するための図である。
【図１０】図１０は、一実施形態に係るＩＣカードについて説明するための図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら、一実施形態に係るＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムについて詳細に説明する。
【００１０】
本実施形態に係る携帯可能電子装置（ＩＣカード）２０及びＩＣカードを処理する処理装置（端末装置）１０は、例えば、非接触通信の機能を備える。これにより、ＩＣカード２０及び端末装置１０は、互いにデータの送受信を行うことができる。
【００１１】
図１は、一実施形態に係るＩＣカード処理システム１の構成例を示す。  
ＩＣカード処理システム１は、ＩＣカード２０を処理する端末装置１０、ＩＣカード２０、及びＩＣカード３０・・・を備える。なお、端末装置１０とＩＣカード２０とは、上記したように非接触通信により互いに種々のデータを送受信することができる。また、端末装置１０とＩＣカード３０とは、非接触通信により互いに種々のデータを送受信することができる。なお、ＩＣカード２０とＩＣカード３０とは同様の構成を備える。
【００１２】
端末装置１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、送受信部１５、共振部１６、ロジック部１７、インターフェース１８、及び電源部１９を備える。ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、送受信部１５、共振部１６、ロジック部１７、及びインターフェース１８は、それぞれバスを介して互いに接続されている。
【００１３】
ＣＰＵ１１は、端末装置１０全体の制御を司る制御部として機能する。ＣＰＵ１１は、ＲＯＭ１２又は不揮発性メモリ１４に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、ＣＰＵ１１は、送受信部１５及び共振部１６を介してＩＣカード２０とコマンド及びレスポンスの送受信を行う。
【００１４】
ＲＯＭ１２は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＡＭ１３は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ１３は、ＣＰＵ１１の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ１３は、送受信部１５及び共振部１６を介して外部の機器と送受信するデータを一時的に格納する。また、ＲＡＭ１３は、ＣＰＵ１１が実行するプログラムを一時的に格納する。
【００１５】
不揮発性メモリ１４は、例えばＥＥＰＲＯＭなどのフラッシュメモリを備える。不揮発性メモリ１４は、例えば、制御用のプログラム、制御データ、アプリケーション、及びアプリケーションに用いられるデータなどを記憶する。
【００１６】
送受信部１５及び共振部１６は、ＩＣカード２０と通信を行うためのインターフェース装置である。
【００１７】
送受信部１５は、共振部１６により送受信するデータに対して信号処理を施す。例えば、送受信部１５は、符号化、復号、変調、及び復調を行なう。送受信部１５は、符号化及び変調を施したデータを共振部１６に供給する。
【００１８】
共振部１６は、例えば所定の共振周波数を有するアンテナを有する。共振部１６は、送受信部１５から供給されるデータに応じて磁界を発生させる。これにより、端末装置１０は、通信可能範囲に存在するＩＣカード２０に対してデータを非接触で送信することができる。
【００１９】
また、共振部１６は、磁界を検知し、検知した磁界に応じてデータを生成する。これにより、共振部１６は、データを非接触で受信することができる。共振部１６は、受信したデータを送受信部１５に供給する。送受信部１５は、共振部１６により受信したデータに対して復調及び復号を行う。これにより、端末装置１０は、ＩＣカード２０から送信された元のデータを取得することができる。
【００２０】
ロジック部１７は、所定の演算処理を行う。例えば、ロジック部１７は、ＣＰＵ１１の制御に基づいて、データの暗号化、復号、及び乱数生成などの演算処理を行う。
【００２１】
インターフェース１８は、種々の装置、または端末などと通信するためのインターフェースである。例えば、インターフェース１８には、キーボード、表示部、または他の端末などの上位端末などが接続される。キーボードは、操作者による入力に基づいて操作信号を生成する操作キーなどを備える。表示部は、種々の情報を表示する。インターフェース１８は、キーボードからデータを受け取り、ＣＰＵ１１に伝送する。例えば、利用者にキーボードにより種々の操作を入力させることにより、端末装置１０は、利用者からの操作信号を取得することが出来る。
【００２２】
電源部１９は、端末装置１０の各部に電力を供給する。
【００２３】
図２は、一実施形態に係るＩＣカード２０の構成例を示す。  
図２に示すように、ＩＣカード２０は、例えば、矩形状の本体２１と、本体２１内に内蔵されたＩＣモジュール２２とアンテナ共振回路（共振部）２４とを備える。ＩＣモジュール２２は、ＩＣチップ２３を備える。ＩＣモジュール２２が本体２１に設置された場合、本体２１に設置された共振部２４とＩＣモジュール２２のＩＣチップ２３とが接続される。
【００２４】
なお、本体２１は、少なくとも共振部２４が配設されるＩＣモジュール２２を設置可能な形状であれば、矩形状に限らず如何なる形状であっても良い。
【００２５】
ＩＣチップ２３は、ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７、不揮発性メモリ２８、送受信部２９、電源部３１、及びロジック部３２などを備える。ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７、不揮発性メモリ２８、送受信部２９、及びロジック部３２は、バスを介して互いに接続されている。
【００２６】
共振部２４は、端末装置（外部機器）１０の共振部１６と通信を行うためのインターフェースである。共振部２４は、例えば、ＩＣモジュール２２内に所定の形状で配設される金属線により構成されるアンテナを備える。
【００２７】
ＩＣカード２０は、端末装置１０に送信するデータに応じてアンテナにより磁界を発生させる。これにより、ＩＣカード２０は、端末装置１０に対してデータを送信することができる。また、ＩＣカード２０は、電磁誘導によりアンテナに発生する誘導電流に基づいて端末装置１０から送信されるデータを認識する。
【００２８】
ＣＰＵ２５は、ＩＣカード２０全体の制御を司る制御部として機能する。ＣＰＵ２５は、ＲＯＭ２６あるいは不揮発性メモリ２８に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、端末装置１０から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。
【００２９】
ＲＯＭ２６は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＯＭ２６は、製造段階で制御プログラム及び制御データなどを記憶した状態でＩＣカード２０内に組み込まれる。即ち、ＲＯＭ２６に記憶される制御プログラム及び制御データは、予めＩＣカード２０の仕様に応じて組み込まれる。
【００３０】
ＲＡＭ２７は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ２７は、ＣＰＵ２５の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ２７は、共振部２４を介して端末装置１０から受信したデータを一時的に格納する。またＲＡＭ２７は、共振部２４を介して端末装置１０に送信するデータを一時的に格納する。またさらに、ＲＡＭ２７は、ＣＰＵ２５が実行するプログラムを一時的に格納する。
【００３１】
不揮発性メモリ２８は、例えば、ＥＥＰＲＯＭなどのデータの書き込み及び書き換えが可能なフラッシュメモリを備える。不揮発性メモリ２８は、例えば、制御用のプログラム、制御データ、アプリケーション、個人情報、暗号鍵などのセキュリティ情報、及びアプリケーションに用いられるデータなどを記憶する。
【００３２】
送受信部２９は、端末装置１０に送信するデータに対して符号化、負荷変調などの信号処理を行う。例えば、送受信部２９は、端末装置１０に送信するデータの変調（増幅）を行う。送受信部２９は、信号処理を施したデータを共振部２４に送信する。
【００３３】
また、送受信部２９は、共振部２４により受信する信号に対して復調、及び復号を行う。例えば、送受信部２９は、共振部２４により受信する信号の解析を行う。これにより、送受信部２９は、２値の論理データを取得する。送受信部２９は、解析したデータをバスを介してＣＰＵ２５に送信する。
【００３４】
電源部３１は、端末装置１０の共振部１６から送信される電波、特にキャリア波に基づいて電力を生成する。さらに、電源部３１は、動作クロックを生成する。電源部３１は、発生させた電力及び動作クロックをＩＣカード２０の各部に電力を供給する。ＩＣカード２０の各部は、電力の供給を受けた場合、動作可能な状態になる。
【００３５】
また、電源部３１は、バッテリ３１ａを備える。バッテリ３１ａは、例えば、物質の化学反応または物理反応によって電気エネルギーを取り出す電池を備える。また、バッテリ３１ａは、供給された電力を蓄えるコンデンサ、または充電池を備える構成であってもよい。
【００３６】
例えば、電源部３１は、端末装置１０の共振部１６から送信されたキャリア波（搬送波）に基づいて電力を生成し、生成した電力をバッテリ３１ａに充電することができる。また、電源部３１は、バッテリ３１ａに充電されている電力を共振部２４に供給することができる。これにより、ＩＣカード２０は、バッテリ３１ａに充電されている電力を用いて搬送波を共振部２４から出力することができる。
【００３７】
ロジック部３２は、演算処理をハードウエアにより行う演算部である。例えば、ロジック部３２は、端末装置１０からのコマンドに基づいて、暗号化、復号、及び乱数の生成などの処理を行う。例えば、端末装置１０から相互認証コマンドを受信する場合、ロジック部３２は、乱数を生成し、生成した乱数をＣＰＵ２５に伝送する。
【００３８】
ＣＰＵ２５は、自身が受動側（パッシブ）である場合、送受信部２９により受信したコマンドに応じた処理（コマンド処理）を実行することができる。ＣＰＵ２５は、例えば、送受信部２９により受信したコマンドに応じて、読み出し、書き込みなどのＩＳＯ／ＩＥＣ７８１６で規定された種々のコマンドに応じた処理を実行することができる。
【００３９】
また、ＣＰＵ２５は、自身が能動側（アクティブ）である場合、送受信部２９により端末装置１０、または他のＩＣカード３０にコマンドを送信することができる。また、ＣＰＵ２５は、端末装置１０、または他のＩＣカード３０から送信されたレスポンスを解析し、端末装置１０、または他のＩＣカード３０における処理結果を認識することができる。
【００４０】
ＩＣカード２０は、一次発行と二次発行とにより発行される。端末装置１０は、一次発行において、ＩＣカード２０の不揮発性メモリ２８に種々のデータを格納する為のファイルを創成する。これにより、不揮発性メモリ２８には、Ｍａｓｔｅｒ  Ｆｉｌｅ（ＭＦ）、Ｄｅｄｉｃａｔｅｄ  Ｆｉｌｅ（ＤＦ）、及びＥｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＥＦ）などが創成される。
【００４１】
ＭＦは、ファイル構造の根幹となるファイルである。ＤＦは、ＭＦの下位に創成される。ＤＦは、アプレット及びアプレットが有するコンポーネントなどをグループ化して格納するファイルである。ＥＦは、ＤＦの下位に創成される。ＥＦは、様々なデータを格納するためのファイルである。また、ＭＦの直下にＥＦが置かれる場合もある。
【００４２】
ＥＦには、Ｗｏｒｋｉｎｇ  Ｅｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＷＥＦ）とＩｎｔｅｒｎａｌ  Ｅｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＩＥＦ）などの種類がある。ＷＥＦは、作業用ＥＦであり、個人情報などを格納する。ＩＥＦは、内部ＥＦであり、例えば、セキュリティのための暗号鍵（暗証番号）などのデータを記憶する。
【００４３】
二次発行では、ＥＦに例えば顧客データなどの個別データが格納される。これにより、ＩＣカード２０が運用可能な状態になる。即ち、ＣＰＵ２５は、不揮発性メモリ２８、または、ＲＯＭ２６に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【００４４】
端末装置１０は、ＩＣカード２０に初期応答要求コマンド及び選択コマンド（総じて初期設定コマンドと称する）などを送信することにより、通信に関する種々の設定をＩＣカード２０に対して行なう。
【００４５】
端末装置１０は、ＩＣカード２０の検知を行なう為に、共振部１６により送信する初期応答要求コマンドを生成する。初期応答要求コマンドは、例えば、コマンドが初期応答要求コマンドであることを示すパラメータ、応用分野を特定する為のパラメータ、コマンドの種類及びアンチコリジョンの方法などの属性情報を示すパラメータ、アンチコリジョンのスロットの数を示すパラメータ、及び巡回冗長検査符号などを有する。
【００４６】
端末装置１０は、生成した初期応答要求コマンドを共振部１６により繰り返し通信可能範囲に送信する。また、端末装置１０は、通信可能範囲にキャリア波（搬送波）を供給する。
【００４７】
ＩＣカード２０は、端末装置１０の共振部１６の通信可能範囲内に進入する場合、搬送波により活性化されてアイドル状態になる。即ち、端末装置１０は、通信可能範囲内のＩＣカード２０に搬送波を供給する。さらに、ＩＣカード２０は、初期応答要求コマンドを受信する。
【００４８】
ＩＣカード２０のＣＰＵ２５は、受信した初期応答要求コマンドを解析する。これにより、ＣＰＵ２５は、初期応答要求コマンドの各種のパラメータの値をそれぞれ認識する。ＣＰＵ２５は、認識したパラメータの値に基づいて処理を実行する。ＣＰＵ２５は、処理結果に応じて初期応答要求コマンドに対するレスポンス（初期応答）を生成する。
【００４９】
初期応答は、レスポンスが初期応答要求コマンドに対するレスポンス（初期応答）であることを示すパラメータ、擬似固有ＩＣカード（ＰＩＣＣ）識別子、応用データは、ＩＣカード２０にどのようなアプリケーションが書き込まれているかを示す応用データ、ＩＣカード２０がサポートするプロトコルを示すプロトコル情報、及び巡回冗長検査符号を生成する。
【００５０】
例えば、ＣＰＵ２５は、初期応答要求コマンドを受信した場合、上記したような情報を含む初期応答を生成する。なお、プロトコル情報は、ＩＣカード２０がサポートする通信速度を示す情報（通信速度情報）を含む。さらに、プロトコル情報は、通信速度情報、最大フレーム長、プロトコルタイプ、フレーム待ち時間係数、応用データ符号化、及びフレームオプションなどを有する。
【００５１】
最大フレーム長は、ＩＣカード２０が受信可能な最大フレーム長を示す。プロトコルタイプは、ＩＣカード２０がサポートしているプロトコルタイプを示す。フレーム待ち時間係数は、端末装置１０から送信されたコマンド（コマンドを含むフレーム）の最後からＩＣカード２０が応答を開始するまでの最大時間を示す。応用データ符号化は、ＩＣカード２０がサポートする符号化の形式を示す。フレームオプションは、ＩＣカード２０がノードアドレス（ＮＡＤ）をサポートしているか、カード識別子（ＣＩＤ）をサポートしているかを示す。
【００５２】
ＩＣカード２０は、生成した初期応答要求コマンドに対するレスポンス（初期応答）を共振部２４により端末装置１０に送信する。
【００５３】
端末装置１０は、初期応答要求コマンドに対するレスポンス（初期応答）を受信した場合、受信したレスポンスを解析する。これにより、端末装置１０は、自身の通信可能範囲内にＩＣカード２０が存在することを認識する。
【００５４】
また、端末装置１０は、レスポンスに含まれる通信速度情報を確認し、ＩＣカード２０によりサポートされている通信速度を認識する。さらに端末装置１０は、ＩＣカード２０に設定させる通信速度を示す情報、及びＩＣカード２０を特定する為の識別情報を有する選択コマンドを生成する。端末装置１０は、選択コマンドをＩＣカード２０に送信する。
【００５５】
ＩＣカード２０のＣＰＵ２５は、選択コマンドを受信した場合、選択コマンドを解析する。これにより、ＩＣカード２０は、選択コマンドに含まれていた端末装置１０により指定された通信速度、及び識別情報を認識する。
【００５６】
ＩＣカード２０は、認識した識別情報と自身が保有している識別情報とを比較し、一致した場合、後続の処理を行う。この場合、ＩＣカード２０は、選択コマンドにより指定された通信速度を自身に設定する。具体的には、ＩＣカード２０のＣＰＵ２５は、選択コマンドにより指定された通信速度を示す通信速度設定情報をＲＡＭ２７、または不揮発性メモリ２８上の所定の記憶領域に記憶することにより、通信速度を設定する。ＩＣカード２０のＣＰＵ２５は、ＲＡＭ２７、または不揮発性メモリ２８に記憶されている通信速度設定情報が示す通信速度に応じてレスポンスの送信、及び受信したコマンドの解析を行う。
【００５７】
また、ＩＣカード２０は、取得した識別情報と自身が保有している識別情報とが一致しない場合、処理を終了する。
【００５８】
通信速度の設定が完了した場合、ＩＣカード２０は、選択コマンドに対するレスポンスを生成し、生成したレスポンスを端末装置１０に送信する。なお、この場合ＩＣカード２０は、標準の通信速度で解析可能な状態でレスポンスを端末装置１０に送信する。ＩＣカード２０は、選択コマンドに対するレスポンスを送信した後、上記の処理により設定した通信速度に応じてレスポンスの送信、及び受信したコマンドの解析を行う。
【００５９】
端末装置１０は、選択コマンドに対するレスポンスを受信した場合、レスポンスを解析することにより、ＩＣカード２０の選択が正常に完了したことを認識する。これ以降端末装置１０は、ＩＣカード２０に設定した通信速度でコマンドの送信、及び受信したレスポンスの解析を行う。
【００６０】
上記の処理により、端末装置１０とＩＣカード２０との間で通信路が確立される。以降、ＩＣカード２０は、端末装置１０から送信されるコマンドに基づいて、種々のコマンド処理を実行することができる。
【００６１】
端末装置１０は、ＩＣカード２０に処理を実行させるためのコマンドを送信する。ＩＣカード２０は、コマンドを受信した場合、受信したコマンドを解析する。ＩＣカードは、解析したコマンドに基づいてコマンド処理を実行し、レスポンスを生成する。ＩＣカード２０は、生成したレスポンスを端末装置１０に送信する。即ち、上記のように初期設定が行なわれた場合、端末装置１０が能動側として機能し、ＩＣカード２０が受動側として機能する。
【００６２】
なお、端末装置１０とＩＣカード２０とは、所定の形式のフレームを送受信することにより、コマンドレスポンスを行う。
【００６３】
図３は、ＩＣカード２０の処理の例を示す。なお、本実施形態は、端末装置１０とＩＣカード２０とがＩＳＯ／ＩＥＣ１４４４３により規定されたブロックフォーマットにより非接触通信を行う例を示す。  
端末装置１０及びＩＣカード２０は、コマンドとレスポンスとを送受信し、初期設定を行う。これにより、端末装置１０とＩＣカード２０との間で通信プロトコルが活性化される。この結果、ＩＣカード２０は、端末装置１０から送信されたコマンドに応じて種々の処理を実行することができる。
【００６４】
端末装置１０とＩＣカード２０とは、ＩＳＯ／ＩＥＣ１４４４３により規定されている通信フォーマットに応じたフレームのデータを送受信する。例えば、ＩＳＯ／ＩＥＣ１４４４３では、フレームの形式としてＩ−ｂｌｏｃｋ（Ｉｎｆｏｒｍａｔｉｏｎ  ｂｌｏｃｋ：情報ブロック）、Ｒ−ｂｌｏｃｋ（Ｒｅｃｅｉｖｅ  ｒｅａｄｙ  ｂｌｏｃｋ：受信準備完了ブロック）、Ｓ−ｂｌｏｃｋ(Ｓｕｐｅｒｖｉｓｏｒｙ  ｂｌｏｃｋ：管理ブロック)などのブロック伝送方式が規定されている。
【００６５】
Ｉ−ｂｌｏｃｋ、Ｒ−ｂｌｏｃｋ、及びＳ−ｂｌｏｃｋは、それぞれ異なる役割を有する。Ｉ−ｂｌｏｃｋ（Ｉブロック）は、アプリケーション層で使用する情報を伝達するためのフォーマットである。通常のデータ読出し、書き込みには、Ｉ−ｂｌｏｃｋが用いられる。
【００６６】
Ｒ−ｂｌｏｃｋ（Ｒブロック）は、肯定応答または否定応答を伝達するためのフォーマットである。Ｒ−ｂｌｏｃｋには、Ｒ−ｂｌｏｃｋ（ＡＣＫ）及びＲ−ｂｌｏｃｋ（ＮＡＣ）などの種類がある。Ｒ−ｂｌｏｃｋ（ＡＣＫ）は、次のコマンドを要求するときに用いられる。また、Ｒ−ｂｌｏｃｋ（ＮＡＣ）は、受信したコマンドの再送を要求するときに用いられる。
【００６７】
Ｓ−ｂｌｏｃｋ（Ｓブロック）は、端末装置１０とＩＣカード２０との間で制御情報を交換する為のフォーマットである。Ｓ−ｂｌｏｃｋは、処理時間の延長要求、ＩＣカードを非活性化させる命令（Ｄｅｓｅｌｅｃｔ）として用いられる。
【００６８】
図４は、ブロックフォーマットの例を示す。ＩＳＯ／ＩＥＣ１４４４３により規定されているブロックフォーマットを準拠したフレームは、例えば、プロローグフィールド、情報フィールド、およびエピローグフィールドなどのフィールドを有する。Ｉ−ｂｌｏｃｋ、Ｒ−ｂｌｏｃｋ、及びＳ−ｂｌｏｃｋは、いずれもこの図４に示されたブロックフォーマットを準拠している。
【００６９】
プロローグフィールドは、Ｐｒｏｔｏｃｏｌ  Ｃｏｎｔｒｏｌｌ  Ｂｙｔｅ（ＰＣＢ）、Ｃａｒｄ  ＩＤｅｎｔｉｆｉｅｒ（ＣＩＤ）、及びＮｏｄｅ  Ａｄｄｒｅｓｓ（ＮＡＤ）などのデータを有する。
【００７０】
プロトコル制御バイトであるＰＣＢは、データ伝送の制御に必要な情報をＩＣカード２０に伝達することができる。例えば、ＰＣＢは、このフレームがＩ−ｂｌｏｃｋであるか、Ｒ−ｂｌｏｃｋであるか、またはＳ−ｂｌｏｃｋであるかを示す情報を有する。
【００７１】
カード識別子であるＣＩＤは、処理対称のＩＣカードを指定するためのデータである。ＩＣカード２０は、固有のＣＩＤをＲＯＭ２６または不揮発性メモリ２８内に記憶している。端末装置１０は、初期設定でＩＣカード２０からＣＩＤを取得する。端末装置１０は、処理対象のＩＣカード２０のＣＩＤをプロローグフィールドのＣＩＤにセットする。
【００７２】
ＩＣカード２０は、コマンドを受信した場合、プロローグフィールドのＣＩＤの値と、自身のＣＩＤの値とが一致した場合、受信したコマンドに応じた処理を実行する。  
ノードアドレスであるＮＡＤは、異なる論理接続を構築するためのデータである。
【００７３】
情報フィールドは、例えば、コマンドのデータ本体、アプリケーションデータ、または状態情報などを有するＩｎｆｏｒｍａｔｉｏｎ（ＩＮＦ）を備える。ＩＣカード２０は、情報フィールドに格納されているデータに応じて種々の処理を実行する。なお、情報フィールドは、省略されてもよい。
【００７４】
エピローグフィールドは、例えば、ＣＲＣなどの通信エラーをＩＣカード２０に検知させる為のエラー検出符号を備える。エラー検出符号は、エピローグフィールド及び情報フィールドのデータに基づいて算出された値である。受動側の機器は、エピローグフィールド及び情報フィールド内のデータと、エラー検出符号とに基づいて、通信エラーを検知することができる。
【００７５】
図３に示されたように、端末装置１０は、ＩＣカード２０との通信の確立後、コマンドを生成し、ＩＣカード２０に処理を実行させるためのコマンドを送信する（ステップＳ１１）。なお、端末装置１０は、Ｉ−ｂｌｏｃｋのコマンドをＩＣカード２０に送信する。
【００７６】
ＩＣカード２０は、コマンドを受信した場合、受信したコマンドを解析する。ＩＣカードは、解析したコマンドに基づいてコマンド処理を実行し、レスポンスを生成する。ＩＣカード２０は、生成したレスポンスを端末装置１０に送信する（ステップＳ１２）。なお、ＩＣカード２０は、Ｉ−ｂｌｏｃｋのレスポンスを端末装置１０に送信する。
【００７７】
上記したように端末装置１０からの初期応答要求に応じて端末装置１０とＩＣカード２０との間で初期設定が行なわれた場合、端末装置１０が能動側として機能し、ＩＣカード２０が受動側として機能する。
【００７８】
また、能動側である端末装置１０は、受動側であるＩＣカード２０に、能動側（アクティブ）と受動側（パッシブ）との切り替えを要求するコマンド（切替要求コマンド）を生成する（ステップＳ１３）。端末装置１０は、生成した切替要求コマンドをＩＣカード２０に送信する（ステップＳ１４）。
【００７９】
例えば、端末装置１０は、操作入力に応じて、切替要求コマンドをＩＣカード２０に送信する。また、端末装置１０は、ＩＣカード２０における処理上で能動側と受動側との切替が必要であると端末装置１０またはＩＣカード２０により判断された場合、切替要求コマンドをＩＣカード２０に送信する。例えば、端末装置１０は、予め設定されたコマンドをＩＣカード２０に送信した場合、次に切替要求コマンドをＩＣカード２０に送信する。端末装置１０は、Ｉ−ｂｌｏｃｋ、Ｒ−ｂｌｏｃｋ、またはＳ−ｂｌｏｃｋのいずれかのブロックフォーマットで切替要求コマンドをＩＣカード２０に送信する。
【００８０】
図５は、Ｒ−ｂｌｏｃｋの切替要求コマンドの例を示す。例えば、端末装置１０は、Ｒ−ｂｌｏｃｋフォーマットで切替要求コマンドを生成する。なお、Ｒ−ｂｌｏｃｋのフレームは、プロローグフィールド、およびエピローグフィールドを備えており、情報フィールドを備えていない。
【００８１】
Ｒ−ｂｌｏｃｋの切替要求コマンドのＰＣＢは、１バイトのデータであり、第１ビットｂ１乃至第８ビットｂ８を有する。第１ビットｂ１は、このコマンドのブロック番号を示す。
【００８２】
第２ビットｂ２は、役割交換要求（切替要求）の有無を示す。即ち、第２ビットｂ２は、このＰＣＢを含むフレームが切替要求コマンドであるか否かを示す。本例では、第２ビットｂ２が「０」である場合、このＰＣＢを含むフレームが切替要求コマンドであることが示される。また、第２ビットｂ２が「１」である場合、このＰＣＢを含むフレームが切替要求コマンドではないことが示される。なお、第２ビットｂ２の「０」と「１」の割り当ては逆であってもよい。
【００８３】
第３ビットｂ３は、規定値である。第４ビットｂ４は、ＣＩＤの有無を示す。第５ビットｂ５は、このＰＣＢを含むフレームがＲ−ｂｌｏｃｋ（ＡＣＫ）であるかＲ−ｂｌｏｃｋ（ＮＡＣ）であるかを示す。第６ビットｂ６は、規定値である。
【００８４】
第７ビットｂ７と第８ビットｂ８は、このＰＣＢを含むフレームがＲ−ｂｌｏｃｋ、Ｉ−ｂｌｏｃｋ，またはＳ−ｂｌｏｃｋであるかを示す。例えば、第８ビットｂ８が「１」であり、第７ビットｂ７が「０」である場合、このＰＣＢを含むフレームがＲ−ｂｌｏｃｋであることが示される。
【００８５】
即ち、端末装置１０は、ＰＣＢの第８ビットｂ８を「１」、第７ビットｂ７を「０」、台５ビットｂ５を「０」、第２ビットｂ２を「０」にそれぞれ設定することにより、切替要求コマンドを生成することができる。
【００８６】
ＩＣカード２０は、コマンドを受信した場合、受信したコマンドのＰＣＢを解析する。これにより、ＩＣカード２０は、受信したコマンドが切替要求コマンドであることを認識する。即ち、ＩＣカード２０は、ＰＣＢの第８ビットｂ８が「１」であり、第７ビットｂ７が「０」であり、且つ第２ビットｂ２が「０」である場合、受信したコマンドが切替要求コマンドであると認識する。
【００８７】
受動側であるＩＣカード２０は、切替要求コマンド受信した場合、自身を受動側から能動側に切り替える（ステップＳ１５）。この場合、ＩＣカード２０は、端末装置１０、または他のＩＣカード３０にコマンドを送信することができる。なお、ＩＣカード２０は、自身を受動側から能動側に切り替えてから所定時間Ｔ１が経過した後に端末装置１０、または他のＩＣカード３０にコマンドを送信する。
【００８８】
例えば、ＩＣカード２０は、Ｉ−ｂｌｏｃｋのコマンドを生成し、端末装置１０に送信する（ステップＳ１６）。端末装置１０は、ＩＣカード２０から受け取ったコマンドに応じてコマンド処理を実行する。端末装置１０は、コマンド処理の結果に応じたレスポンスをＩＣカード２０に送信する（ステップＳ１７）。
【００８９】
また、ＩＣカード２０は、他のＩＣカード３０と直接コマンド及びレスポンスの送受信を行なうこともできる。しかし、ＩＣカード２０とＩＣカード３０とは、この時点では通信に関する設定（初期設定）が設定されていない。この為、ＩＣカード２０は、まずＩＣカード３０との間で通信路を確立するための初期設定を行なう。
【００９０】
この為に、ＩＣカード２０は、初期応答要求コマンドを生成する。ＩＣカード２０は、端末装置１０により生成される初期応答要求コマンドと同様の初期応答要求コマンドを生成する。ＩＣカード２０は、生成した初期応答要求コマンドを共振部２４により繰り返し通信可能範囲に送信する（ステップＳ１８）。
【００９１】
ＩＣカード３０は、ＩＣカード２０の共振部２４の通信可能範囲内に進入する場合、ＩＣカード２０から送信された初期応答要求コマンドを受信する。
【００９２】
ＩＣカード３０は、受信した初期応答要求コマンドを解析する。これにより、ＩＣカード３０は、初期応答要求コマンドの各種のパラメータの値をそれぞれ認識する。ＩＣカード３０は、認識したパラメータの値に基づいて処理を実行する。ＩＣカード３０は、処理結果に応じて初期応答要求コマンドに対するレスポンス（初期応答）を生成する。
【００９３】
ＩＣカード３０は、生成した初期応答要求コマンドに対するレスポンス（初期応答）をＩＣカード２０に送信する（ステップＳ１９）。
【００９４】
ＩＣカード２０は、ＩＣカード３０から初期応答要求コマンドに対するレスポンス（初期応答）を受信した場合、受信したレスポンスを解析する。これにより、ＩＣカード２０は、自身の通信可能範囲内に他のＩＣカード３０が存在することを認識する。
【００９５】
また、ＩＣカード２０は、ＩＣカード３０に設定させる通信速度を示す情報、及びＩＣカード３０を特定する為の識別情報を有する選択コマンドを生成する。ＩＣカード２０は、選択コマンドをＩＣカード３０に送信する（ステップＳ２０）。
【００９６】
ＩＣカード３０は、選択コマンドを受信した場合、選択コマンドを解析する。これにより、ＩＣカード３０は、選択コマンドに含まれていたＩＣカード２０により指定された通信速度、及び識別情報を認識する。
【００９７】
ＩＣカード３０は、認識した識別情報と自身が保有している識別情報とを比較し、一致した場合、後続の処理を行う。この場合、ＩＣカード３０は、選択コマンドにより指定された通信速度を自身に設定する。また、ＩＣカード３０は、取得した識別情報と自身が保有している識別情報とが一致しない場合、処理を終了する。
【００９８】
通信速度の設定が完了した場合、ＩＣカード３０は、選択コマンドに対するレスポンスを生成し、生成したレスポンスを端末装置１０に送信する（ステップＳ２１）。
【００９９】
ＩＣカード２０は、選択コマンドに対するレスポンスを受信した場合、レスポンスを解析することにより、ＩＣカード３０の選択が正常に完了したことを認識する。上記の処理により、ＩＣカード３０とＩＣカード２０との間に通信路が確立される。これ以降ＩＣカード２０とＩＣカード３０とは、ＩＣカード３０に設定した通信速度でコマンドの送信、及び受信したレスポンスの解析を行うことができる。即ち、ＩＣカード３０は、ＩＣカード２０から送信されるコマンドに基づいて、種々のコマンド処理を実行することができる。
【０１００】
例えば、ＩＣカード２０は、Ｉ−ｂｌｏｃｋのコマンドを生成し、ＩＣカード３０に送信する（ステップＳ２２）。ＩＣカード３０は、ＩＣカード２０から受け取ったコマンドに応じてコマンド処理を実行する。ＩＣカード３０は、コマンド処理の結果に応じたレスポンスをＩＣカード２０に送信する（ステップＳ２３）。
【０１０１】
上記の処理により、ＩＣカード２０は、端末装置１０から切替要求コマンドを受信した場合、自身のモードを受動側（パッシブ）から能動側（アクティブ）に切り替えることができる。これにより、ＩＣカード２０は、例えば、端末装置１０または端末装置１０に接続された機器上の記憶領域に記憶されている情報などを取得することができる。
【０１０２】
さらに、ＩＣカード２０は、自身のモードが能動側である場合、通信範囲内の他のＩＣカード３０と直接コマンド及びレスポンスの送受信を行なうことができる。これにより、ＩＣカード２０は、端末装置１０を介することなく、ＩＣカード３０との間で直接データを送受信することができる。
【０１０３】
この結果、より高い利便性を備えるＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムを提供することができる。
【０１０４】
なお、ＩＣカード３０は、ＩＣカード２０と同様に端末装置１０から出力された搬送波に基づいて電力を生成する。また、ＩＣカード３０は、ＩＣカード２０から出力された搬送波に基づいて電力を生成する構成であってもよい。またさらに、ＩＣカード３０は、自身が保持するバッテリにより駆動する構成であってもよい。
【０１０５】
次に、Ｉ−ｂｌｏｃｋの切替要求コマンドによりＩＣカード２０に対して切替を要求する例について説明する。
【０１０６】
図６は、ＩＣカード２０の処理の他の例を示す。端末装置１０は、ＩＣカード２０との通信の確立後、コマンドを生成し、ＩＣカード２０に処理を実行させるためのコマンドを送信する（ステップＳ３１）。なお、端末装置１０は、Ｉ−ｂｌｏｃｋのコマンドをＩＣカード２０に送信する。
【０１０７】
ＩＣカード２０は、コマンドを受信した場合、受信したコマンドを解析する。ＩＣカードは、解析したコマンドに基づいてコマンド処理を実行し、レスポンスを生成する。ＩＣカード２０は、生成したレスポンスを端末装置１０に送信する（ステップＳ３２）。なお、ＩＣカード２０は、Ｉ−ｂｌｏｃｋのレスポンスを端末装置１０に送信する。
【０１０８】
上記したように端末装置１０からの初期応答要求に応じて端末装置１０とＩＣカード２０との間で初期設定が行なわれた場合、端末装置１０が能動側として機能し、ＩＣカード２０が受動側として機能する。
【０１０９】
また、能動側である端末装置１０は、受動側であるＩＣカード２０に、能動側（アクティブ）と受動側（パッシブ）との切り替えを要求するコマンド（切替要求コマンド）をＩ−ｂｌｏｃｋフォーマットで生成する（ステップＳ３３）。端末装置１０は、生成した切替要求コマンドをＩＣカード２０に送信する（ステップＳ３４）。
【０１１０】
図７は、Ｉ−ｂｌｏｃｋの切替要求コマンドの例を示す。なお、Ｉ−ｂｌｏｃｋのフレームは、プロローグフィールド、情報フィールド、およびエピローグフィールドを備えている。
【０１１１】
Ｉ−ｂｌｏｃｋの切替要求コマンドのＰＣＢは、１バイトのデータであり、第１ビットｂ１乃至第８ビットｂ８を有する。第１ビットｂ１は、このコマンドのブロック番号を示す。
【０１１２】
第２ビットｂ２は、規定値である。第３ビットｂ３は、ＮＡＤの有無を示す。第４ビットｂ４は、ＣＩＤの有無を示す。第５ビットｂ５は、このコマンドが連鎖コマンド（連結コマンド）であるか否かを示す。第６ビットｂ６は、規定値である。
【０１１３】
第７ビットｂ７と第８ビットｂ８は、このＰＣＢを含むフレームがＩ−ｂｌｏｃｋ、Ｒ−ｂｌｏｃｋ，またはＳ−ｂｌｏｃｋであるかを示す。例えば、第８ビットｂ８が「０」であり、第７ビットｂ７が「０」である場合、このＰＣＢを含むフレームがＩ−ｂｌｏｃｋであることが示される。
【０１１４】
Ｉ−ｂｌｏｃｋの切替要求コマンドは、情報フィールド内に切替要求コマンドの本体を有する。即ち、Ｉ−ｂｌｏｃｋの切替要求コマンドは、情報フィールド内に役割交換要求（切替要求）の有無を示すデータを有する。
【０１１５】
ＩＣカード２０は、コマンドを受信した場合、受信したコマンドのＰＣＢを解析する。さらに、ＩＣカード２０は、コマンドのブロックフォーマットがＩ−ｂｌｏｃｋであることを認識した場合、情報フィールド中のデータに基づいて、コマンド処理を実行する。この結果、ＩＣカード２０は、情報フィールドに格納された切替要求コマンドを実行することになる。
【０１１６】
受動側であるＩＣカード２０は、切替要求コマンドを実行した場合、自身を受動側から能動側に切り替える（ステップＳ３５）。この場合、ＩＣカード２０は、端末装置１０、または他のＩＣカード３０にコマンドを送信することができる。なお、ＩＣカード２０は、自身を受動側から能動側に切り替えてから所定時間Ｔ１が経過した後に端末装置１０、または他のＩＣカード３０にコマンドを送信する。
【０１１７】
例えば、ＩＣカード２０は、Ｉ−ｂｌｏｃｋのコマンドを生成し、端末装置１０に送信する（ステップＳ３６）。端末装置１０は、ＩＣカード２０から受け取ったコマンドに応じてコマンド処理を実行する。端末装置１０は、コマンド処理の結果に応じたレスポンスをＩＣカード２０に送信する（ステップＳ３７）。
【０１１８】
また、ＩＣカード２０は、他のＩＣカード３０と直接コマンド及びレスポンスの送受信を行なうこともできる。この為に、ＩＣカード２０は、初期応答要求コマンドを生成する。ＩＣカード２０は、端末装置１０により生成される初期応答要求コマンドと同様の初期応答要求コマンドを生成する。ＩＣカード２０は、生成した初期応答要求コマンドを共振部２４により繰り返し通信可能範囲に送信する（ステップＳ３８）。
【０１１９】
ＩＣカード３０は、ＩＣカード２０の共振部２４の通信可能範囲内に進入する場合、ＩＣカード２０から送信された初期応答要求コマンドを受信する。
【０１２０】
ＩＣカード３０は、受信した初期応答要求コマンドを解析する。これにより、ＩＣカード３０は、初期応答要求コマンドの各種のパラメータの値をそれぞれ認識する。ＩＣカード３０は、認識したパラメータの値に基づいて処理を実行する。ＩＣカード３０は、処理結果に応じて初期応答要求コマンドに対するレスポンス（初期応答）を生成する。
【０１２１】
ＩＣカード３０は、生成した初期応答要求コマンドに対するレスポンス（初期応答）をＩＣカード２０に送信する（ステップＳ３９）。
【０１２２】
ＩＣカード２０は、ＩＣカード３０から初期応答要求コマンドに対するレスポンス（初期応答）を受信した場合、受信したレスポンスを解析する。これにより、ＩＣカード２０は、自身の通信可能範囲内に他のＩＣカード３０が存在することを認識する。
【０１２３】
また、ＩＣカード２０は、ＩＣカード３０に設定させる通信速度を示す情報、及びＩＣカード３０を特定する為の識別情報を有する選択コマンドを生成する。ＩＣカード２０は、選択コマンドをＩＣカード３０に送信する（ステップＳ４０）。
【０１２４】
ＩＣカード３０は、選択コマンドを受信した場合、選択コマンドを解析する。これにより、ＩＣカード３０は、選択コマンドに含まれていたＩＣカード２０により指定された通信速度、及び識別情報を認識する。
【０１２５】
ＩＣカード３０は、認識した識別情報と自身が保有している識別情報とを比較し、一致した場合、後続の処理を行う。この場合、ＩＣカード３０は、選択コマンドにより指定された通信速度を自身に設定する。また、ＩＣカード３０は、取得した識別情報と自身が保有している識別情報とが一致しない場合、処理を終了する。
【０１２６】
通信速度の設定が完了した場合、ＩＣカード３０は、選択コマンドに対するレスポンスを生成し、生成したレスポンスを端末装置１０に送信する（ステップＳ４１）。
【０１２７】
ＩＣカード２０は、選択コマンドに対するレスポンスを受信した場合、レスポンスを解析することにより、ＩＣカード３０の選択が正常に完了したことを認識する。上記の処理により、ＩＣカード３０とＩＣカード２０との間に通信路が確立される。これ以降ＩＣカード２０とＩＣカード３０とは、ＩＣカード３０に設定した通信速度でコマンドの送信、及び受信したレスポンスの解析を行うことができる。即ち、ＩＣカード３０は、ＩＣカード２０から送信されるコマンドに基づいて、種々のコマンド処理を実行することができる。
【０１２８】
例えば、ＩＣカード２０は、Ｉ−ｂｌｏｃｋのコマンドを生成し、ＩＣカード３０に送信する（ステップＳ４２）。ＩＣカード３０は、ＩＣカード２０から受け取ったコマンドに応じてコマンド処理を実行する。ＩＣカード３０は、コマンド処理の結果に応じたレスポンスをＩＣカード２０に送信する（ステップＳ４３）。
【０１２９】
上記の処理により、ＩＣカード２０は、端末装置１０から切替要求コマンドを受信した場合、自身のモードを受動側（パッシブ）から能動側（アクティブ）に切り替えることができる。これにより、ＩＣカード２０は、例えば、端末装置１０または端末装置１０に接続された機器上の記憶領域に記憶されている情報などを取得することができる。
【０１３０】
さらに、ＩＣカード２０は、自身のモードが能動側である場合、通信範囲内の他のＩＣカード３０と直接コマンド及びレスポンスの送受信を行なうことができる。これにより、ＩＣカード２０は、端末装置１０を介することなく、ＩＣカード３０との間で直接データを送受信することができる。
【０１３１】
この結果、より高い利便性を備えるＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムを提供することができる。
【０１３２】
次に、Ｓ−ｂｌｏｃｋの切替要求コマンドによりＩＣカード２０に対して切替を要求する例について説明する。
【０１３３】
図８は、ＩＣカード２０の処理の他の例を示す。端末装置１０は、ＩＣカード２０との通信の確立後、コマンドを生成し、ＩＣカード２０に処理を実行させるためのコマンドを送信する（ステップＳ５１）。なお、端末装置１０は、Ｉ−ｂｌｏｃｋのコマンドをＩＣカード２０に送信する。
【０１３４】
ＩＣカード２０は、コマンドを受信した場合、受信したコマンドを解析する。ＩＣカードは、解析したコマンドに基づいてコマンド処理を実行し、レスポンスを生成する。ＩＣカード２０は、生成したレスポンスを端末装置１０に送信する（ステップＳ５２）。なお、ＩＣカード２０は、Ｉ−ｂｌｏｃｋのレスポンスを端末装置１０に送信する。
【０１３５】
上記したように端末装置１０からの初期応答要求に応じて端末装置１０とＩＣカード２０との間で初期設定が行なわれた場合、端末装置１０が能動側として機能し、ＩＣカード２０が受動側として機能する。
【０１３６】
また、能動側である端末装置１０は、受動側であるＩＣカード２０に、能動側（アクティブ）と受動側（パッシブ）との切り替えを要求するコマンド（切替要求コマンド）をＳ−ｂｌｏｃｋフォーマットで生成する（ステップＳ５３）。端末装置１０は、生成した切替要求コマンドをＩＣカード２０に送信する（ステップＳ５４）。
【０１３７】
図９は、Ｓ−ｂｌｏｃｋの切替要求コマンドの例を示す。なお、Ｓ−ｂｌｏｃｋのフレームは、プロローグフィールド、情報フィールド、およびエピローグフィールドを備えている。
【０１３８】
Ｓ−ｂｌｏｃｋの切替要求コマンドのＰＣＢは、１バイトのデータであり、第１ビットｂ１乃至第８ビットｂ８を有する。
【０１３９】
第１ビットｂ１は、役割交換要求（切替要求）の有無を示す。即ち、第１ビットｂ１は、このＰＣＢを含むフレームが切替要求コマンドであるか否かを示す。本例では、第１ビットｂ１が「１」である場合、このＰＣＢを含むフレームが切替要求コマンドであることが示される。また、第１ビットｂ１が「０」である場合、このＰＣＢを含むフレームが切替要求コマンドではないことが示される。なお、第１ビットｂ１の「０」と「１」の割り当ては逆であってもよい。
【０１４０】
第２ビットｂ２及び第３ビットｂ３は、規定値である。第４ビットｂ４は、ＣＩＤの有無を示す。第５ビットｂ５及び第６ビットｂ６は、このコマンドがＷＴＸ（Ｗａｉｔｉｎｇ  Ｔｉｍｅ ｅＸｔｅｎｓｉｏｎ：延長時間指示）であるか、ＩＣカード２０を非活性化させる為の命令（Ｄｅｓｅｌｅｃｔ）であるかを示す。
【０１４１】
第７ビットｂ７と第８ビットｂ８は、このＰＣＢを含むフレームがＩ−ｂｌｏｃｋ、Ｒ−ｂｌｏｃｋ，またはＳ−ｂｌｏｃｋであるかを示す。例えば、第８ビットｂ８が「１」であり、第７ビットｂ７が「１」である場合、このＰＣＢを含むフレームがＳ−ｂｌｏｃｋであることが示される。
【０１４２】
例えば、端末装置１０は、操作入力に応じて、切替要求コマンドをＩＣカード２０に送信する。また、端末装置１０は、ＩＣカード２０における処理上で能動側と受動側との切替が必要であると端末装置１０またはＩＣカード２０により判断された場合、切替要求コマンドをＩＣカード２０に送信する。例えば、端末装置１０は、予め設定されたコマンドをＩＣカード２０に送信した場合、次に切替要求コマンドをＩＣカード２０に送信する。さらに、端末装置１０は、搬送波の切替をＩＣカード２０に指示する場合、切替要求コマンドをＳ−ｂｌｏｃｋで生成する。
【０１４３】
即ち、端末装置１０は、ＩＣカード２０に受動側と能動側との切替、並びに搬送波の切替を指示する場合、ＰＣＢの第８ビットｂ８を「１」に設定し、第７ビットｂ７を「１」に設定し、且つ第１ビットｂ１を「１」に設定する。端末装置１０は、このように設定した切替要求コマンドをＩＣカード２０に送信する。
【０１４４】
ＩＣカード２０は、コマンドを受信した場合、受信したコマンドのＰＣＢを解析する。これにより、ＩＣカード２０は、受信したコマンドが切替要求コマンドであることを認識する。即ち、ＩＣカード２０は、ＰＣＢの第８ビットｂ８が「１」であり、第７ビットｂ７が「０」であり、且つ第２ビットｂ２が「０」である場合、受信したコマンドが切替要求コマンドであると認識する。
【０１４５】
ＩＣカード２０は、受信した切替要求コマンドに応じたＳ−ｂｌｏｃｋのレスポンスを生成する。ＩＣカード２０は、生成したレスポンスを端末装置１０に返信する（ステップＳ５５）。端末装置１０は、送信した切替要求コマンドに対するＳ−ｂｌｏｃｋのレスポンスを受信した場合、搬送波の出力を停止する。
【０１４６】
また、受動側であるＩＣカード２０は、切替要求コマンド受信した場合、自身を受動側から能動側に切り替える（ステップＳ５６）。この場合、ＩＣカード２０は、端末装置１０、または他のＩＣカード３０にコマンドを送信することができる。即ち、ＩＣカード２０は、ＰＣＢの第８ビットｂ８が「１」であり、第７ビットｂ７が「１」であり、且つ第１ビットｂ１が「１」である場合、受信したコマンドが切替要求コマンドであると認識する。なお、ＩＣカード２０は、自身を受動側から能動側に切り替えてから所定時間Ｔ１が経過した後に端末装置１０、または他のＩＣカード３０にコマンドを送信する。
【０１４７】
さらに、ＩＣカード２０は、受信したコマンドが切替要求コマンドであり、且つＳ−ｂｌｏｃｋフォーマットである場合、バッテリ３１ａ内の電力を用いて共振部２４により搬送波を出力する。これにより、ＩＣカード２０は、他のＩＣカード３０に搬送波を供給することができる。この場合、ＩＣカード２０は、他のＩＣカード３０にコマンドを送信することができる。
【０１４８】
ＩＣカード２０は、他のＩＣカード３０と直接コマンド及びレスポンスの送受信を行なう為に、初期応答要求コマンドを生成する。ＩＣカード２０は、端末装置１０により生成される初期応答要求コマンドと同様の初期応答要求コマンドを生成する。ＩＣカード２０は、生成した初期応答要求コマンドを共振部２４により繰り返し通信可能範囲に送信する（ステップＳ５７）。
【０１４９】
ＩＣカード３０は、ＩＣカード２０の共振部２４の通信可能範囲内に進入する場合、ＩＣカード２０から出力された搬送波に基づいて電力を生成し、活性化状態になる。また、ＩＣカード３０は、ＩＣカード２０送信された初期応答要求コマンドを受信する。
【０１５０】
ＩＣカード３０は、受信した初期応答要求コマンドを解析する。これにより、ＩＣカード３０は、初期応答要求コマンドの各種のパラメータの値をそれぞれ認識する。ＩＣカード３０は、認識したパラメータの値に基づいて処理を実行する。ＩＣカード３０は、処理結果に応じて初期応答要求コマンドに対するレスポンス（初期応答）を生成する。
【０１５１】
ＩＣカード３０は、生成した初期応答要求コマンドに対するレスポンス（初期応答）をＩＣカード２０に送信する（ステップＳ５８）。
【０１５２】
ＩＣカード２０は、ＩＣカード３０から初期応答要求コマンドに対するレスポンス（初期応答）を受信した場合、受信したレスポンスを解析する。これにより、ＩＣカード２０は、自身の通信可能範囲内に他のＩＣカード３０が存在することを認識する。
【０１５３】
また、ＩＣカード２０は、ＩＣカード３０に設定させる通信速度を示す情報、及びＩＣカード３０を特定する為の識別情報を有する選択コマンドを生成する。ＩＣカード２０は、選択コマンドをＩＣカード３０に送信する（ステップＳ５９）。
【０１５４】
ＩＣカード３０は、選択コマンドを受信した場合、選択コマンドを解析する。これにより、ＩＣカード３０は、選択コマンドに含まれていたＩＣカード２０により指定された通信速度、及び識別情報を認識する。
【０１５５】
ＩＣカード３０は、認識した識別情報と自身が保有している識別情報とを比較し、一致した場合、後続の処理を行う。この場合、ＩＣカード３０は、選択コマンドにより指定された通信速度を自身に設定する。また、ＩＣカード３０は、取得した識別情報と自身が保有している識別情報とが一致しない場合、処理を終了する。
【０１５６】
通信速度の設定が完了した場合、ＩＣカード３０は、選択コマンドに対するレスポンスを生成し、生成したレスポンスを端末装置１０に送信する（ステップＳ６０）。
【０１５７】
ＩＣカード２０は、選択コマンドに対するレスポンスを受信した場合、レスポンスを解析することにより、ＩＣカード３０の選択が正常に完了したことを認識する。上記の処理により、ＩＣカード３０とＩＣカード２０との間に通信路が確立される。これ以降ＩＣカード２０とＩＣカード３０とは、ＩＣカード３０に設定した通信速度でコマンドの送信、及び受信したレスポンスの解析を行うことができる。即ち、ＩＣカード３０は、ＩＣカード２０から送信されるコマンドに基づいて、種々のコマンド処理を実行することができる。
【０１５８】
例えば、ＩＣカード２０は、Ｉ−ｂｌｏｃｋのコマンドを生成し、ＩＣカード３０に送信する（ステップＳ６１）。ＩＣカード３０は、ＩＣカード２０から受け取ったコマンドに応じてコマンド処理を実行する。ＩＣカード３０は、コマンド処理の結果に応じたレスポンスをＩＣカード２０に送信する（ステップＳ６２）。
【０１５９】
上記の処理により、ＩＣカード２０は、端末装置１０から切替要求コマンドを受信した場合、自身のモードを受動側（パッシブ）から能動側（アクティブ）に切り替えることができる。さらに、ＩＣカード２０は、自身のモードが能動側である場合、通信範囲内の他のＩＣカード３０に搬送波を供給することができる。これにより、ＩＣカード２０は、他のＩＣカード３０と直接コマンド及びレスポンスの送受信を行なうことができる。これにより、ＩＣカード２０は、端末装置１０を介することなく、ＩＣカード３０との間で直接データを送受信することができる。
【０１６０】
この結果、より高い利便性を備えるＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムを提供することができる。
【０１６１】
図１０は、ＩＣカード２０の処理の例を示す。  
ＩＣカード２０は、端末装置１０から切替要求コマンドを受信する（ステップＳ７１）。ＩＣカード２０は、受信した切替要求コマンドのブロックフォーマットがＩ−ｂｌｏｃｋであるか否か判断する（ステップＳ７２）。
【０１６２】
受信した切替要求コマンドのブロックフォーマットがＩ−ｂｌｏｃｋである場合、ＩＣカード２０は、受信したコマンドの情報フィールドのデータに基づいて、コマンド処理を実行する（ステップＳ７３）。この結果として、ＩＣカード２０は、自身を受動側から能動側に切り替える（ステップＳ７４）。
【０１６３】
ＩＣカード２０は、自身を受動側から能動側に切り替えてから所定時間Ｔ１が経過したか否か判定する（ステップＳ７５）。所定時間が経過した場合、ＩＣカード２０は、受動側である機器に送信するコマンドを生成する（ステップＳ７６）。さらに、ＩＣカード２０は、生成したコマンドを受動側である機器に送信する（ステップＳ７７）。
【０１６４】
また、ステップＳ７２でＩ−ｂｌｏｃｋではないと判断した場合、ＩＣカード２０は、受信した切替要求コマンドのブロックフォーマットがＲ−ｂｌｏｃｋであるか否か判断する（ステップＳ７８）。受信した切替要求コマンドのブロックフォーマットがＲ−ｂｌｏｃｋである場合、ＩＣカード２０は、自身を受動側から能動側に切り替え（ステップＳ７９）、ステップＳ７５に移行する。
【０１６５】
また、ステップＳ７８でＲ−ｂｌｏｃｋではないと判断した場合、ＩＣカード２０は、受信した切替要求コマンドのブロックフォーマットがＳ−ｂｌｏｃｋであるか否か判断する（ステップＳ８０）。受信した切替要求コマンドのブロックフォーマットがＳ−ｂｌｏｃｋである場合、ＩＣカード２０は、搬送波切替要求を受理する（ステップＳ８１）。さらに、ＩＣカード２０は、自身を受動側から能動側に切り替える（ステップＳ８２）。ＩＣカード２０は、搬送波を出力し（ステップＳ８３）、ステップＳ７５に移行する。
【０１６６】
即ち、ＩＣカード２０は、受信したコマンドが切替要求コマンドであり、且つＳ−ｂｌｏｃｋフォーマットである場合、バッテリ３１ａ内の電力を用いて共振部２４により搬送波を出力し、コマンドを出力する処理を実行する。
【０１６７】
また、ステップＳ８０でＳ−ｂｌｏｃｋではないと判断した場合、ＩＣカード２０は、受信したコマンドが異常であると判断し、処理を終了する。
【０１６８】
上記の処理により、ＩＣカード２０は、端末装置１０から切替要求コマンドのブロックフォーマットに応じて、異なる種々の方法により、自身のモードを受動側（パッシブ）から能動側（アクティブ）に切り替えることができる。
【０１６９】
即ち、ＩＣカード２０は、受信した切替要求コマンドのブロックフォーマットがＩ−ｂｌｏｃｋである場合、Ｉ−ｂｌｏｃｋの情報フィールド内のデータに基づいてコマンド処理を実行することにより、自身を受動側から能動側に切り替えることができる。
【０１７０】
また、ＩＣカード２０は、受信した切替要求コマンドのブロックフォーマットがＲ−ｂｌｏｃｋである場合、より簡易に自身を受動側から能動側に切り替えることができる。
【０１７１】
またさらに、ＩＣカード２０は、受信した切替要求コマンドのブロックフォーマットがＳ−ｂｌｏｃｋである場合、自身を受動側から能動側に切り替え、さらに搬送波を出力を開始することができる。
【０１７２】
これにより、ＩＣカード２０は、端末装置１０または他のＩＣカード３０とより適切に通信を行なうことができる。この結果、より高い利便性を備えるＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムを提供することができる。
【０１７３】
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
【０１７４】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【０１７５】
１…ＩＣカード処理システム、１０…端末装置、１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１４…不揮発性メモリ、１５…送受信部、１６…共振部、１７…ロジック部、１８…上位インターフェース、１９…電源部、２０…ＩＣカード、２１…本体、２２…ＩＣモジュール、２３…ＩＣチップ、２４…共振部、２５…ＣＰＵ、２６…ＲＯＭ、２７…ＲＡＭ、２８…不揮発性メモリ、２９…送受信部、３０…ＩＣカード、３１…電源部、３１ａ…バッテリ、３２…ロジック部。
【図１】
2014032461.tif 000003
【図２】
2014032461.tif 000004
【図３】
2014032461.tif 000005
【図４】
2014032461.tif 000006
【図５】
2014032461.tif 000007
【図６】
2014032461.tif 000008
【図７】
2014032461.tif 000009
【図８】
2014032461.tif 000010
【図９】
2014032461.tif 000011
【図１０】
2014032461.tif 000012