(57)【要約】【課題】通信エラーが生じても効率よくデータを送受信することができるＩＣカード、携帯可能電子装置、及び、ＩＣカード処理装置を提供する。【解決手段】  実施形態によれば、ＩＣカードは、通信部と、分割部と、送信部と、検知部と、再送処理部と、を備える。分割部は、前記外部装置へ送信されるデータを分割する。送信部は、前記通信部を通じて、前記外部装置へ、誤り検出符号を付与した分割データを所定の無送信区間をあけて断続的に分割データを送信する。検知部は、前記無送信区間において、前記外部装置から分割データの受信が失敗したことを示すエラー通知が送信されたことを検知する。再送処理部は、前記検知部が前記エラー通知を検知すると、前記送信部が直前に送信した、誤り検出符号を付与された分割データを再送する。【選択図】図５
2015060409.tif 000002
【特許請求の範囲】
【請求項１】
外部装置からのコマンドを実行するＩＣカードであって、
外部装置とデータを非接触で送受信する通信部と、
前記外部装置へ送信されるデータを分割する分割部と、
前記通信部を通じて、前記外部装置へ、誤り検出符号を付与した分割データを所定の無送信区間をあけて断続的に分割データを送信する送信部と、
前記無送信区間において、前記外部装置から分割データの受信が失敗したことを示すエラー通知が送信されたことを検知する検知部と、
前記検知部が前記エラー通知を検知すると、前記送信部が直前に送信した、誤り検出符号を付与された分割データを再送する再送処理部と、
を備えるＩＣカード。
【請求項２】
前記検知部は、前記エラー通知として、前記外部装置から送信される搬送波が変調されたことを検知する、
前記請求項１に記載のＩＣカード。
【請求項３】
前記分割部は、前記通信部がデータを前記外部装置に送信することを失敗した後に、前記データを分割する、
前記請求項１又は２に記載のＩＣカード。
【請求項４】
前記分割部は、前記通信部が前記外部装置からデータを分割して送信する指示を受信すると、前記データを分割する、
前記請求項１乃至３の何れか１項に記載のＩＣカード。
【請求項５】
外部装置からのコマンドを実行するＩＣカードであって、
外部装置とデータを非接触で送受信する通信部と、前記外部装置へ送信されるデータを分割する分割部と、前記通信部を通じて、前記外部装置へ、誤り検出符号を付与した分割データを所定の無送信区間をあけて断続的に分割データを送信する送信部と、前記無送信区間において、前記外部装置から分割データの受信が失敗したことを示すエラー通知が送信されたことを検知する検知部と、前記検知部が前記エラー通知を検知すると、前記送信部が直前に送信した、誤り検出符号を付与された分割データを再送する再送処理部と、を備えるモジュールと、
前記モジュールを収納した本体と、
を備えるＩＣカード。
【請求項６】
外部装置からのコマンドを実行する携帯可能電子装置であって、
外部装置とデータを非接触で送受信する通信部と、
前記外部装置へ送信されるデータを分割する分割部と、
前記通信部を通じて、前記外部装置へ、誤り検出符号を付与した分割データを所定の無送信区間をあけて断続的に分割データを送信する送信部と、
前記無送信区間において、前記外部装置から分割データの受信が失敗したことを示すエラー通知が送信されたことを検知する検知部と、
前記検知部が前記エラー通知を検知すると、前記送信部が直前に送信した、誤り検出符号を付与された分割データを再送する再送処理部と、
を備える携帯可能電子装置。
【請求項７】
ＩＣカードにコマンドを送信するＩＣカード処理装置であって、
ＩＣカードとデータを非接触で送受信する通信部と、
前記通信部を通じて、前記ＩＣカードから、誤り検出符号を付与された分割データを受信する受信部と、
前記受信部が受信した前記分割データに含まれる前記誤り検出符号に基づいて、前記分割データが正しく受信された判定する判定部と、
前記判定部が、前記分割データが正しく受信されていないと判定すると、前記ＩＣカードに分割データの受信が失敗したことを示すエラー通知を送信する通信処理部と、
を備えるＩＣカード処理装置。
【請求項８】
前記再送処理部は、前記エラー通知として、前記ＩＣカードへ送信する搬送波を変調する、
前記請求項７に記載のＩＣカード処理装置。
【請求項９】
さらに、
データを分割して送信する指示を前記ＩＣカードへ送信する送信部を備える、
前記請求項７又は８に記載のＩＣカード処理装置。
【請求項１０】
前記送信部は、前記通信部が前記ＩＣカードからデータを受信することに失敗した後に、前記データを分割して送信する指示を前記ＩＣカードへ送信する、
前記請求項７乃至９の何れか１項に記載のＩＣカード処理装置。
【請求項１１】
ＩＣカードにコマンドを送信するＩＣカード処理装置であって、
ＩＣカードとデータを非接触で送受信する通信部と、
前記ＩＣカードへ送信されるデータを分割する分割部と、
前記通信部を通じて、前記ＩＣカードへ、誤り検出符号を付与した分割データを所定の無送信区間をあけて断続的に分割データを送信する送信部と、
前記無送信区間において、前記ＩＣカードから分割データの受信が失敗したことを示すエラー通知が送信されたことを検知する検知部と、
前記検知部が前記エラー通知を検知すると、前記送信部が直前に送信した、誤り検出符号を付与された分割データを再送する再送処理部と、
を備えるＩＣカード処理装置。
【請求項１２】
前記検知部は、前記エラー通知として、前記ＩＣカードから送信される搬送波が変調されたことを検知する、
前記請求項１１に記載のＩＣカード処理装置。
【請求項１３】
前記検知部は、前記エラー通知として、前記ＩＣカードから第２搬送波が送信されたことを検知する、
前記請求項１１に記載のＩＣカード処理装置。
【請求項１４】
前記分割部は、前記通信部がデータを前記ＩＣカードに送信することを失敗した後に、前記データを分割する、
前記請求項１１乃至１３の何れか１項に記載のＩＣカード処理装置。
【請求項１５】
前記分割部は、前記通信部が前記ＩＣカードからデータを分割して送信する指示を受信すると、前記データを分割する、
前記請求項１１乃至１４の何れか１項に記載のＩＣカード処理装置。
【請求項１６】
外部装置からのコマンドを実行するＩＣカードであって、
外部装置とデータを非接触で送受信する通信部と、
前記通信部を通じて、前記外部装置から、誤り検出符号を付与された分割データを受信する受信部と、
前記受信部が受信した前記分割データに含まれる前記誤り検出符号に基づいて、前記分割データが正しく受信された判定する判定部と、
前記判定部が、前記分割データが正しく受信されていないと判定すると、前記外部装置に分割データの受信が失敗したことを示すエラー通知を送信する通信処理部と、
を備えるＩＣカード。
【請求項１７】
前記再送処理部は、前記エラー通知として、前記外部装置へ送信する搬送波を変調する、
前記請求項１６に記載のＩＣカード。
【請求項１８】
前記再送処理部は、前記エラー通知として、前記外部装置へ第２搬送波を送信する、
前記請求項１６に記載のＩＣカード。
【請求項１９】
さらに、
データを分割して送信する指示を前記外部装置へ送信する送信部を備える、
前記請求項１６乃至１８の何れか１項に記載のＩＣカード置。
【請求項２０】
前記送信部は、前記通信部が前記外部装置からデータを受信することに失敗した後に、前記データを分割して送信する指示を前記外部装置へ送信する、
前記請求項１６乃至１９の何れか１項に記載のＩＣカード。
【請求項２１】
外部装置からのコマンドを実行するＩＣカードであって、
外部装置とデータを非接触で送受信する通信部と、前記通信部を通じて、前記外部装置から、誤り検出符号を付与された分割データを受信する受信部と、前記受信部が受信した前記分割データに含まれる前記誤り検出符号に基づいて、前記分割データが正しく受信された判定する判定部と、前記判定部が、前記分割データが正しく受信されていないと判定すると、前記外部装置に分割データの受信が失敗したことを示すエラー通知を送信する通信処理部と、を備えるモジュールと、
前記モジュールを収納した本体と、
を備えるＩＣカード。
【請求項２２】
外部装置からのコマンドを実行する携帯可能電子装置であって、
外部装置とデータを非接触で送受信する通信部と、
前記通信部を通じて、前記外部装置から、誤り検出符号を付与された分割データを受信する受信部と、
前記受信部が受信した前記分割データに含まれる前記誤り検出符号に基づいて、前記分割データが正しく受信された判定する判定部と、
前記判定部が、前記分割データが正しく受信されていないと判定すると、前記外部装置に分割データの受信が失敗したことを示すエラー通知を送信する通信処理部と、
を備える携帯可能電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣカード、携帯可能電子装置、及び、ＩＣカード処理装置に関する。
【背景技術】
【０００２】
ＩＣカードなどの携帯可能電子装置は、外部装置とのデータ通信において、通信エラーを検知するため誤り検出符号（ＥＤＣ）を用いることがある。従来、ＩＣカードは、メッセージ全体に対してＥＤＣを付与し、送信先の外部装置がメッセージの正当性を確認できるまで再送処理を繰り返す。しかしながら、メッセージの容量が大きい場合、ＩＣカードは、大容量データを再送する必要があり、通信時間及び全体の処理時間が長くなる可能性がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１５０５９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の課題を解決するために、通信エラーが生じても効率よくデータを送受信することができるＩＣカード、携帯可能電子装置、及び、ＩＣカード処理装置を提供する。
【課題を解決するための手段】
【０００５】
実施形態によれば、ＩＣカードは、通信部と、分割部と、送信部と、検知部と、再送処理部と、を備える。通信部は、外部装置とデータを非接触で送受信する。分割部は、前記外部装置へ送信されるデータを分割する。送信部は、前記通信部を通じて、前記外部装置へ、誤り検出符号を付与した分割データを所定の無送信区間をあけて断続的に分割データを送信する。検知部は、前記無送信区間において、前記外部装置から分割データの受信が失敗したことを示すエラー通知が送信されたことを検知する。再送処理部は、前記検知部が前記エラー通知を検知すると、前記送信部が直前に送信した、誤り検出符号を付与された分割データを再送する。
【図面の簡単な説明】
【０００６】
【図１】図１は、第１実施形態に係るＩＣカードとＩＣカード処理装置とを有するＩＣカードシステムの構成例を示す図である。
【図２】図２は、第１実施形態に係るＩＣカードの構成例を示すブロック図である。
【図３】図３は、第１実施形態に係るＩＣカードとＩＣカード処理装置とが送受信するデータブロックのフォーマットの構成例を示す図である。
【図４】図４は、第１実施形態に係るＩＣカードとＩＣカード処理装置とが送受信するＲ−ｂｌｏｃｋのＰＣＢのフォーマット例を示す図である。
【図５】図５は、第１実施形態に係るＩＣカードとＩＣカード処理装置との通信エラーを含む通信シーケンスの例を示す図である。
【図６】図６は、第１実施形態に係るＩＣカードの動作例を説明するためのフローチャートである。
【図７】図７は、第１実施形態に係るＩＣカードの動作例を説明するためのフローチャートである。
【図８】図８は、第２実施形態に係るＩＣカードとＩＣカード処理装置との通信エラーを含む通信シーケンスの例を示す図である。
【図９】図９は、第２実施形態に係るＩＣカード処理装置の動作例を説明するためのフローチャートである。
【図１０】図１０は、第２実施形態に係るＩＣカード処理装置の動作例を説明するためのフローチャートである。
【発明を実施するための形態】
【０００７】
（第１実施形態）
以下、第１実施形態について、図面を参照して説明する。  
図１は、実施形態に係る携帯可能電子装置としてのＩＣカード２と、ＩＣカード２と通信を行う外部装置としてのＩＣカード処理装置１とを備えるＩＣカードシステムの構成例について説明するためのブロック図である。
【０００８】
ＩＣカード２は、外部装置から与えられるコマンドを処理し、その処理結果をレスポンスとして出力する携帯可能電子装置である。実施形態においては、ＩＣカード２は、非接触型のＩＣカードである。実施形態において想定する非接触型ＩＣカードとしてのＩＣカード２は、例えば、国際的な標準規格であるＩＳＯ／ＩＥＣ  １４４４３−４に準拠するものとする。
【０００９】
まず、ＩＣカード処理装置１の構成について説明する。  
図１に示す構成例において、ＩＣカード処理装置１は、制御部１０、カードリーダライタ１５、操作部１７、および、ディスプレイ１８を有する。また、制御部１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、および、不揮発性メモリ１４を有する。たとえば、制御部１０は、パーソナルコンピュータ（ＰＣ）により構成されるようにしても良い。ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、カードリーダライタ１５、操作部１７及びディスプレイ１８は、それぞれバスを介して互いに接続される。
【００１０】
ＣＰＵ１１は、ＩＣカード処理装置１全体の制御を司る。ＣＰＵ１１は、ＲＯＭ１２又は不揮発性メモリ１４に記憶されている制御プログラムを実行することにより種々の処理を行う。例えば、ＣＰＵ１１は、カードリーダライタ１５を介してＩＣカード２とコマンド及びレスポンスの送受信を行う。
【００１１】
ＲＯＭ１２は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＡＭ１３は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ１３は、ＣＰＵ１１の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ１３は、カードリーダライタ１５を介して外部の機器と送受信するデータを一時的に格納する。また、ＲＡＭ１３は、ＣＰＵ１１が実行するプログラムを一時的に格納する。
【００１２】
不揮発性メモリ１４は、例えば、ＥＥＰＲＯＭなどの書き換え可能な不揮発性メモリにより構成する。不揮発性メモリ１４は、例えば、制御用のプログラム、制御データ、アプリケーション、及びアプリケーションに用いられるデータなどを記憶する。
【００１３】
カードリーダライタ１５は、ＩＣカード２との通信を行うためのインターフェース装置である。カードリーダライタ１５は、ＩＣカード２の通信方式に応じたインターフェースにより構成される。ＩＣカード２が非接触型のＩＣカードである場合、カードリーダライタ１５は、ＩＣカード２との無線通信を行うためのアンテナおよび通信制御部などにより構成される。
【００１４】
非接触型のＩＣカードに対応するカードリーダライタ１５は、ＩＣカード２に対して、電力供給及びデータ送受信などのための搬送波を供給する。カードリーダライタ１５は、所定の周波数に変調された搬送波をＩＣカード２に対して供給する。カードリーダライタ１５は、制御部１０からの指示に基づいて、搬送波を変調することができる。
【００１５】
非接触型のＩＣカードに対応するカードリーダライタ１５では、ＩＣカード２に対するリセット制御、データの送受信が行われるようになっている。このような機能によってカードリーダライタ１５は、制御部１０のＣＰＵ１１による制御に基づいてＩＣカード２の活性化（起動）、種々のコマンドの送信、及び送信したコマンドに対する応答（レスポンス）の受信などを行なう。
【００１６】
操作部１７は、ＩＣカード処理装置１の操作者によって、種々の操作指示が入力される。操作部１７は、操作者に入力された操作指示のデータをＣＰＵ１１へ送信する。操作部１７は、たとえば、キーボード、テンキー、及び、タッチパネルなどである。  
ディスプレイ１８は、ＣＰＵ１１の制御により種々の情報を表示する表示装置である。ディスプレイ１８は、たとえば、液晶表示装置である。
【００１７】
次に、ＩＣカード２について説明する。  
ＩＣカード２は、ＩＣカード処理装置１などの上位機器から電力などの供給を受けて活性化される（動作可能な状態になる）ようになっている。ＩＣカード２は、通信インターフェースとしてのアンテナ及び変復調回路などを介してＩＣカード処理装置１からの電波を受信し、その電波から図示しない電源部により動作電源及び動作クロックを生成して活性化するようになっている。
【００１８】
次に、ＩＣカード２の構成例について説明する。  
図２は、実施形態に係るＩＣカード２の構成例を概略的に示すブロック図である。  
ＩＣカード２は、プラスチックなどで形成されたカード状の本体Ｃを有する。ＩＣカード２は、本体Ｃ内にモジュールＭが内蔵されている。モジュールＭは、１つまたは複数のＩＣチップＣａと通信部としての外部インターフェース（通信インターフェース）とが接続された状態で一体的に形成され、ＩＣカード２の本体Ｃ内に埋設されている。
【００１９】
図２に示す構成例において、ＩＣカード２は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、不揮発性メモリ２４、通信部２５を備えている。これらの各部は、データバスを介して互いに接続されている。また、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、および不揮発性メモリ２４は、１つ又は複数のＩＣチップＣａにより構成され、通信部２５に接続された状態でモジュールＭを構成している。
【００２０】
ＣＰＵ２１は、ＩＣカード２全体の制御を司る制御部として機能する。ＣＰＵ２１は、ＲＯＭ２２あるいは不揮発性メモリ２４に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。たとえば、ＣＰＵ２１は、ＲＯＭ２２に記憶されているプログラムを実行することにより、ＩＣカード２の動作制御あるいはＩＣカード２の運用形態に応じた種々の処理を行う。なお、各種の機能のうちの一部は、ハードウエア回路により実現されるものであっても良い。この場合、ＣＰＵ２１は、ハードウエア回路により実行される機能を制御する。
【００２１】
ＲＯＭ２２は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＯＭ２２は、製造段階で制御プログラム及び制御データなどを記憶した状態でＩＣカード２に組み込まれる。即ち、ＲＯＭ２２に記憶される制御プログラム及び制御データは、予めＩＣカード２の仕様に応じて組み込まれる。
【００２２】
ＲＡＭ２３は、揮発性のメモリである。ＲＡＭ２３は、ＣＰＵ２１の処理中のデータなどを一時的に格納する。たとえば、ＲＡＭ２３は、計算用バッファ、受信用バッファ及び送信用バッファとして機能する。計算用バッファとしては、ＣＰＵ２１が実行する種々の演算処理の結果などを一時的に保持する。受信用バッファとしては、通信部２５を介してＩＣカード処理装置１から受信するコマンドデータなどを保持する。送信用バッファとしては、通信部２５を介してＩＣカード処理装置１へ送信するメッセージ（レスポンスデータ）などを保持する。また、ＲＡＭ２３は、動作状態を示すフラグを記憶する。
【００２３】
不揮発性メモリ２４は、例えば、ＥＥＰＲＯＭあるいはフラッシュＲＯＭなどのデータの書き込み及び書換えが可能な不揮発性のメモリにより構成される。不揮発性メモリ２４は、ＩＣカード２の運用用途に応じて制御プログラム、アプリケーション、及び種々のデータを格納する。例えば、不揮発性メモリ２４では、プログラムファイル及びデータファイルなどが作成される。作成された各ファイルは、制御プログラム及び種々のデータなどが書き込まれる。
【００２４】
通信部２５は、ＩＣカード処理装置１のカードリーダライタ１５との通信を行うためのインターフェースである。非接触型のＩＣカードとしてのＩＣカード２においては、通信部２５は、ＩＣカード処理装置１のカードリーダライタ１５との無線通信を行うための変復調回路などの通信制御部とアンテナとにより構成される。
【００２５】
通信部２５は、ＩＣカード処理装置１へ第２搬送波を送信する。たとえば、通信部２５は、ＩＣカード処理装置１から受信される搬送波に所定の変調を行い、第２搬送波（たとえば、副搬送波）としてＩＣカード処理装置１へ反射する。また、通信部２５は、ＣＰＵ２１からの指示に基づいて第２搬送波を変調することができる。
【００２６】
次に、ＩＣカード２とＩＣカード処理装置１との通信方式について説明する。  
ＩＣカード２とＩＣカード処理装置１とは、所定のフォーマットのデータを送受信する。ＩＣカード処理装置１は、ＩＣカード２へ所定のフォーマットのコマンドデータを送信し、ＩＣカード２は、ＩＣカード処理装置１へ所定のフォーマットのレスポンスデータを返信する。たとえば、ＩＣカード２とＩＣカード処理装置１とは、ＩＳＯ／ＩＥＣ  １４４４３−４で規定されているデータ伝送方式でデータ通信を行う。
【００２７】
ただし、携帯可能電子装置としてのＩＣカード２と外部装置としてのＩＣカード処理装置１との通信方式は、ＩＳＯ／ＩＥＣ  １４４４３−４で規定されているデータ伝送方式に限定されるものではなく、所定のフォーマットのデータを送受信し、かつ、送受信データに対するエラーチェックを行えるものであれば良い。
【００２８】
図３は、ＩＣカード２とＩＣカード処理装置１とが送受信するデータブロックのフォーマットの構成例を示す図である。  
図３に示す構成例は、ＩＳＯ／ＩＥＣ  １４４４３−４で規定されているデータ伝送方式で送受信されるデータブロックの構成例を示している。図３に示すように、ＩＳＯ／ＩＥＣ  １４４４３−４で規定されているデータ伝送方式では、ブロック伝送として、Ｉ−ｂｌｏｃｋ（Ｉｎｆｏｒｍａｔｉｏｎ  ｂｌｏｃｋ：情報ブロック）、Ｒ−ｂｌｏｃｋ（Ｒｅｃｅｉｖｅ  ｒｅａｄｙ  ｂｌｏｃｋ：受信準備完了ブロック）、Ｓ−ｂｌｏｃｋ（Ｓｕｐｅｒｖｉｓｏｒｙ  ｂｌｏｃｋ：管理ブロック）の３種類のフォーマットのデータを送受信する。
【００２９】
Ｉ−ｂｌｏｃｋ、Ｒ−ｂｌｏｃｋ、及びＳ−ｂｌｏｃｋは、それぞれ異なる役割を有する。Ｉ−ｂｌｏｃｋ（Ｉブロック）は、アプリケーション層で使用する情報を伝達するためのフォーマットである。通常のデータ読出し、書き込みには、Ｉ−ｂｌｏｃｋが用いられる。
【００３０】
Ｒ−ｂｌｏｃｋ（Ｒブロック）は、肯定応答または否定応答を伝達するためのフォーマットである。Ｒ−ｂｌｏｃｋには、Ｒ−ｂｌｏｃｋ（ＡＣＫ）及びＲ−ｂｌｏｃｋ（ＮＡＫ）などの種類がある。Ｒ−ｂｌｏｃｋ（ＡＣＫ）は、次のコマンドを要求するときに用いられる。また、Ｒ−ｂｌｏｃｋ（ＮＡＫ）は、受信したコマンドの再送を要求するときに用いられる。
【００３１】
Ｓ−ｂｌｏｃｋ（Ｓブロック）は、ＩＣカード２０とＩＣカード３０との間で制御情報を交換する為のフォーマットである。たとえば、Ｓ−ｂｌｏｃｋは、処理時間の延長要求（ＷＴＸ：ＷＡＩＴＩＮＧ  ＴＩＭＥ  ＥＸＴＥＮＳＩＯＮ）、ＩＣカードを非活性化させる命令（Ｄｅｓｅｌｅｃｔ）として用いられる。なお、Ｓ−ｂｌｏｃｋにおいては、処理時間の延長要求（ＷＴＸ）か非活性化させる命令（Ｄｅｓｅｌｅｃｔ）かをＰＣＢで指定する。
【００３２】
図３に示すように、ＩＳＯ／ＩＥＣ１４４４３により規定されているブロックフォーマットに準拠したフレームは、プロローグフィールド、情報フィールド（ＩＮＦ：  Ｉｎｆｏｒｍａｔｉｏｎ）、およびエピローグフィールド（ＥＤＣ：  Ｅｒｒｏｒ  Ｄｅｔｅｃｔｉｏｎ  Ｃｏｄｅ）などのフィールドを有する。Ｉ−ｂｌｏｃｋ、Ｒ−ｂｌｏｃｋ、及びＳ−ｂｌｏｃｋは、いずれもこの図３に示されたブロックフォーマットを準拠している。
【００３３】
プロローグフィールドは、Ｐｒｏｔｏｃｏｌ  Ｃｏｎｔｒｏｌｌ  Ｂｙｔｅ（ＰＣＢ）、Ｃａｒｄ  ＩＤｅｎｔｉｆｉｅｒ（ＣＩＤ）、及びＮｏｄｅ  Ａｄｄｒｅｓｓ（ＮＡＤ）などのデータを有する。
【００３４】
ＰＣＢは、プロトコル制御バイトである。ＰＣＢは、データ伝送の制御に必要な情報を相手側の機器（外部機器）に伝達することができる。例えば、ＰＣＢは、このフレームがＩ−ｂｌｏｃｋであるか、Ｒ−ｂｌｏｃｋであるか、またはＳ−ｂｌｏｃｋであるかを示す情報を有する。
【００３５】
ＣＩＤは、カード識別子である。ＣＩＤは、処理対象のＩＣカードを指定するためのデータである。ＩＣカード２は、ＣＩＤをＲＡＭ２３または不揮発性メモリ２４内に記憶している。  
ＮＡＤは、ノードアドレスである。ＮＡＤは、異なる論理接続を構築するためのデータである。
【００３６】
情報フィールド（ＩＮＦ）は、例えば、コマンドのデータ本体、アプリケーションデータ、または状態情報などを格納するフィールドである。ＩＣカード２は、情報フィールドに格納されているデータに応じて種々の処理を実行する。なお、情報フィールドは、省略されてもよい。Ｒ−ｂｌｏｃｋでは、情報フィールドは省略される。
【００３７】
エピローグフィールド（ＥＤＣ：Ｅｒｒｏｒ  Ｄｅｔｅｃｔｉｏｎ  Ｃｏｄｅ）には、例えば、通信エラーなどによりデータ異常を検知するために、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄａｎｄｕｎｃｙ  Ｃｈｅｃｋ）などの誤り検出符号を格納する。誤り検出符号は、プロローグフィールド及び情報フィールドのデータに基づいて算出される値である。受信側の機器は、受信したデータのプロローグフィールド及び情報フィールド内のデータと誤り検出符号とに基づいて、通信エラーなどのデータ異常を検知することができる。たとえば、ＩＣカード２からＩ−ｂｌｏｃｋを受信したＩＣカード処理装置１は、受信したＩ−ｂｌｏｃｋのエピローグフィールド（ＥＤＣ）におけるＥＤＣデータによりエラーの有無をチェックする。
【００３８】
図４は、Ｒ−ｂｌｏｃｋのＰＣＢのフォーマット例を示す図である。  
Ｒ−ｂｌｏｃｋのフレームは、プロローグフィールド、およびエピローグフィールドを備えている。Ｒ−ｂｌｏｃｋのＰＣＢは、１バイトのデータであり、第１ビットｂ１乃至第８ビットｂ８を有する。
【００３９】
Ｉ−ｂｌｏｃｋのＰＣＢにおいて、第１ビットｂ１は、ブロックナンバー（Ｂｌｏｃｋ  ｎｕｍｂｅｒ）である。第２ビットｂ２は、規定値の「１」である。第３ビットｂ３は、規定値の「０」である。第４ビットｂ４は、ＣＩＤの有無を示す。第４ビットｂ４は、「１」である場合にはＣＩＤが有ることを示し、「０」である場合にはＣＩＤが無いことを示す。
【００４０】
第５ビットｂ５は、ＥＤＣ検査の結果を示す。第５ビットｂ５は、「１」である場合にはＮＡＫ（Ｎｅｇａｔｉｖｅ  ａｃｋｎｏｗｌｅｄｇｅ）を示し、「０」である場合にはＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｅ）を示す。
【００４１】
第６ビットｂ６は、分割でメッセージを再送することを要求するか否かを示す。第６ビットｂ６は、「０」である場合には分割でのメッセージ再送要求であることを示し、「１」である場合には通常のメッセージ再送要求である（例えば、ＩＳＯ／ＩＥＣ１４４４３規定のブロックである）ことを示す。
【００４２】
第７ビットｂ７と第８ビットｂ８とは、このＰＣＢを含むフレームがＩ−ｂｌｏｃｋ、Ｒ−ｂｌｏｃｋ，またはＳ−ｂｌｏｃｋであるかを示す。例えば、第８ビットｂ８が「１」であり、第７ビットｂ７が「０」である場合、第７ビットｂ７及び第８ビットｂ８は、このＰＣＢを含むフレームがＲ−ｂｌｏｃｋであることを示す。
【００４３】
次に、ＩＣカード２とＩＣカード処理装置１とにおけるコマンド及びレスポンスの交換手順について説明する。  
図５は、実施形態に係るＩＣカード２とＩＣカード処理装置１との通信エラーを含む通信シーケンスの例を示す図である。  
ＩＣカード処理装置１とＩＣカード２とは、互いにデータを送受信可能な状態に活性化されたものとする。即ち、ＩＣカード処理装置１のカードリーダライタ１５は、搬送波などをＩＣカード２へ送信し、ＩＣカード２は、受信された搬送波によって起動され、ＩＣカード処理装置１とＩＣカード２との間で通信プロトコル活性化による通信プロトコル初期設定が行われた状態である。
【００４４】
まず、ＩＣカード処理装置１の制御部１０は、ＩＣカード２に対して処理を要求するコマンドデータをＩ−ｂｌｏｃｋ（Ｉｎｆｏｒｍａｔｉｏｎ  ｂｌｏｃｋ）のフォーマットで生成する（ステップＳ１１）。コマンドを生成すると、ＩＣカード処理装置１の制御部１０は、カードリーダライタ１５により、生成されたＩ−ｂｌｏｃｋのコマンドデータを送信する（ステップＳ１２）。
【００４５】
ＩＣカード２のＣＰＵ２１は、通信部２５によりＩＣカード処理装置１からのＩ−ｂｌｏｃｋのコマンドを受信する。ＩＣカード２のＣＰＵ２１は、受信されたＩ−ｂｌｏｃｋのデータ（コマンド）を解析し、コマンドの内容を解釈する。コマンドの内容を解釈すると、ＩＣカード２は、コマンドが要求する処理を実行する（ステップＳ１３）。コマンドを実行すると、ＩＣカード２のＣＰＵ２１は、コマンドの実行結果を示す情報を含むレスポンスデータ（メッセージ）をＩ−ｂｌｏｃｋのフォーマットで作成する（ステップＳ１４）。ＩＣカード２のＣＰＵ２１は、Ｉ−ｂｌｏｃｋのフォーマットで作成されたメッセージを送信する（ステップＳ１５）。
【００４６】
ここで、ＩＣカード２のＣＰＵ２１は、送信したレスポンスデータがＩＣカード処理装置１に正常に受信されるまで、ＲＡＭ２３のバッファメモリなどに保存しておくものとする。また、ここでは、ＩＣカード２は、大容量（たとえば、２５６ｋＢ以上）のデータを一括してＩ−ｂｌｏｃｋのレスポンスデータ（メッセージ）で送信（応答）することを想定するものとする。たとえば、メッセージは、ＩＣカード２の所有者の顔画像などであるが、特定のデータに限定されるものではない。
【００４７】
ＩＣカード処理装置１の制御部１０は、カードリーダライタ１５により、ＩＣカード２からのＩ−ｂｌｏｃｋのメッセージを受信する。ＩＣカード２からＩ−ｂｌｏｃｋのメッセージを受信すると、ＩＣカード処理装置１の制御部１０は、受信されたＩ−ｂｌｏｃｋのメッセージについて、ＥＤＣ検査を実行する（ステップＳ１６）。ＥＤＣ検査によってエラーが検出されなければ（ステップＳ１７、ＮＯ）、ＩＣカード処理装置１の制御部１０は、ステップＳ１１で作成されたコマンドに対するＩＣカード２からのレスポンスデータ（ＩＮＦに格納されたデータ）を解析し、次の手続きに移行する。
【００４８】
ＥＤＣ検査によって通信エラーと判断した場合（ステップＳ１７、ＹＥＳ）、ＩＣカード処理装置１の制御部１０は、エラーとなったデータの再送を要求するコマンドとして、分割でメッセージを再送することを要求するＲ−ｂｌｏｃｋ（Ｒｅｃｅｉｖｅ  ｒｅａｄｙ  ｂｌｏｃｋ）を生成する（ステップＳ１８）。即ち、Ｒ−ｂｌｏｃｋは、「ｂ６」の値として「０」を格納する。ＩＣカード処理装置１の制御部１０は、生成されたＲ−ｂｌｏｃｋをカードリーダライタ１５によりＩＣカード２へ送信する（ステップＳ１９）。
【００４９】
ＩＣカード２のＣＰＵ２１は、通信部２５によりＩＣカード処理装置１からのＲ−ｂｌｏｃｋを受信する。Ｒ−ｂｌｏｃｋを受信すると、ＩＣカード２のＣＰＵ２１は、直前に送信されたレスポンスデータの情報フィールド（ＩＮＦ）のデータを複数に分割する（ステップＳ２０）。ここでは、ＩＣカード２のＣＰＵ２１は、ステップＳ１５で送信されたレスポンスデータの情報フィールド（ＩＮＦ）のデータを複数に分割する。分割された各データ（分割データ）の容量は、たとえば、２５６バイトなどであるが、特定の容量に限定されるものではない。また、分割データは、それぞれ異なる容量であってもよい。また、ＣＰＵ２１がデータを分割する個数は、特定の個数に限定されるものではない。分割データ量および分割データ数は、たとえば、通信プロトコル活性化時、あるいは、通信プロトコル活性化後の大容量データ送受信前に決定しておく。
【００５０】
情報フィールドのデータを複数に分割すると、ＣＰＵ２１は、分割データに誤り検出符号（ＥＤＣ）を付与する。分割データに誤り検出符号を付与すると、ＣＰＵ２１は、誤り検出符号が付与された分割データを含むレスポンスデータを所定のフォーマット（たとえば、Ｉ−ｂｌｏｃｋ）で生成する（ステップＳ２１）。付加される誤り検出符号は、たとえば、パリティ又はＣＲＣなどであるが、特定の内容に限定されるものではない。
【００５１】
レスポンスデータを生成すると、ＣＰＵ２１は、通信部２５により、先頭の分割データ（分割データ１）を含むレスポンスデータをＩＣカード処理装置１へ送信する（ステップＳ２２）。
【００５２】
ＩＣカード処理装置１の制御部１０は、カードリーダライタ１５によりレスポンスデータを受信する。ＩＣカード２からレスポンスデータを受信すると、ＩＣカード処理装置１の制御部１０は、受信されたレスポンスデータについて、ＥＤＣ検査を実行する（ステップＳ２３）。
【００５３】
ＥＤＣ検査によって通信エラーと判断した場合（ステップＳ２４、ＹＥＳ）、制御部１０は、分割データの受信に失敗したことを示すエラー通知として、カードリーダライタ１５によりＩＣカード２へ送信している搬送波を変調する（ステップＳ２５）。たとえば、制御部１０は、搬送波に対して、振幅変調、周波数変調又は位相変調を行う。振幅変調が行われる場合、制御部１０は、搬送波の振幅を小さく又は大きくする。制御部１０は、所定の時間が経過すると、搬送波を元の振幅に戻す。また、周波数変調が行われる場合、制御部１０は、搬送波の周波数を上げ又は下げる。制御部１０は、所定の時間が経過すると、搬送波を元の周波数に戻す。また、位相変調が行われる場合、制御部１０は、搬送波の位相を所定の角度（たとえば、９０度）ずらす。制御部１０は、所定の時間が経過すると、搬送波の位相を戻してもよいし、戻さなくともよい。なお、制御部１０は、搬送波に対して、振幅変調、周波数変調又は位相変調を組み合わせた変調を行ってもよい。制御部１０が行う変調は、特定の構成に限定されるものではない。
【００５４】
制御部１０が搬送波の変調を行うと、ＩＣカード２のＣＰＵ２１は、通信部２５により搬送波が変調されたことを検知する（ステップＳ２６）。搬送波が変調されたことを検知すると、ＣＰＵ２１は、通信部２５により、直前に送信されたレスポンスデータを再度ＩＣカード処理装置１へ送信する（ステップＳ２７）。ここでは、ＣＰＵ２１は、通信部２５により分割データ１を含むレスポンスデータをＩＣカード処理装置１へ送信する。
【００５５】
ＩＣカード処理装置１の制御部１０は、カードリーダライタ１５によりレスポンスデータを受信する。レスポンスデータを受信すると、ＩＣカード処理装置１の制御部１０は、受信されたレスポンスデータについて、ＥＤＣ検査を実行する（ステップＳ２８）。
【００５６】
ＥＤＣ検査によって通信エラーと判断した場合（ステップＳ２８、ＹＥＳ）、制御部１０は、ステップＳ２５に戻る。  
ＥＤＣ検査によってエラーが検出されない場合（ステップＳ２４、ＮＯ）、又は、ＥＤＣ検査によってエラーが検出されない場合（ステップＳ２９、ＮＯ）、制御部１０は、次の分割データを含むレスポンスデータが送信されるまで待機する。ここでは、分割データ２は、分割データ１の次のデータであるので、制御部１０は、分割データ２を含むレスポンスデータが送信されるまで待機する。
【００５７】
ＩＣカード２のＣＰＵ２１は、ステップＳ２２又はステップＳ２７において分割データ１を含むレスポンスデータを送信してから所定の時間（無送信区間）が経過した後に、通信部２５により、分割データ２を含むレスポンスデータをＩＣカード処理装置１へ送信する（ステップＳ３０）。ここでは、ＣＰＵ２１は、少なくともＩＣカード処理装置１の制御部１０がＥＤＣ検査を行いエラーが検出された際に搬送波を変調することができる時間が経過した後に、次のレスポンスデータを送信する。
【００５８】
ＩＣカード処理装置１の制御部１０が分割データ２を含むレスポンスデータを受信した後の動作は、分割データ１を含むレスポンスデータを受信した際の動作と同様であるので省略する。
【００５９】
ＩＣカード２のＣＰＵ２１が全てのレスポンスデータを送信し終えると、ＣＰＵ２１は、待機する。ＩＣカード処理装置１の制御部１０は、ICカード２からレスポンスデータ終了を示すＥＯＦ（Ｅｎｄ  ｏｆ  Ｆｒａｍｅ）を受信すると、全てのレスポンスデータを受信したと判断し、ＩＣカード２との通信を終了する。または、制御部１０は、新たなコマンドデータを生成し、生成されたコマンドデータをＩＣカード２へ送信してもよい。
【００６０】
次に、上記のようなＩＣカード処理装置１との通信を行うＩＣカード２の動作例について説明する。  
図６及び図７は、ＩＣカード２の動作例を説明するためのフローチャートである。  
ＩＣカード処理装置１からの搬送波などを受けて起動したＩＣカード２のＣＰＵ２１は、ＩＣカード処理装置１との通信による通信プロトコルの活性化が完了した後、コマンド（メッセージ）の受信が可能な状態となる。この状態において、ＩＣカード２のＣＰＵ２１は、通信部２５によりＩＣカード処理装置１からのメッセージを受信する。
【００６１】
ＩＣカード２のＣＰＵ２１は、通信部２５により、ＩＣカード処理装置１からメッセージを受信したかを判定する（ステップＳ３１）。メッセージを受信していないと判定すると（ステップＳ３１、ＮＯ）、ＣＰＵ２１は、ステップＳ３１へ戻る。
【００６２】
メッセージを受信したと判定すると（ステップＳ３１、ＹＥＳ）、ＣＰＵ２１は、受信されたメッセージがＩ−ｂｌｏｃｋであるか判定する（ステップＳ３２）。受信されたメッセージがＩ−ｂｌｏｃｋであると判定すると（ステップＳ３２、ＹＥＳ）、ＣＰＵ２１は、Ｉ−ｂｌｏｃｋのＩＮＦ部に格納されたコマンドを実行し、実行結果をＩＣカード処理装置１へ返信する（ステップＳ３３）。
【００６３】
受信されたメッセージがＩ−ｂｌｏｃｋでないと判定すると（ステップＳ３２、ＮＯ）、ＣＰＵ２１は、受信されたメッセージがＳ−ｂｌｏｃｋであるか判定する（ステップＳ３４）。受信されたメッセージがＳ−ｂｌｏｃｋであると判定すると（ステップＳ３４、ＹＥＳ）、ＣＰＵ２１は、受信されたＳ−ｂｌｏｃｋに基づいて処理を実行し、実行結果をＩＣカード処理装置１へ返信する（ステップＳ３５）。
【００６４】
受信されたメッセージがＳ−ｂｌｏｃｋでないと判定すると（ステップＳ３４、ＮＯ）、ＣＰＵ２１は、受信されたメッセージがＲ−ｂｌｏｃｋであるか判定する（ステップＳ３６）。受信されたメッセージがＲ−ｂｌｏｃｋであると判定すると（ステップＳ３６、ＹＥＳ）、ＣＰＵ２１は、受信されたメッセージのＰＣＢのｂ６が「１」であるか判定する（ステップＳ３７）。即ち、ＣＰＵ２１は、受信されたメッセージがデータを分割して送信することを要求するものであるか判定する。
【００６５】
受信されたメッセージのＰＣＢのｂ６が「１」であると判定すると（ステップＳ３７、ＹＥＳ）、ＣＰＵ２１は、受信されたメッセージがＡＣＫを示すか判定する（ステップＳ３８）。即ち、ＣＰＵ２１は、ＰＣＢのｂ５が「０」であるか判定する。
【００６６】
受信されたメッセージがＡＣＫを示すと判定すると（ステップＳ３８、ＹＥＳ）、ＣＰＵ２１は、次のＩ−ｂｌｏｃｋをＩＣカード処理装置１へ送信する（ステップＳ３９）。なお、次のＩ−ｂｌｏｃｋがない場合は、ＣＰＵ２１は、ステップＳ３９をスキップしてもよい。
【００６７】
受信されたメッセージがＡＣＫを示すものではない（即ち、ＮＡＫを示す）と判定すると（ステップＳ３８、ＮＯ）、ＣＰＵ２１は、ＮＡＫ処理として直前のメッセージをそのままの状態でＩＣカード処理装置１へ再送する（ステップＳ４０）。  
受信されたメッセージがＲ−ｂｌｏｃｋでないと判定すると（ステップＳ３６、ＮＯ）、ＣＰＵ２１は、ＩＣカード処理装置１に対して無応答とする（ステップＳ４１）。
【００６８】
Ｉ−ｂｌｏｃｋのＩＮＦ部に格納されたコマンドを実行し実行結果をＩＣカード処理装置１へ返信した場合（ステップＳ３３）、受信されたＳ−ｂｌｏｃｋに基づいて処理を実行し実行結果をＩＣカード処理装置１へ返信した場合（ステップＳ３５）、次のＩ−ｂｌｏｃｋをＩＣカード処理装置１へ送信した場合（ステップＳ３９）、ＮＡＫ処理として直前のメッセージをそのままの状態でＩＣカード処理装置１へ再送した場合（ステップＳ４０）、又は、ＩＣカード処理装置１に対して無応答とした場合（ステップＳ４１）、ＣＰＵ２１は、ステップＳ３１へ戻る。
【００６９】
受信されたメッセージのＰＣＢのｂ６が「１」でない（即ち、「０」である）と判定すると（ステップＳ３７、ＮＯ）、ＣＰＵ２１は、直前に送信されたレスポンスデータのＩＮＦ部に格納されたデータを複数個に分割する（ステップＳ５１）。データを複数個に分割すると、ＣＰＵ２１は、誤り検出符号を分割データに付与し、分割データの誤り検出符号を付与された分割データを格納するレスポンスデータを生成する（ステップＳ５２）。
【００７０】
レスポンスデータを生成すると、ＣＰＵ２１は、最初の分割データを含むレスポンスデータをＩＣカード処理装置１へ送信する（ステップＳ５３）。最初の分割データを含むレスポンスデータをＩＣカード処理装置１へ送信すると、ＣＰＵ２１は、レスポンスデータが送信された後の所定の期間（無送信区間、即ち、無変調区間）においてＩＣカード処理装置１から送信される搬送波が変調されたか判定する（ステップＳ５４）。
【００７１】
搬送波が変調されていないと判定すると（ステップＳ５４、ＮＯ）、ＣＰＵ２１は、直前に送信されたレスポンスデータが最後の分割データを含むレスポンスデータであるか判定する（ステップＳ５５）。直前に送信されたレスポンスデータが最後の分割データを含むレスポンスデータでないと判定すると（ステップＳ５５、ＮＯ）、ＣＰＵ２１は、次の分割データを含むレスポンスデータをＩＣカード処理装置１へ送信する（ステップＳ５６）。
【００７２】
搬送波が変調されたと判定すると（ステップＳ５４、ＹＥＳ）、ＣＰＵ２１は、直前に送信されたレスポンスデータをＩＣカード処理装置１へ再送信する（ステップＳ５７）。
【００７３】
次の分割データを含むレスポンスデータをＩＣカード処理装置１へ送信した場合（ステップＳ５６）、又は、直前に送信されたレスポンスデータをＩＣカード処理装置１へ再送信した場合（ステップＳ５７）、ＣＰＵ２１は、ステップＳ５４へ戻る。
【００７４】
直前に送信されたレスポンスデータが最後の分割データを含むレスポンスデータであると判定すると（ステップＳ５５、ＹＥＳ）、ＣＰＵ２１は、ステップＳ３１へ戻る。
【００７５】
以上のように構成されるＩＣカード及びＩＣカード処理装置においては、ＩＣカードがＩＣカード処理装置へ大容量のデータを送信する際に通信エラーが生じた場合にも、ＩＣカードは、すべてのデータを再送する必要はなく、エラーが生じたデータを再送すればよい。そのため、ＩＣカードは、効率的に大容量のデータをＩＣカード処理装置へ送信することができる。
【００７６】
（第２実施形態）
次に、第２実施形態について説明する。  
第２実施形態におけるＩＣカードシステムは、ＩＣカード処理装置１がデータを分割してＩＣカード２へ送信する点で、第１実施形態のＩＣカードシステムと異なる。したがって、他の点については詳細な説明を省略する。  
ＩＣカード処理装置１及びＩＣカード２の構成例は、第１実施形態に係るＩＣカード処理装置１及びＩＣカード２と同様の構成であるため、説明を省略する。
【００７７】
次に、ＩＣカード２とＩＣカード処理装置１とにおけるコマンド及びレスポンスの交換手順について説明する。  
図８は、第２実施形態に係るＩＣカード２とＩＣカード処理装置１との通信エラーを含む通信シーケンスの例を示す図である。  
ＩＣカード処理装置１とＩＣカード２とは、互いにデータを送受信可能な状態に活性化されたものとする。即ち、ＩＣカード処理装置１のカードリーダライタ１５は、搬送波などをＩＣカード２へ送信し、ＩＣカード２は、受信された搬送波によって活性化したものとする。ＩＣカード２は、第２搬送波をＩＣカード処理装置１へ送信する。また、ＩＣカード処理装置１とＩＣカード２との間で通信プロトコルの設定などが行われてもよい。
【００７８】
まず、ＩＣカード処理装置１の制御部１０は、ＩＣカード２に対して処理を要求するコマンドデータをＩ−ｂｌｏｃｋ（Ｉｎｆｏｒｍａｔｉｏｎ  ｂｌｏｃｋ）のフォーマットで生成する（ステップＳ６１）。コマンドを生成すると、ＩＣカード処理装置１の制御部１０は、カードリーダライタ１５により、生成されたＩ−ｂｌｏｃｋのコマンドデータを送信する（ステップＳ６２）。
【００７９】
ここでは、制御部１０は、送信されたコマンドデータがＩＣカード２に正常に受信されるまで、ＲＡＭ１３などに保存しておくものとする。また、制御部１０は、大容量（たとえば、２５６ｋＢ以上）のデータを一括してＩ−ｂｌｏｃｋのコマンドデータ（メッセージ）で送信することを想定するものとする。たとえば、メッセージは、ＩＣカード２の所有者の顔画像のデータを書き込むなどであるが、特定のデータに限定されるものではない。
【００８０】
ＩＣカード２のＣＰＵ２１は、通信部２５によりＩＣカード処理装置１からのＩ−ｂｌｏｃｋのコマンドを受信する。ＩＣカード処理装置１からＩ−ｂｌｏｃｋのメッセージを受信すると、ＩＣカード２のＣＰＵ２１は、受信されたＩ−ｂｌｏｃｋのメッセージについて、ＥＤＣ検査を実行する（ステップＳ６３）。
【００８１】
ＥＤＣ検査によって通信エラーと判断した場合（ステップＳ６４、ＹＥＳ）、ＩＣカード２のＣＰＵ２１は、エラーとなったデータの再送を要求するコマンドとして、分割でメッセージを再送することを要求するＲ−ｂｌｏｃｋ（Ｒｅｃｅｉｖｅ  ｒｅａｄｙ  ｂｌｏｃｋ）を生成する（ステップＳ６５）。Ｒ−ｂｌｏｃｋを生成すると、ＩＣカード２のＣＰＵ２１は、通信部２５により、生成されたＲ−ｂｌｏｃｋをＩＣカード処理装置１へ送信する（ステップＳ６６）。
【００８２】
ＩＣカード処理装置１の制御部１０は、カードリーダライタ１５によりＩＣカード２からのＲ−ｂｌｏｃｋを受信する。Ｒ−ｂｌｏｃｋを受信すると、ＩＣカード処理装置１の制御部１０は、直前に送信されたコマンドデータの情報フィールド（ＩＮＦ）のデータを複数に分割する（ステップＳ６７）。ここでは、ＩＣカード処理装置１の制御部１０は、ステップＳ６２で送信されたコマンドデータの情報フィールド（ＩＮＦ）のデータを複数に分割する。分割された各データ（分割データ）の容量は、たとえば、２５６バイトなどであるが、特定の容量に限定されるものではない。また、分割データは、それぞれ異なる容量であってもよい。また、制御部１０がデータを分割する個数は、特定の個数に限定されるものではない。
【００８３】
情報フィールドのデータを複数に分割すると、制御部１０は、分割データに誤り検出符号（ＥＤＣ）を付与する。分割データに誤り検出符号を付与すると、制御部１０は、誤り検出符号が付与された分割データを含むコマンドデータを所定のフォーマット（たとえば、Ｉ−ｂｌｏｃｋ）で生成する（ステップＳ６８）。付加される誤り検出符号は、たとえば、パリティ又はＣＲＣなどであるが、特定の内容に限定されるものではない。
【００８４】
コマンドデータを生成すると、制御部１０は、カードリーダライタ１５により、先頭の分割データ（分割データ１）を含むコマンドデータをＩＣカード２へ送信する（ステップＳ６９）。
【００８５】
ＩＣカード２のＣＰＵ２１は、通信部２５によりコマンドデータを受信する。ＩＣカード処理装置１からコマンドデータを受信すると、ＩＣカード２のＣＰＵ２１は、受信されたコマンドデータについて、ＥＤＣ検査を実行する（ステップＳ７０）。
【００８６】
ＥＤＣ検査によって通信エラーと判断した場合（ステップＳ７１、ＹＥＳ）、ＣＰＵ２１は、通信部２５により、ＩＣカード処理装置１へ分割データの受信に失敗したことを示すエラー通知を送信する（ステップＳ７２）。たとえば、ＣＰＵ２１は、エラー通知として、無変調期間において、搬送波を振幅変調してもよいし、第２搬送波を送信してもよい。
【００８７】
ＣＰＵ２１がエラー通知を送信すると、ＩＣカード処理装置１の制御部１０は、カードリーダライタ１５によりエラー通知を検知する（ステップＳ７３）。エラー通知を検知すると、制御部１０は、カードリーダライタ１５により、直前に送信されたコマンドデータを再度ＩＣカード２へ送信する（ステップＳ７４）。ここでは、制御部１０は、カードリーダライタ１５により分割データ１を含むコマンドデータをＩＣカード処理装置１へ送信する。
【００８８】
ＩＣカード２のＣＰＵ２１は、通信部２５によりコマンドデータを受信する。コマンドデータを受信すると、ＣＰＵ２１は、受信されたコマンドデータについて、ＥＤＣ検査を実行する（ステップＳ７５）。
【００８９】
ＥＤＣ検査によって通信エラーと判断した場合（ステップＳ７６、ＹＥＳ）、ＣＰＵ２１は、ステップＳ７２に戻る。  
ＥＤＣ検査によってエラーが検出されない場合（ステップＳ７１、ＮＯ）、又は、ＥＤＣ検査によってエラーが検出されない場合（ステップＳ７６、ＮＯ）、ＣＰＵ２１は、次の分割データを含むコマンドデータが送信されるまで待機する。ここでは、分割データ２は、分割データ１の次の分割データであるので、ＣＰＵ２１は、分割データ２を含むコマンドデータが送信されるまで待機する。
【００９０】
ＩＣカード処理装置１の制御部１０は、ステップＳ６９又はステップＳ７４において分割データ１を含むレスポンスデータを送信してから所定の時間（無送信区間）が経過した後に、カードリーダライタ１５により、分割データ２を含むコマンドデータをＩＣカード２へ送信する（ステップＳ７７）。ここでは、制御部１０は、少なくともＩＣカード２のＣＰＵ２１がＥＤＣ検査を行いエラーが検出された際に第２搬送波を変調することができる時間が経過した後に、次のコマンドデータを送信する。
【００９１】
ＩＣカード２のＣＰＵ２１が分割データ２を含むコマンドデータを受信した後の動作は、分割データ１を含むコマンドデータを受信した際の動作と同様であるので省略する。
【００９２】
ＩＣカード処理装置１の制御部１０が全てのコマンドデータを送信し終えると、制御部１０は、待機する。ＩＣカード２のＣＰＵ２１は、ＩＣカード処理装置１からコマンドデータ終了を示すEOF（Ｅｎｄ  ｏｆ  Ｆｒａｍｅ）を受信すると、全てのコマンドデータを受信したと判断する。全てのコマンドデータを受信したと判断した場合、又は、ＥＤＣ検査によってエラーが検出されない場合（ステップＳ６４、ＮＯ）、ＣＰＵ２１は、コマンドデータからコマンドを解釈し、コマンドを実行する。コマンドを実行すると、ＣＰＵ２１は、通信部２５により、実行結果を含むレスポンスデータをＩＣカード処理装置１へ送信する（ステップＳ７９）。
【００９３】
次に、上記のようなＩＣカード２との通信を行うＩＣカード処理装置１の動作例について説明する。  
図９及び図１０は、ＩＣカード処理装置１の動作例を説明するためのフローチャートである。  
ＩＣカード処理装置１は、搬送波をＣＰＵ２１へ送信しＩＣカード２を起動する。また、ＩＣカード処理装置１は、ＣＰＵ２１から第２搬送波を受信し、ＩＣカード２からのデータの受信が可能な状態となる。なお、ＩＣカード処理装置１は、ＩＣカード２と、通信プロトコルに関する情報を送受信してもよい。この状態において、ＩＣカード処理装置１の制御部１０は、カードリーダライタ１５によりＩＣカード２へメッセージを送信する。メッセージを送信した後、ＩＣカード処理装置１の制御部１０は、ＩＣカード２からのメッセージが受信されるまで待機する。
【００９４】
ＩＣカード処理装置１の制御部１０は、カードリーダライタ１５により、ＩＣカード２からメッセージを受信したかを判定する（ステップＳ８１）。メッセージを受信していないと判定すると（ステップＳ８１、ＮＯ）、制御部１０は、ステップＳ８１へ戻る。
【００９５】
メッセージを受信したと判定すると（ステップＳ８１、ＹＥＳ）、制御部１０は、受信されたメッセージがＩ−ｂｌｏｃｋであるか判定する（ステップＳ８２）。受信されたメッセージがＩ−ｂｌｏｃｋであると判定すると（ステップＳ８２、ＹＥＳ）、制御部１０は、Ｉ−ｂｌｏｃｋのＩＮＦ部に格納されたレスポンスを取得し、取得されたレスポンスに応じた処理を行う（ステップＳ８３）。
【００９６】
受信されたメッセージがＩ−ｂｌｏｃｋでないと判定すると（ステップＳ８２、ＮＯ）、制御部１０は、受信されたメッセージがＳ−ｂｌｏｃｋであるか判定する（ステップＳ８４）。受信されたメッセージがＳ−ｂｌｏｃｋであると判定すると（ステップＳ８４、ＹＥＳ）、制御部１０は、受信されたＳ−ｂｌｏｃｋに基づいた処理を実行する（ステップＳ８５）。
【００９７】
受信されたメッセージがＳ−ｂｌｏｃｋでないと判定すると（ステップＳ８４、ＮＯ）、制御部１０は、受信されたメッセージがＲ−ｂｌｏｃｋであるか判定する（ステップＳ８６）。受信されたメッセージがＲ−ｂｌｏｃｋであると判定すると（ステップＳ８６、ＹＥＳ）、制御部１０は、受信されたメッセージのＰＣＢのｂ６が「１」であるか判定する（ステップＳ８７）。即ち、制御部１０は、受信されたメッセージがデータを分割して送信することを要求するものであるか判定する。
【００９８】
受信されたメッセージのＰＣＢのｂ６が「１」であると判定すると（ステップＳ８７、ＹＥＳ）、制御部１０は、受信されたメッセージがＡＣＫを示すか判定する（ステップＳ８８）。即ち、制御部１０は、ＰＣＢのｂ５が「０」であるか判定する。
【００９９】
受信されたメッセージがＡＣＫを示すと判定すると（ステップＳ８８、ＹＥＳ）、制御部１０は、次のＩ−ｂｌｏｃｋをＩＣカード処理装置１へ送信する（ステップＳ８９）。なお、次のＩ−ｂｌｏｃｋがない場合は、制御部１０は、ステップＳ８９をスキップしてもよい。
【０１００】
受信されたメッセージがＡＣＫを示すものではない（即ち、ＮＡＫを示す）と判定すると（ステップＳ８８、ＮＯ）、制御部１０は、ＮＡＫ処理として直前のメッセージをそのままの状態でＩＣカード２へ再送する（ステップＳ９０）。  
受信されたメッセージがＲ−ｂｌｏｃｋでないと判定すると（ステップＳ８６、ＮＯ）、制御部１０は、ＩＣカード２に対して無応答とする（ステップＳ９１）。なお、制御部１０は、ステップＳ９１において、エラー処理などを実行してもよい。
【０１０１】
取得されたレスポンスに応じた処理を行った場合（ステップＳ８３）、受信されたＳ−ｂｌｏｃｋに基づいて処理を実行した場合（ステップＳ８５）、次のＩ−ｂｌｏｃｋをＩＣカード２へ送信した場合（ステップＳ８９）、ＮＡＫ処理として直前のメッセージをそのままの状態でＩＣカード２へ再送した場合（ステップＳ４０）、又は、ＩＣカード２に対して無応答とした場合（ステップＳ４１）、制御部１０は、ステップＳ８１へ戻る。なお、以上の場合において、さらにＩＣカード２からメッセージを受信する必要がないときは、制御部１０は、動作を終了してもよい。
【０１０２】
受信されたメッセージのＰＣＢのｂ６が「１」でない（即ち、「０」である）と判定すると（ステップＳ８７、ＮＯ）、制御部１０は、直前に送信されたコマンドデータのＩＮＦ部に格納されたデータを複数個に分割する（ステップＳ１０１）。データを複数個に分割すると、制御部１０は、誤り得検知符号を分割データに付与し、分割データの誤り検出符号を付与された分割データを格納するコマンドデータを生成する（ステップＳ１０２）。
【０１０３】
コマンドデータを生成すると、制御部１０は、最初の分割データを含むコマンドデータをＩＣカード２へ送信する（ステップＳ１０３）。最初の分割データを含むコマンドデータをＩＣカード２へ送信すると、制御部１０は、コマンドデータが送信された後の所定の期間（無送信区間、即ち、無変調区間）においてＩＣカード２からエラー通知が送信されたか判定する（ステップＳ１０４）。
【０１０４】
エラー通知が送信されていないと判定すると（ステップＳ１０４、ＮＯ）、制御部１０は、直前に送信されたコマンドデータが最後の分割データを含むコマンドデータであるか判定する（ステップＳ１０５）。直前に送信されたコマンドデータが最後の分割データを含むコマンドデータでないと判定すると（ステップＳ１０５、ＮＯ）、制御部１０は、次の分割データを含むコマンドデータをＩＣカード２へ送信する（ステップＳ１０６）。
【０１０５】
エラー通知が送信されたと判定すると（ステップＳ１０４、ＹＥＳ）、制御部１０は、直前に送信されたコマンドデータをＩＣカード２へ再送信する（ステップＳ１０７）。
【０１０６】
次の分割データを含むコマンドデータをＩＣカード２へ送信した場合（ステップＳ１０６）、又は、直前に送信されたコマンドデータをＩＣカード２へ再送信した場合（ステップＳ１０７）、制御部１０は、ステップＳ１０４へ戻る。
【０１０７】
直前に送信されたコマンドデータが最後の分割データを含むコマンドデータであると判定すると（ステップＳ１０５、ＹＥＳ）、制御部１０は、ステップＳ８１へ戻る。
【０１０８】
以上のように構成されるＩＣカード及びＩＣカード処理装置においては、ＩＣカード処理装置がＩＣカードへ大容量のデータを送信する際に通信エラーが生じた場合にも、ＩＣカード処理装置は、すべてのデータを再送する必要はなく、エラーが生じたデータを再送すればよい。そのため、ＩＣカード処理装置は、効率的に大容量のデータをＩＣカードへ送信することができる。
【０１０９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１１０】
Ｃ…本体、Ｍ…モジュール、Ｃａ…ＩＣチップ、１…ＩＣカード処理装置、２…ＩＣカード、１０…制御部、１５…カードリーダライタ、１７…操作部、１８…ディスプレイ、２１…ＣＰＵ、２２…ＲＯＭ、２３…ＲＡＭ、２４…不揮発性メモリ、２５…通信部。
【図１】
2015060409.tif 000003
【図２】
2015060409.tif 000004
【図３】
2015060409.tif 000005
【図４】
2015060409.tif 000006
【図５】
2015060409.tif 000007
【図６】
2015060409.tif 000008
【図７】
2015060409.tif 000009
【図８】
2015060409.tif 000010
【図９】
2015060409.tif 000011
【図１０】
2015060409.tif 000012