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