(57)【要約】【課題】より高速に通信することができるＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムを提供する。【解決手段】一実施形態に係るＩＣカードは、外部機器と通信を行うＩＣカードであって、前記外部機器から送信されたコマンドを受信する受信手段と、前記コマンドに応じて処理を行い、処理結果に基づいて送信データを生成する第１のコマンド処理手段と、前記送信データが予め設定されたサイズを超える場合、前記送信データを分割し、分割したデータに基づいて複数のユニットを生成する第２のコマンド処理手段と、前記複数のユニットを予め設定された通信間隔を空けて前記外部機器に順次送信する送信手段と、前記通信間隔の間に前記外部機器から再送要求が送信された場合、直前に送信した前記ユニットを前記外部機器に再送するように前記送信手段を制御する制御手段と、を具備する。【選択図】      図２
2013125400.tif 000002
【特許請求の範囲】
【請求項１】
外部機器と通信を行うＩＣカードであって、
前記外部機器から送信されたコマンドを受信する受信手段と、
前記コマンドに応じて処理を行い、処理結果に基づいて送信データを生成する第１のコマンド処理手段と、
前記送信データが予め設定されたサイズを超える場合、前記送信データを分割し、分割したデータに基づいて複数のユニットを生成する第２のコマンド処理手段と、
前記複数のユニットを予め設定された通信間隔を空けて前記外部機器に順次送信する送信手段と、
前記通信間隔の間に前記外部機器から再送要求が送信された場合、直前に送信した前記ユニットを前記外部機器に再送するように前記送信手段を制御する制御手段と、
を具備するＩＣカード。
【請求項２】
前記第２のコマンド処理手段は、前記各ユニット毎に伝送エラーを前記外部機器に検出させる為のエラー検査符号を付加する、請求項１に記載のＩＣカード。
【請求項３】
前記制御手段は、前記通信間隔の間に前記外部機器から中断要求が送信された場合、次のユニットを送信しないように前記送信手段を制御し、前記外部機器から再開要求が送信された場合、前記次のユニットを送信するように前記送信手段を制御する、請求項１に記載のＩＣカード。
【請求項４】
前記送信手段は、１ビットのデータを送信する為の１単位時間以上の通信間隔を空けて前記複数のユニットを前記外部機器に順次送信する請求項１に記載のＩＣカード。
【請求項５】
前記受信手段は、前記外部機器から送信された前記コマンドの一部とエラー検査符号とを有するユニットを受信し、
前記制御手段は、前記受信手段により受信された前記ユニットが有する前記エラー検査符号に基づいて、伝送エラーが発生したか否か判断し、伝送エラーが発生したと判断した場合、前記再送要求を前記外部機器に送信するように前記送信手段を制御する、
請求項１に記載のＩＣカード。
【請求項６】
前記制御手段は、前記外部機器に次のユニットの送信を中断させる為の中断要求を送信するように前記送信手段を制御し、
前記制御手段は、前記外部機器に次のユニットの送信を再開させる為の再開要求を送信するように前記送信手段を制御する、
請求項１に記載のＩＣカード。
【請求項７】
前記各手段を備えるＩＣモジュールと、
前記ＩＣモジュールが配設される本体と、
を具備する請求項１に記載のＩＣカード。
【請求項８】
外部機器と通信を行う携帯可能電子装置であって、
前記外部機器から送信されたコマンドを受信する受信手段と、
前記コマンドに応じて処理を行い、処理結果に基づいて送信データを生成する第１のコマンド処理手段と、
前記送信データが予め設定されたサイズを超える場合、前記送信データを分割し、分割したデータに基づいて複数のユニットを生成する第２のコマンド処理手段と、
前記複数のユニットを予め設定された通信間隔を空けて前記外部機器に順次送信する送信手段と、
前記通信間隔の間に前記外部機器から再送要求が送信された場合、直前に送信した前記ユニットを前記外部機器に再送するように前記送信手段を制御する制御手段と、
を具備する携帯可能電子装置。
【請求項９】
外部機器と通信を行うＩＣカードにおいて実行される制御プログラムであって、前記制御プログラムは、前記ＩＣカードを、
前記外部機器から送信されたコマンドを受信する受信手段と、
前記コマンドに応じて処理を行い、処理結果に基づいて送信データを生成する第１のコマンド処理手段と、
前記送信データが予め設定されたサイズを超える場合、前記送信データを分割し、分割したデータに基づいて複数のユニットを生成する第２のコマンド処理手段と、
前記複数のユニットを予め設定された通信間隔を空けて前記外部機器に順次送信する送信手段と、
前記通信間隔の間に前記外部機器から再送要求が送信された場合、直前に送信した前記ユニットを前記外部機器に再送するように前記送信手段を制御する制御手段と、
して動作させる。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムに関する。
【背景技術】
【０００２】
一般的に、携帯可能電子装置として用いられるＩＣカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたＩＣモジュールとを備えている。ＩＣモジュールは、ＩＣチップを有している。ＩＣチップは、電源が無い状態でもデータを保持することができるＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）またはフラッシュＲＯＭなどの不揮発性メモリと、種々の演算を実行するＣＰＵと、ＣＰＵの処理に利用されるＲＡＭメモリなどを有している。
【０００３】
ＩＣカードは、例えば、国際標準規格ＩＳＯ／ＩＥＣ７８１６に準拠したＩＣカードである。ＩＣカードは、ＩＣチップのメモリに種々のアプリケーションを格納することができる。ＩＣカードは、ＩＣカードを処理する端末（リーダライタ）から送信されたコマンドに応じてアプリケーションを実行することにより、種々の処理を実行することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２２３５１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
また、画像などの容量の大きいデータをリーダライタとＩＣカードとの間で伝送する場合がある。しかし、１つのコマンドまたはレスポンスで送信することができるデータ長に制限がある場合がある。このような場合、リーダライタ及びＩＣカードは、大容量のデータを複数に分割し、分割したデータをコマンドまたはレスポンスに付加する。リーダライタ及びＩＣカードは、コマンドとレスポンスとを複数回送受信することにより、大容量のデータを伝送する。しかし、上記したように、コマンドとレスポンスとを複数回送受信する為、大容量のデータの伝送に時間を要するという課題がある。
【０００６】
そこで、より高速に通信することができるＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
一実施形態に係るＩＣカードは、外部機器と通信を行うＩＣカードであって、前記外部機器から送信されたコマンドを受信する受信手段と、前記コマンドに応じて処理を行い、処理結果に基づいて送信データを生成する第１のコマンド処理手段と、前記送信データが予め設定されたサイズを超える場合、前記送信データを分割し、分割したデータに基づいて複数のユニットを生成する第２のコマンド処理手段と、前記複数のユニットを予め設定された通信間隔を空けて前記外部機器に順次送信する送信手段と、前記通信間隔の間に前記外部機器から再送要求が送信された場合、直前に送信した前記ユニットを前記外部機器に再送するように前記送信手段を制御する制御手段と、を具備する。
【図面の簡単な説明】
【０００８】
【図１】図１は、一実施形態に係るＩＣカード処理システムの例について説明するための図である。
【図２】図２は、一実施形態に係るＩＣカードの例について説明するための図である。
【図３】図３は、一実施形態に係るＩＣカード処理システムの処理の例について説明するための図である。
【図４】図４は、一実施形態に係るＩＣカード処理システムの処理の例について説明するための図である。
【図５】図５は、一実施形態に係るＩＣカード処理システムの処理の例について説明するための図である。
【図６】図６は、一実施形態に係るＩＣカード処理システムの処理の例について説明するための図である。
【図７】図７は、一実施形態に係るＩＣカード処理システムの処理の他の例について説明するための図である。
【図８】図８は、一実施形態に係るＩＣカード処理システムの処理の他の例について説明するための図である。
【図９】図９は、一実施形態に係るＩＣカード処理システムの処理の他の例について説明するための図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら、一実施形態に係るＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムについて詳細に説明する。
【００１０】
本実施形態に係る端末装置１０のカードリーダライタ１７及びＩＣカード２０は、半二重伝送通信などの接触通信の機能、及びＩＳＯ／ＩＥＣ１４４４３などにより規定されている非接触通信の機能の両方またはいずれかの機能を備える。これにより、カードリーダライタ１７及びＩＣカード２０は、互いにデータの送受信を行うことができる。
【００１１】
図１は、一実施形態に係るＩＣカード処理システム１の構成例について示す。  
ＩＣカード処理システム１は、携帯可能電子装置（ＩＣカード）２０を処理する端末装置１０と、ＩＣカード２０と、を備える。端末装置１０とＩＣカード２０とは、上記したように接触通信、または非接触通信により互いに種々のデータを送受信する。端末装置１０とＩＣカード２０とが接触通信、または非接触通信により接続された場合、端末装置１０とＩＣカード２０との間に通信路４が確立される。
【００１２】
端末装置１０は、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、不揮発性メモリ１４、操作部１５、表示部１６、及びカードリーダライタ１７を備える。ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、操作部１５、表示部１６、及びカードリーダライタ１７は、それぞれバス１９を介して互いに接続されている。
【００１３】
ＣＰＵ１１は、端末装置１０全体の制御を司る制御部として機能する。ＣＰＵ１１は、ＲＯＭ１３に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、ＣＰＵ１１は、カードリーダライタ１７を介してＩＣカード２０とコマンド及びレスポンスの送受信を行う。
【００１４】
ＲＡＭ１２は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ１２は、ＣＰＵ１１の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ１２は、カードリーダライタ１７を介して外部の機器と送受信するデータを一時的に格納する。また、ＲＡＭ１２は、ＣＰＵ１１が実行するプログラムを一時的に格納する。ＲＯＭ１３は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。
【００１５】
不揮発性メモリ１４は、例えばＥＥＰＲＯＭ、ＦＲＡＭ（登録商標）などを備える。不揮発性メモリ１４は、例えば、制御用のプログラム、制御データ、アプリケーション、及びアプリケーションに用いられるデータなどを記憶する。
【００１６】
操作部１５は、例えば操作キーなどを備える。操作部１５は、端末装置１０の操作者により入力される操作に基づいて、操作信号を生成する。操作部１５は、生成した操作信号をＣＰＵ１１に入力する。
【００１７】
表示部１６は、ＣＰＵ１１、またはＣＰＵ１１により制御されるグラフィック処理部から入力される表示信号に基づいて、種々の情報を表示する。なお、端末装置１０は、操作部１５と表示部１６とが一体に形成されるタッチパネルを備える構成であってもよい。
【００１８】
カードリーダライタ１７は、ＩＣカード２０と通信を行うためのインターフェース装置である。カードリーダライタ１７は、ＩＣカード２０が装着されるスロット１８を備える。また、カードリーダライタ１７は、接触通信、または非接触通信によりスロット１８に装着されたＩＣカード２０とデータの送受信を行う。
【００１９】
接触通信のインターフェースとして用いられる場合、カードリーダライタ１７は、ＩＣカード２０が備えるコンタクトパターンと接続される複数の接触端子を備える。スロット１８にＩＣカード２０が装着される場合、カードリーダライタ１７の複数の接触端子は、ＩＣカード２０のコンタクトパターンに接続される。これにより、端末装置１０とＩＣカード２０とは電気的に接続される。カードリーダライタ１７は、スロットに装着されたＩＣカード２０に対して、電力の供給、クロックの供給、リセット信号の入力、及びデータの送受信などを行う。
【００２０】
また、非接触通信のインターフェースとして用いられる場合、カードリーダライタ１７は、送受信するデータに対して信号処理を施す信号処理部と、所定の共振周波数を有するアンテナとを備える。
【００２１】
カードリーダライタ１７は、例えば、信号処理部により、送受信するデータに対して符号化、復号、変調、及び復調などの信号処理を行なう。また、カードリーダライタ１７は、符号化及び変調を施したデータをアンテナに供給する。アンテナは、供給されたデータに応じて磁界を発生させる。これにより、端末装置１０は、スロットに装着されたＩＣカード２０に対してデータを非接触で送信することができる。
【００２２】
さらに、カードリーダライタ１７のアンテナは、磁界を検知し、検知した磁界に応じて信号を生成する。これにより、カードリーダライタ１７は、信号を非接触で受信することができる。信号処理部は、アンテナにより受信された信号に対して復調及び復号を行う。これにより、端末装置１０は、スロットに装着されたＩＣカード２０から送信された元のデータを取得することができる。
【００２３】
ＣＰＵ１１は、カードリーダライタ１７によりＩＣカード２０に対して種々のコマンドを入力する。ＩＣカード２０は、例えば、カードリーダライタ１７からデータの書き込みコマンドを受信した場合、受信したデータを内部の不揮発性メモリに書き込む処理を行う。
【００２４】
また、ＣＰＵ１１は、ＩＣカード２０に読み取りコマンドを送信することにより、ＩＣカード２０からデータを読み出す。ＣＰＵ１１は、ＩＣカード２０から受信したデータに基づいて種々の処理を行う。
【００２５】
図２は、図１に示すＩＣカード２０の構成例を示す。  
図２に示すように、ＩＣカード２０は、矩形状の本体と、本体内に内蔵されるＩＣモジュール２１を備えている。ＩＣモジュール２１は、ＩＣチップ２２を備える。
【００２６】
ＩＣチップ２２は、通信インターフェース２３、ＣＰＵ２４、ＲＯＭ２５、ＲＡＭ２６、不揮発性メモリ２７、及び電源部２８を備える。
【００２７】
通信インターフェース２３は、ＩＣカード２０に接続される外部機器（例えば端末装置１０）との間で送受信するデータに対して符号化、復号、変調、及び復調などを行う。
【００２８】
ＩＣカード２０が端末装置１０との間で接触通信によりデータの送受信を行う構成である場合、通信インターフェース２３は、コンタクトパターンを備える。コンタクトパターンは、導電性を有する金属などによりＩＣモジュール２１の表面に形成される接触端子である。即ち、コンタクトパターンは、端末装置１０と接触可能な状態で形成されている。コンタクトパターンは、金属により形成される面が複数のエリアに区切られて形成される。区切られた各エリアは、それぞれコンタクトパターンの端子として機能する。通信インターフェース２３は、コンタクトパターンを介してカードリーダライタ１７とデータの送受信を行うことができる。
【００２９】
また、非接触通信のインターフェースとして用いられる場合、通信インターフェース２３は、信号処理部とアンテナとを備える。
【００３０】
信号処理部は、端末装置１０に送信するデータに対して符号化、負荷変調などの信号処理を行う。例えば、信号処理部は、端末装置１０に送信するデータの変調（増幅）を行う。信号処理部は、信号処理を施したデータをアンテナに供給する。
【００３１】
アンテナは、例えば、ＩＣモジュール２１が内蔵される本体に所定の形状で配設される金属線により構成される。ＩＣカード２０は、端末装置１０に送信するデータに応じてアンテナにより磁界を発生させる。これにより、ＩＣカード２０は、端末装置１０に対してデータを送信することができる。また、ＩＣカード２０は、電磁誘導によりアンテナに発生する誘導電流に基づいて端末装置１０から送信されるデータを認識する。
【００３２】
例えば、信号処理部は、アンテナに発生する誘導電流に対して復調、及び復号を行う。例えば、信号処理部は、アンテナにより受信する信号の解析を行う。これにより、通信インターフェース２３は、２値の論理データを取得する。通信インターフェース２３は、解析したデータをバスを介してＣＰＵ２４に送信する。
【００３３】
また、通信インターフェース２３は、受信レジスタ及び送信レジスタを備える。受信レジスタ及び送信レジスタは、一般的なレジスタであり、ＩＣカード２０が送受信するデータを一時的に格納する。即ち、受信レジスタは、通信インターフェース２３を介して端末装置１０から受信するデータを一時的に格納する。また、送信レジスタは、通信インターフェース２３を介して端末装置１０に送信するデータを一時的に格納する。
【００３４】
ＣＰＵ２４は、種々の演算を行う演算素子である。ＣＰＵ２４は、ＲＯＭ２５あるいは不揮発性メモリ２７に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。これにより、ＣＰＵ２４は、ＩＣカード２０の全体の制御を司ることができる。例えば、ＣＰＵ２４は、端末装置１０のカードリーダライタ１７から受信したコマンドに応じて種々の処理を行い、処理結果に基づいて、レスポンスの生成を行なう。
【００３５】
ＲＯＭ２５は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＯＭ２５は、製造段階で制御プログラム及び制御データなどを記憶した状態でＩＣカード２０内に組み込まれる。即ち、ＲＯＭ２５に記憶される制御プログラム及び制御データは、予めＩＣカード２０の仕様に応じて組み込まれる。
【００３６】
ＲＡＭ２６は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ２６は、ＣＰＵ２４の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ２６は、ＣＰＵ２４が実行するプログラムを一時的に格納する。
【００３７】
不揮発性メモリ２７は、例えば、ＥＥＰＲＯＭあるいはフラッシュＲＯＭなどのデータの書き込み及び書換えが可能な不揮発性のメモリにより構成される。不揮発性メモリ２７は、ＩＣカード２０の運用用途に応じて制御プログラム及び種々のデータを格納する。
【００３８】
たとえば、不揮発性メモリ２７では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。ＣＰＵ２４は、不揮発性メモリ２７、または、ＲＯＭ２５に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【００３９】
電源部２８は、通信インターフェース２３を介してカードリーダライタ１７から電力を受給し、受給した電力をＩＣカード２０の各部に供給する。ＩＣカード２０が接触通信を行う構成を備える場合、電源部２８は、通信インターフェース２３のコンタクトパターンを介してカードリーダライタ１７から供給される電力をＩＣカード２０の各部に供給する。
【００４０】
また、ＩＣカード２０が非接触通信を行う構成を備える場合、カードリーダライタ１７のアンテナから送信される電波、特にキャリア波に基づいて電力を生成する。さらに、電源部２８は、動作クロックを生成する。電源部２８は、発生させた電力及び動作クロックをＩＣカード２０の各部に電力を供給する。ＩＣカード２０の各部は、電力の供給を受けた場合、動作可能な状態になる。
【００４１】
ＩＣカード２０は、一次発行と二次発行とにより発行される。ＩＣカード２０を発行する発行装置は、一次発行において、ＩＣカード２０にコマンド（初期化コマンド）を送信することにより、ＩＣカード２０の不揮発性メモリ２７の初期化を行う。これにより、端末装置１０は、ＩＣカード２０の不揮発性メモリ２７内にＩＣカード２０の使用目的、及び使用用途などに応じた鍵ファイルやデータファイル等を定義する。
【００４２】
発行装置は、例えば、ＩＳＯ／ＩＥＣ７８１６により規定されているファイル構造を不揮発性メモリ２７内に創成する。上記の初期化が行われた不揮発性メモリ２７は、Ｍａｓｔｅｒ  Ｆｉｌｅ（ＭＦ）、Ｄｅｄｉｃａｔｅｄ  Ｆｉｌｅ（ＤＦ）、及びＥｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＥＦ）などを有する。
【００４３】
ＭＦは、ファイル構造の根幹となるファイルである。ＤＦは、ＭＦの下位に創成される。ＤＦは、アプリケーション及びアプリケーションに用いられるデータなどをグループ化して格納するファイルである。ＥＦは、ＤＦの下位に創成される。ＥＦは、様々なデータを格納するためのファイルである。また、ＭＦの直下にＥＦが置かれる場合もある。
【００４４】
ＥＦには、Ｗｏｒｋｉｎｇ  Ｅｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＷＥＦ）とＩｎｔｅｒｎａｌ  Ｅｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＩＥＦ）などの種類がある。ＷＥＦは、作業用ＥＦであり、個人情報などを格納する。ＩＥＦは、内部ＥＦであり、例えば、セキュリティのための暗号鍵などのデータを記憶する。
【００４５】
二次発行では、ＥＦに例えば顧客データなどの個別データが格納される。これにより、ＩＣカード２０が運用可能な状態になる。即ち、ＣＰＵ２４は、不揮発性メモリ２７、または、ＲＯＭ２５に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【００４６】
以降、ＩＣカード２０と端末装置１０のカードリーダライタ１７とは、接触通信によりデータを伝送することを前提として説明する。
【００４７】
ＩＣカード２０とカードリーダライタ１７とが接触通信を行なう場合、ＩＣカード２０とカードリーダライタ１７との間に通信路４が確立される。ＩＣカード２０及びカードリーダライタ１７は、通信路４を介してデータの送受信を行うことができる。
【００４８】
図３は、ＩＣカード２０とカードリーダライタ１７との間で行われる接触通信の例を示す。例えば、図３は、カードリーダライタ１７からＩＣカード２０にユニットＡ、及びユニットＢのデータが送信される場合の通信路４の電圧の状態を示す。なお、縦軸は、通信路４の電圧の高さを示す。また、横軸は、時間の経過を示す。
【００４９】
ＩＣカード２０及びカードリーダライタ１７は、通信路４の電圧を制御することにより、互いにデータを送信する。ＩＣカード２０とカードリーダライタ１７は、例えば、通信路４に高い電圧を印加する状態（Ｈｉｇｈレベル）と、低い電圧を印加する状態（Ｌｏｗレベル）とを切り替えることにより、互いに２値のデータを送信する。
【００５０】
例えば、ＩＣカード２０及びカードリーダライタ１７は、１６進法で表現されるデータを２進法（２値データ）に置き換え、置き換えた２進法のデータに基づいて通信路４の電圧を制御する。
【００５１】
ＩＣカード２０とカードリーダライタ１７とは、互いに接続された場合、初期設定を行なう。例えば、リーダライタ１７は、ＩＣカード２０に初期設定を行なわせるための初期設定コマンドを送信する。ＩＣカード２０は、初期設定コマンドに応じて初期設定を行なう。これにより、ＩＣカード２０及びカードリーダライタ１７は、互いに共通した１単位区間（１  ｅｌｅｍｅｎｔａｒｙ  ｔｉｍｅ  ｕｎｉｔ：ｅｔｕ）をそれぞれ設定することができる。
【００５２】
ＩＣカード２０及びカードリーダライタ１７は、１単位区間毎に通信路４の電圧を制御することにより、データを送信することができる。また、ＩＣカード２０及びカードリーダライタ１７は、１単位区間毎に通信路４の電圧の値を解析することにより、データを受信することができる。即ち、１ｅｔｕは、１ビットのデータを送信するのに必要な時間を示す。
【００５３】
なお、カードリーダライタ１７とＩＣカード２０との間で伝送される１つのコマンドまたはレスポンスのデータ長に制限がある。この場合、カードリーダライタ１７は、ＩＣカード２０に送信するデータを複数のデータに分割し、分割したデータを用いて複数のユニットを生成する。カードリーダライタ１７は、生成した複数のユニットをＩＣカード２０に送信する。
【００５４】
図３の例によると、カードリーダライタ１７は、データを分割し、ユニットＡとユニットＢとを生成する。カードリーダライタ１７は、生成したユニットＡ及びユニットＢをＩＣカード２０に送信する。この場合、カードリーダライタ１７は、図３に示されるように、所定の通信間隔（ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｉｎｔｅｒｖａｌ）を置いてユニットＡとユニットＢとを続けてＩＣカード２０に送信する。即ち、カードリーダライタ１７は、ユニットＡの送信が完了し、所定の通信間隔が経過した場合、ユニットＢの送信を開始する。
【００５５】
ＩＣカード２０及びカードリーダライタ１７がデータの送受信を行なわない場合、通信路４は、Ｈｉｇｈレベルで維持される。なお、カードリーダライタ１７は、通信間隔においてデータの送信を行なわない。この為、ＩＣカード２０が通信間隔でデータの送信を行なわない場合、通信間隔の電圧は、図３に示されるようにＨｉｇｈレベルで維持される。
【００５６】
図４は、ＩＣカード２０とカードリーダライタ１７との間で行われる接触通信の例を示す。例えば、図４は、カードリーダライタ１７からＩＣカード２０にユニットＡ乃至ユニットＤのデータが送信される例を示す。
【００５７】
上記したように、送信側である端末装置１０のカードリーダライタ１７は、ＩＣカード２０に送信するデータ（送信データ）を予め定められたサイズ（ユニットサイズ）のユニットに分割する。ユニットは、送信側の端末から受信側の端末に送信するデータの単位を示すものである。なお、ユニットサイズは、上記の初期設定により設定される構成であってもよい。
【００５８】
図４の例では、ユニットサイズが５１２ｂｙｔｅであると仮定する。この場合、カードリーダライタ１７は、２０００ｂｙｔｅの送信データをユニットＡ乃至Ｄに分割する。
【００５９】
なお、カードリーダライタ１７は、各ユニットの末尾に、２ｂｙｔｅのエラー検出符号（Ｅｒｒｏｒ  Ｄｅｔｅｃｔｉｏｎ  Ｃｏｄｅ：ＥＤＣ）を付加する。また、カードリーダライタ１７は、最初に送信するユニットの先頭に２ｂｙｔｅのヘッダを付加する。
【００６０】
この結果、カードリーダライタ１７は、２ｂｙｔｅのヘッダと、５０８ｂｙｔｅの分割データと、２ｂｙｔｅのＥＤＣとを有するユニットＡを生成する。また、カードリーダライタ１７は、５１０ｂｙｔｅの分割データと、２ｂｙｔｅのＥＤＣとを有するユニットＢを生成する。また、カードリーダライタ１７は、５１０ｂｙｔｅの分割データと、２ｂｙｔｅのＥＤＣとを有するユニットＣを生成する。また、カードリーダライタ１７は、４７２ｂｙｔｅの分割データと、２ｂｙｔｅのＥＤＣとを有するユニットＤを生成する。
【００６１】
カードリーダライタ１７は、ユニットＡ乃至ＤをＩＣカード２０に順次送信する。この場合、カードリーダライタ１７は、各ユニットの間に上記した通信間隔を置いてユニットＡ乃至ユニットＤを送信する。
【００６２】
即ち、カードリーダライタ１７は、ユニットＡをＩＣカード２０に送信し（ステップＳ１１）、通信間隔が経過した後、ユニットＢをＩＣカード２０に送信する（ステップＳ１２）。また、カードリーダライタ１７は、ユニットＢを送信してから通信間隔が経過した後、ユニットＣをＩＣカード２０に送信する（ステップＳ１３）。また、カードリーダライタ１７は、ユニットＣを送信してから通信間隔が経過した後、ユニットＤをＩＣカード２０に送信する（ステップＳ１４）。
【００６３】
ＩＣカード２０は、ユニットＡ乃至Ｄを順次受信する。ＩＣカード２０は、各ユニットを受信した場合、ユニットの末尾に付加されているＥＤＣと、受信したユニットのデータとに基づいてエラー検出を行う。即ち、ＩＣカード２０は、ユニットＡに付加されていたＥＤＣにより、ユニットＡのデータのエラー検出を行う。また、ＩＣカード２０は、ユニットＢに付加されていたＥＤＣにより、ユニットＢのデータのエラー検出を行う。また、ＩＣカード２０は、ユニットＣに付加されていたＥＤＣにより、ユニットＣのデータのエラー検出を行う。また、ＩＣカード２０は、ユニットＤに付加されていたＥＤＣにより、ユニットＤのデータのエラー検出を行う。
【００６４】
エラーが検出されなかった場合、ＩＣカード２０は、受信したユニットＡ乃至Ｄに基づいて処理を行う。例えば、ＩＣカード２０は、ユニットＡのヘッダにより指定された処理をユニットＡ乃至Ｄの各データに基づいて実行する。例えば、ユニットＡ乃至Ｄの各データを内部の不揮発性メモリ２７に書き込む処理がヘッダにより指定された場合、ＩＣカード２０は、ユニットＡ乃至Ｄの各データを連結し、不揮発性メモリ２７のヘッダにより指定されたアドレスに書き込む。
【００６５】
ＩＣカード２０は、処理結果に基づいてレスポンスを生成し、このレスポンスを含むユニットをカードリーダライタ１７に送信する（ステップＳ１５）。
【００６６】
また、ユニットの受信時にエラーを検出した場合、ＩＣカード２０は、エラーを検出したユニットの直後の通信間隔で送信側の端末であるカードリーダライタ１７にエラーが発生したことを通知する。
【００６７】
図５は、受信側でエラーが検出された場合のカードリーダライタ１７及びＩＣカード２０の処理の例を示す。ここでは、ＩＣカード２０がユニットＢの受信時にエラーを検出した例を示す。
【００６８】
カードリーダライタ１７は、ユニットＡをＩＣカード２０に送信し（ステップＳ２１）、通信間隔が経過した後、ユニットＢをＩＣカード２０に送信する（ステップＳ２２）。
【００６９】
ＩＣカード２０は、ユニットＢに付加されていたＥＤＣにより、ユニットＢのデータのエラー検出を行う。ユニットの受信時にエラーを検出した場合、ＩＣカード２０は、エラーを検出したユニットの直後の通信間隔で送信側の端末であるカードリーダライタ１７にエラーが発生したことを通知する。
【００７０】
本例では、ＩＣカード２０は、ユニットの受信時にエラーを検出した場合、直前のユニットの再送要求をカードリーダライタ１７に送信する。即ち、ＩＣカード２０は、ユニットＢのデータのエラーを検出した場合、ユニットＢの直後の通信間隔の間にユニットＢの再送を端末装置１０に要求する為の再送要求をカードリーダライタ１７に送信する（ステップＳ２３）。
【００７１】
カードリーダライタ１７は、再送要求を受信した場合、直前に送信したユニットをＩＣカード２０に送信する。即ち、カードリーダライタ１７は、ユニットＢを送信した後の通信間隔の間に、ＩＣカード２０から再送要求を受信した場合、通信間隔の後にユニットＢをＩＣカード２０に再送する（ステップＳ２４）。
【００７２】
図６は、ＩＣカード２０から再送要求が送信された場合の通信路４の電圧の状態を示す。なお、縦軸は、通信路４の電圧の高さを示す。また、横軸は、時間の経過を示す。
【００７３】
図６に示されるように、再送要求は、例えば、所定の長さのＬｏｗレベルにより表現される。即ち、受信側であるＩＣカード２０は、エラーを検出した場合、通信路４の電圧を所定時間の間Ｌｏｗレベルに制御する。これによりＩＣカード２０は、再送要求を送信することができる。
【００７４】
また、送信側であるカードリーダライタ１７は、通信間隔で通信路４の電圧が所定時間の間Ｌｏｗレベルであることを検出した場合、ＩＣカード２０から再送要求が送信されたことを認識する。この場合、カードリーダライタ１７は、直前に送信したユニットをＩＣカード２０に再度送信する。
【００７５】
例えば、ＩＣカード２０は、エラーを検出した場合、通信路４の電圧を２ｅｔｕの間Ｌｏｗレベルに制御する。カードリーダライタ１７は、通信間隔中において、２ｅｔｕ長さのＬｏｗレベルを検出した場合、ＩＣカード２０から再送要求が送信されたことを認識する。
【００７６】
また図５に示されるように、カードリーダライタ１７は、ユニットＢを再送してから通信間隔が経過した後、ユニットＣをＩＣカード２０に送信する（ステップＳ２５）。また、カードリーダライタ１７は、ユニットＣを送信してから通信間隔が経過した後、ユニットＤをＩＣカード２０に送信する（ステップＳ２６）。
【００７７】
ＩＣカード２０は、受信したユニットＡ乃至Ｄに基づいて処理を行い、レスポンスを生成する。ＩＣカード２０は、生成したレスポンスを含むユニットをカードリーダライタ１７に送信する（ステップＳ２７）。
【００７８】
上記したように、送信側であるカードリーダライタ１７は、大容量のデータを受信側であるＩＣカード２０に送信する場合、データを分割し、分割されたデータを有する複数のユニットを生成する。カードリーダライタ１７は、生成した複数のユニットを所定間隔、即ち通信間隔を空けて順次ＩＣカード２０に送信する。これにより、カードリーダライタ１７は、ＩＣカード２０からのレスポンスを待つことなく大容量のデータを連続してＩＣカード２０に送信することができる。
【００７９】
また、上記の構成によると、カードリーダライタ１７及びＩＣカード２０は、１ブロックでサイズに制限なく大容量データを送受信することが出来る。例えば、カードリーダライタ１７及びＩＣカード２０は、通信品質の悪い環境などでの大容量データを送受信する場合、ユニットに分割して送受信を行う。これにより、カードリーダライタ１７及びＩＣカード２０は、伝送異常があった場合でも該当するユニットのみを再送することにより、大容量データの伝送を継続することができるため、平均での通信効率を向上させることができる。
【００８０】
この結果、より高速に通信することができるＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムを提供することができる。
【００８１】
なお、上記した実施形態では、ＩＣカード２０は、エラーを検出した場合、通信路４の電圧を２ｅｔｕの間Ｌｏｗレベルに制御することにより再送要求を送信する構成であると説明したが、この構成に限定されない。送信側と受信側とで対応が取れていれば、受信側は、如何なる方法により再送要求を送信する構成であってもよい。
【００８２】
例えば、受信側であるＩＣカード２０は、エラーを検出した場合、通信路４の電圧を１ｅｔｕの間Ｌｏｗレベルに制御する構成であってもよい。この場合、通信間隔は、少なくとも１ｅｔｕだけあればよい。即ち、この構成によると、通信間隔を短くすることができる。これにより、送信側と受信側とは、さらに高速に通信を行なうことができる。
【００８３】
また、受信側であるＩＣカード２０は、通信間隔中の通信路４の電圧を制御することにより、さらに他の情報を送信側であるカードリーダライタ１７に送信する構成であってもよい。
【００８４】
図７は、カードリーダライタ１７及びＩＣカード２０の処理の他の例を示す。上記したように、カードリーダライタ１７は、複数のユニットを逐次ＩＣカード２０に送信する。この結果、ＩＣカード２０の受信処理が追いつかず、オーバーフローが発生する場合がある。即ち、ＩＣカード２０は、受信したデータをレジスタに一時的に保持し、不揮発性メモリ２７またはＲＡＭ２６などに書き込み、レジスタのデータを消去する。しかし、レジスタのデータの消去が書き込みより遅い場合、レジスタにおいてオーバーフローが発生する可能性がある。
【００８５】
そこで、ＩＣカード２０は、通信間隔中の通信路４の電圧を制御することにより、中断要求を送信側であるカードリーダライタ１７に送信する。例えば、ＩＣカード２０は、上記したようなオーバーフローが発生する可能性があると判断した場合、中断要求を送信側であるカードリーダライタ１７に送信する。
【００８６】
図７に示されるように、カードリーダライタ１７は、ユニットＡをＩＣカード２０に送信し（ステップＳ３１）、通信間隔が経過した後、ユニットＢをＩＣカード２０に送信する（ステップＳ３２）。
【００８７】
ＩＣカード２０は、各ユニットを受信する毎に、オーバーフローが発生するか否かを判断する。例えば、ユニットＢを受信した時点でオーバーフローが発生する可能性があると判断した場合、ＩＣカード２０は、通信間隔中の通信路４の電圧を制御することにより、中断要求を送信側であるカードリーダライタ１７に送信する（ステップＳ３３）。
【００８８】
カードリーダライタ１７は、中断要求を受信した場合、次のユニットの送信を中断する。ＩＣカード２０は、カードリーダライタ１７の動作を中断させている間に、先に受信したユニットの受信処理を進める。これにより、ＩＣカード２０は、レジスタのオーバーフローを改善することが出来る。
【００８９】
さらに、ＩＣカード２０は、オーバーフローが発生する可能性があるか否かを判断する。例えば、ＩＣカード２０は、レジスタの空き容量を監視し、次に受信するユニットのサイズと空き容量とに基づいてオーバーフローが発生する可能性があるか否か判断する。オーバーフローが発生する可能性がないと判断した場合、ＩＣカード２０は、通信間隔中の通信路４の電圧を制御することにより、再開要求を送信側であるカードリーダライタ１７に送信する（ステップＳ３４）。
【００９０】
カードリーダライタ１７は、再開要求を受信した場合、次のユニットの送信を開始する。即ち、カードリーダライタ１７は、再開要求を受信した場合、次のユニットであるユニットＣをＩＣカード２０に送信する（ステップＳ３５）。また、カードリーダライタ１７は、ユニットＣを送信してから通信間隔が経過した後、ユニットＤをＩＣカード２０に送信する（ステップＳ３６）。これにより、ＩＣカード２０は、受信時のオーバーフローを発生させることなく受信処理を進めることが出来る。
【００９１】
ＩＣカード２０は、受信したユニットＡ乃至Ｄに基づいて処理を行い、レスポンスを生成する。ＩＣカード２０は、生成したレスポンスを含むユニットをカードリーダライタ１７に送信する（ステップＳ３７）。
【００９２】
図８は、ＩＣカード２０から中断要求及び再開要求が送信された場合の通信路４の電圧の状態を示す。なお、縦軸は、通信路４の電圧の高さを示す。また、横軸は、時間の経過を示す。
【００９３】
図８に示されるように、中断要求は、例えば、所定の長さのＬｏｗレベルとＨｉｇｈレベルとの組合せにより表現される。即ち、受信側であるＩＣカード２０は、中断要求を送信する場合、通信路４の電圧が中断要求に対応した所定の波形になるように通信路４の電圧を制御する。これによりＩＣカード２０は、中断要求を送信することができる。
【００９４】
例えば、ＩＣカード２０は、中断要求を送信する場合、２ｅｔｕのＬｏｗレベルと、２ｅｔｕのＨｉｇｈレベルと、２ｅｔｕのＬｏｗレベルと、が連続するように通信路４の電圧を制御する。カードリーダライタ１７は、通信間隔中において、２ｅｔｕのＬｏｗレベルと、２ｅｔｕのＨｉｇｈレベルと、２ｅｔｕのＬｏｗレベルとが連続した波形を検出した場合、ＩＣカード２０から中断要求が送信されたことを認識する。
【００９５】
また、図８に示されるように、再開要求は、中断要求と同様の波形により表現される。即ち、ＩＣカード２０は、再開要求を送信する場合、２ｅｔｕのＬｏｗレベルと、２ｅｔｕのＨｉｇｈレベルと、２ｅｔｕのＬｏｗレベルと、が連続するように通信路４の電圧を制御する。
【００９６】
カードリーダライタ１７は、既に中断要求を受信しており、且つ通信間隔中において２ｅｔｕのＬｏｗレベルと２ｅｔｕのＨｉｇｈレベルと２ｅｔｕのＬｏｗレベルとが連続した波形を検出した場合、ＩＣカード２０から再開要求が送信されたことを認識する。即ち、カードリーダライタ１７は、中断中に所定の波形を検出した場合、ＩＣカード２０から再開要求が送信されたことを認識する。この場合、カードリーダライタ１７は、次のユニットの送信を開始する。
【００９７】
上記した構成によると、受信側であるＩＣカード２０は、各ユニットの通信間隔で送信側であるカードリーダライタ１７に中断要求を送信することができる。これにより、ＩＣカード２０は、受信時のオーバーフローなどを発生させることなく、安定して受信処理を進めることが出来る。
【００９８】
なお、上記した実施形態では、ＩＣカード２０は、２ｅｔｕのＬｏｗレベルと、２ｅｔｕのＨｉｇｈレベルと、２ｅｔｕのＬｏｗレベルと、が連続するように通信路４の電圧を制御することにより中断要求または再開要求を送信する構成であると説明したが、この構成に限定されない。送信側と受信側とで対応が取れていれば、受信側は、如何なる方法により中断要求及び再開要求を送信する構成であってもよい。
【００９９】
例えば、受信側であるＩＣカード２０は、中断要求または再開要求を送信する場合、通信路４の電圧を再送要求とは異なる長さの間Ｌｏｗレベルに制御する構成であってもよい。この場合、通信間隔は、少なくとも２ｅｔｕだけあればよい。即ち、この構成によると、通信間隔を短くすることができる。これにより、送信側と受信側とは、高速、且つ安定した通信を行なうことができる。
【０１００】
また、例えば、受信側であるＩＣカード２０は、通信路４の電圧をＬｏｗレベルに制御する回数に応じて再送要求、中断要求、及び再開要求を送信する構成であってもよい。例えば、受信側であるＩＣカード２０は、通信路４の電圧を１回Ｌｏｗレベルに制御することにより、再送要求を送信側であるカードリーダライタ１７に送信することができる。また、ＩＣカード２０は、通信路４の電圧を２回Ｌｏｗレベルに制御することにより、中断要求、及び再開要求をカードリーダライタ１７に送信することができる。
【０１０１】
また、上記の図４、図５、及び図７では、端末装置１０のカードリーダライタ１７が送信側として、受信側であるＩＣカード２０に大容量のデータを送信する例について説明したが、送信側と受信側とが逆であっても容易に上記の実施形態を適用することが出来る。
【０１０２】
図９は、送信側がＩＣカード２０であり受信側がカードリーダライタ１７である場合の処理の例を示す。また、ここでは、カードリーダライタ１７がユニットＢの受信時にエラーを検出した例を示す。
【０１０３】
カードリーダライタ１７は、ＩＣカード２０にコマンドを送信する（ステップＳ４１）。例えば、カードリーダライタ１７は、ＩＣカード２０の不揮発性メモリ２７に記憶されている大容量のデータを読み出す為のリードコマンドを送信する。
【０１０４】
ＩＣカード２０は、コマンドを受信した場合、受信したコマンドに応じた処理を実行する。この場合、ＩＣカード２０は、リードコマンドにより指定されたデータを読み出し、カードリーダライタ１７に送信する処理を実行する。
【０１０５】
ＩＣカード２０は、リードコマンドにより指定されたデータを読み出す。ＩＣカード２０は、読み出したデータが１つのユニットにより送信することができる容量を超えていた場合、読み出したデータを分割し、複数のユニットを生成する。本例では、ＩＣカード２０は、ユニットＡ乃至Ｄを生成する。
【０１０６】
ＩＣカード２０は、ユニットＡをカードリーダライタ１７に送信し（ステップＳ４２）、通信間隔が経過した後、ユニットＢをカードリーダライタ１７に送信する（ステップＳ４３）。
【０１０７】
カードリーダライタ１７は、ユニットＢに付加されていたＥＤＣにより、ユニットＢのデータのエラー検出を行う。ユニットの受信時にエラーを検出した場合、カードリーダライタ１７は、エラーを検出したユニットの直後の通信間隔で送信側の端末であるＩＣカード２０にエラーが発生したことを通知する。
【０１０８】
カードリーダライタ１７は、ユニットの受信時にエラーを検出した場合、上記した実施形態と同様に、直前のユニットの再送要求をＩＣカード２０に送信する。即ち、カードリーダライタ１７は、ユニットＢのデータのエラーを検出した場合、ユニットＢの直後の通信間隔の間にユニットＢの再送を端末装置１０に要求する為の再送要求をＩＣカード２０に送信する（ステップＳ４４）。
【０１０９】
ＩＣカード２０は、再送要求を受信した場合、直前に送信したユニットをカードリーダライタ１７に送信する。即ち、ＩＣカード２０は、ユニットＢを送信した後の通信間隔の間に、カードリーダライタ１７から再送要求を受信した場合、通信間隔の後にユニットＢをカードリーダライタ１７に再送する（ステップＳ４５）。
【０１１０】
なお、再送要求は、上記した実施形態と同様に、所定の長さのＬｏｗレベルにより表現される。即ち、受信側であるカードリーダライタ１７は、エラーを検出した場合、通信路４の電圧を所定時間の間Ｌｏｗレベルに制御する。これによりカードリーダライタ１７は、再送要求を送信することができる。
【０１１１】
また、送信側であるＩＣカード２０は、通信間隔で通信路４の電圧が所定時間の間Ｌｏｗレベルであることを検出した場合、カードリーダライタ１７から再送要求が送信されたことを認識する。この場合、ＩＣカード２０は、直前に送信したユニットをカードリーダライタ１７に再度送信する。
【０１１２】
例えば、カードリーダライタ１７は、エラーを検出した場合、通信路４の電圧を２ｅｔｕの間Ｌｏｗレベルに制御する。ＩＣカード２０は、通信間隔中において、２ｅｔｕ長さのＬｏｗレベルを検出した場合、カードリーダライタ１７から再送要求が送信されたことを認識する。
【０１１３】
また図９に示されるように、ＩＣカード２０は、ユニットＢを再送してから通信間隔が経過した後、ユニットＣをカードリーダライタ１７に送信する（ステップＳ４６）。また、ＩＣカード２０は、ユニットＣを送信してから通信間隔が経過した後、ユニットＤをカードリーダライタ１７に送信する（ステップＳ４７）。
【０１１４】
上記したように、送信側であるＩＣカード２０は、大容量のデータを受信側であるカードリーダライタ１７に送信する場合、データを分割し、分割されたデータを有する複数のユニットを生成する。ＩＣカード２０は、生成した複数のユニットを所定間隔、即ち通信間隔を空けて順次カードリーダライタ１７に送信する。これにより、ＩＣカード２０は、カードリーダライタ１７からのレスポンスを待つことなく大容量のデータを連続してカードリーダライタ１７に送信することができる。
【０１１５】
この結果、より高速に通信することができるＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムを提供することができる。
【０１１６】
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
【０１１７】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【０１１８】
１…ＩＣカード処理システム、４…通信路、１０…端末装置、１１…ＣＰＵ、１２…ＲＡＭ、１３…ＲＯＭ、１４…不揮発性メモリ、１５…操作部、１６…表示部、１７…カードリーダライタ、１８…スロット、１９…バス、２０…ＩＣカード、２１…ＩＣモジュール、２２…ＩＣチップ、２３…通信インターフェース、２４…ＣＰＵ、２５…ＲＯＭ、２６…ＲＡＭ、２７…不揮発性メモリ、２８…電源部。
【図１】
2013125400.tif 000003
【図２】
2013125400.tif 000004
【図３】
2013125400.tif 000005
【図４】
2013125400.tif 000006
【図５】
2013125400.tif 000007
【図６】
2013125400.tif 000008
【図７】
2013125400.tif 000009
【図８】
2013125400.tif 000010
【図９】
2013125400.tif 000011