(57)【要約】処理能力が低いデータ転送装置との間で高速のデータ転送が可能なＩＣカードを提供する。本発明のＩＣカードは、データパケットのデータ長に関する情報を含む管理情報を付加してデータパケットを生成し、前記データパケットを分割してデータ転送装置から指示されたサイズのデータ長のデータブロックを生成する制御部と、１つの前記データパケットを構成する複数の前記データブロックを前記データ転送装置に送信する時、前記管理情報を含む前記データブロックを送信する時には前記データ転送装置に割込信号を送信し、前記管理情報を含まないデータブロックを送信する時には前記データ転送装置に前記割込信号を送信しない通信部と、を有する。
2004036440.tif 000002
【特許請求の範囲】
【請求項１】
データパケットのデータ長に関する情報を含む管理情報を付加してデータパケットを生成し、前記データパケットを分割してデータ転送装置から指示されたサイズのデータ長のデータブロックを生成する制御部と、
１つの前記データパケットを構成する複数の前記データブロックを前記データ転送装置に送信する時、前記管理情報を含む前記データブロックを送信する時には前記データ転送装置に割込信号を送信し、前記管理情報を含まないデータブロックを送信する時には前記データ転送装置に前記割込信号を送信しない通信部と、
を有することを特徴とするＩＣカード。
【請求項２】
１つの前記データパケットを構成する複数の前記データブロックを前記データ転送装置に送信する時、前記制御部は、前記管理情報を先頭のデータブロックに含めることを特徴とする請求項１に記載のＩＣカード。
【請求項３】
複数の前記データブロックに分割した前記データパケットを前記データ転送装置に送信する時、前記データ転送装置から前記データパケットを構成する全ての前記データブロックを正しく受信したという情報を受信した後又は前記データ転送装置から前記データパケットの送信以外の指令を受信した後、送信した前記データパケットを廃棄することを特徴とする請求項１に記載のＩＣカード。
【請求項４】
ＩＣカードとの間でデータブロックを送受信する通信部と、
前記ＩＣカードからデータパケットを分割した複数の前記データブロックを受信する場合、前記通信部が割込信号を受信した後最初に受信する前記データブロックの所定の部分から前記データパケットのデータ長に関する情報を含む管理情報を抽出し、それ以外のタイミングで前記データブロックを受信した場合は、前記データブロックの全体を前記管理情報を含まないデータとして取り扱う制御部と、
を有することを特徴とするデータ転送装置。
【請求項５】
前記ＩＣカードとの間で送受信する前記データブロックを格納する送受信用バッファメモリを更に有し、
前記通信部は、前記ＩＣカードとの間で前記データブロックを送受信する前に前記ＩＣカードが送受信可能なデータブロックの最大サイズの情報を受信し、
前記制御部は、前記送受信用バッファメモリ及び前記ＩＣカードが送受信可能なデータブロックの最大サイズに応じて、前記データブロックの最大サイズを決定し、
前記ＩＣカードから前記データパケットを分割した複数の前記データブロックを受信する場合、前記通信部を介して前記ＩＣカードに前記データブロックの最大サイズ以下のデータ長の前記データブロックの送信を指示することを特徴とする請求項４に記載のデータ転送装置。
【請求項６】
前記ＩＣカードから前記データパケットを分割した複数のデータブロックを受信する場合、前記制御部は、抽出した前記管理情報に含まれる前記データパケットのデータ長に関する情報に基づいて、全ての前記データブロックを受信したか否かを判定し、受信していない前記データブロックがある場合、前記ＩＣカードに前記データブロックの送信を指令することを特徴とする請求項４に記載のデータ転送装置。
【請求項７】
前記通信部が前記ＩＣカードから１つの前記データパケットを構成する複数のデータブロックを受信する場合、前記データブロックを正常に受信している時は個々の前記データブロックを正常に受信したことを前記ＩＣカードに通知せず、そのデータパケットを構成する全ての前記データブロックを正常に受信した時点で、前記制御部がそのデータパケット全体を正常に受信したことを前記ＩＣカードに通知することを特徴とする請求項４に記載のデータ転送装置。
【請求項８】
前記ＩＣカードが送信したデータブロックから前記通信部がエラーを検出した場合、前記制御部がそのデータブロックと同一のデータパケットに属する残りのデータブロックの伝送を中止して、前記ＩＣカードにそのデータパケットの再送信指令を送ることを特徴とする請求項４に記載のデータ転送装置。
【請求項９】
データパケットのデータ長に関する情報を含む管理情報を付加してデータパケットを生成し、前記データパケットを分割して所定のサイズ以下のデータ長のデータブロックを生成する制御部と、
前記ＩＣカードから前記ＩＣカードが前記データブロックを受信可能であるという機能有効通知を受信した後前記データパケットを前記ＩＣカードに送信する時、最初に、前記管理情報を含む前記データブロックを送信し、引き続き前記管理情報を含まないデータブロックを送信する通信部と、
を有することを特徴とするデータ転送装置。
【請求項１０】
データ転送装置にデータパケットを送信するデータ転送方法であって、
データパケットのデータ長に関する情報を含む管理情報を付加してデータパケットを生成し、前記データパケットを分割してデータ転送装置から指示されたサイズのデータ長のデータブロックを生成する生成ステップと、
前記データ転送装置に割込信号を送信し、その後前記管理情報を含む前記データブロックを送信する第１の送信ステップと、
前記割込信号を送信することなく、前記管理情報を含まないデータブロックを送信する第２の送信ステップと、
を有することを特徴とするデータ転送方法。
【請求項１１】
前記生成ステップにおいて、前記管理情報を先頭のデータブロックに含めることを特徴とする請求項１０に記載のデータ転送方法。
【請求項１２】
複数の前記データブロックに分割した前記データパケットを前記データ転送装置に送信する時、前記データ転送装置から前記データパケットを構成する全ての前記データブロックを正しく受信したという情報を受信した後又は前記データ転送装置から前記データパケットの送信以外の指令を受信した後、送信した前記データパケットを廃棄する廃棄ステップを更に有することを特徴とする請求項１０に記載のデータ転送方法。
【請求項１３】
ＩＣカードとの間でデータパケットを送受信するデータ転送方法であって、
前記ＩＣカードから割込信号を受信する割込信号受信ステップと、
前記割込信号受信ステップの後、１つの前記データパケットを構成する複数のデータブロックを順次受信する受信ステップと、
複数の前記データブロックの中で、前記割込信号受信ステップの後最初に受信した前記データブロックの所定の部分から前記データパケットのデータ長に関する情報を含む管理情報を抽出し、それ以外のタイミングで受信した前記データブロックを前記管理情報を含まないデータとして取り扱うデータ処理ステップと、
を有することを特徴とするデータ転送方法。
【請求項１４】
前記ＩＣカードが送受信可能なデータブロックの最大サイズの情報を受信する最大サイズ情報受信ステップと、
前記ＩＣカードとの間で送受信する前記データブロックを格納する送受信用バッファメモリ及び前記ＩＣカードが送受信可能なデータブロックの最大サイズに応じて、前記データブロックの最大サイズを決定する最大サイズ決定ステップと、
前記ＩＣカードに前記データブロックの最大サイズ以下のデータ長の前記データブロックの送信を指示するデータブロック送信指令ステップと、
を更に有することを特徴とする請求項１３に記載のデータ転送方法。
【請求項１５】
前記ＩＣカードから前記データパケットを分割した複数のデータブロックを受信する場合、抽出した前記管理情報に含まれるデータパケットのデータ長に関する情報に基づいて、全ての前記データブロックを受信したか否かを判定する判定ステップと、受信していない前記データブロックがある場合、前記ＩＣカードに前記データブロックの送信を指令する指令ステップを更に有することを特徴とする請求項１３に記載のデータ転送方法。
【請求項１６】
前記ＩＣカードから１つの前記データパケットを構成する複数のデータブロックを受信する場合、前記データブロックを正常に受信している時は個々の前記データブロックを正常に受信したことを前記ＩＣカードに通知せず、そのデータパケットを構成する全ての前記データブロックを正常に受信した時点で、そのデータパケット全体を正常に受信したことを前記ＩＣカードに通知する通知ステップを更に有することを特徴とする請求項１３に記載のデータ転送方法。
【請求項１７】
前記ＩＣカードが送信したデータブロックからエラーを検出した場合、そのデータブロックと同一のデータパケットに属する残りのデータブロックの伝送を中止して、前記ＩＣカードにそのデータパケットの再送信指令を送る再送信指令ステップを更に有することを特徴とする請求項１３に記載のデータ転送方法。
【請求項１８】
ＩＣカードにデータパケットを送信するデータ転送方法であって、
前記データパケットのデータ長に関する情報を含む管理情報を付加して前記データパケットを生成し、前記データパケットを分割して所定のサイズ以下のデータ長の前記データブロックを生成する生成ステップと、
前記ＩＣカードから前記ＩＣカードが前記データブロックを受信可能であるという機能有効通知を受信する機能有効通知受信ステップと、
前記機能有効通知受信ステップの後前記データパケットを前記ＩＣカードに送信する時、最初に、前記管理情報を含む前記データブロックを送信する第１の送信ステップと、
前記第１の送信ステップに引き続き前記管理情報を含まない前記データブロックを送信する第２の送信ステップと、
を有することを特徴とするデータ転送方法。
【請求項１９】
データ転送装置にデータパケットを送信する、コンピュータを内蔵するＩＣカードに、
データパケットのデータ長に関する情報を含む管理情報を付加してデータパケットを生成し、前記データパケットを分割してデータ転送装置から指示されたサイズのデータ長のデータブロックを生成する生成ステップと、
前記データ転送装置に割込信号を送信し、その後前記管理情報を含む前記データブロックを送信する第１の送信ステップと、
前記割込信号を送信することなく、前記管理情報を含まないデータブロックを送信する第２の送信ステップと、
を実行させるためのデータ転送方法のプログラム。
【請求項２０】
ＩＣカードからデータパケットを受信する、コンピュータを内蔵するデータ転送装置に、
前記ＩＣカードから割込信号を受信する割込信号受信ステップと、
前記割込信号受信ステップの後、１つの前記データパケットを構成する複数のデータブロックを順次受信する受信ステップと、
複数の前記データブロックの中で、前記割込信号受信ステップの後最初に受信した前記データブロックの所定の部分から前記データパケットのデータ長に関する情報を含む管理情報を抽出し、それ以外のタイミングで受信した前記データブロックの全体を前記管理情報を含まないデータとして取り扱うデータ処理ステップと、
を実行させるためのデータ転送方法のプログラム。
【発明の詳細な説明】
【技術分野】  本発明は、ＩＣカード、データ転送装置、データ転送方法及びデータ転送方法のプログラムに関する。
【背景技術】  近年、不揮発性メモリと他の機能とを搭載したＩＣカードが開発され、市場に普及してきた。例えば、フラッシュメモリとテレビ放送受信機能とを搭載したＩＣカードをＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）に装着し、ＩＣカードが受信した映像データ及び音声データをＰＤＡに転送し、ＰＤＡのディスプレイ及びスピーカから出力する技術も実現されつつある。
一般に、機器（本明細書において「データ転送装置」と呼ぶ。）本体とＩＣカードとの間のデータ転送は、データ転送装置をマスターとするマスター／スレーブ方式の通信で行われる。従来、データ転送装置は、ＩＣカードからデータを読み出すときに、転送の単位となるデータ毎に、送信要求及び受信確認を行った。
特開平１０−２７２３１号公報に記載の従来例のＩＣカードは、端末（データ転送装置）の受信バッファの大きさに応じてデータを複数のブロックに分割する。そして、そのブロックをＩＣカードの送信バッファのサイズのデータに更に分割し、そのデータを順次端末に送信する。端末は１つのブロックを構成するデータを全て受信する毎に、ＩＣカードに「継続データ要求ブロック」送信する。従来例のＩＣカードは、端末の受信バッファのサイズよりも小さなサイズの送信バッファを有する場合、端末への高速なデータ転送が可能である。
送受信用のバッファメモリの記憶容量が小さく、処理能力が低い機器にまでＩＣカードの用途が広がるにつれ、より効率的で高速なデータ転送方法を使用する必要性が高まってきた。
特開平１０−２７２３１号公報に開示された従来例のＩＣカードは、その送信バッファのサイズが、データ転送装置の受信バッファのサイズよりも大きい場合に通信速度が非常に遅かった。そのような場合、従来例のＩＣカードは、データパケットを端末の受信バッファのサイズ以下の複数のブロックに分割し、送信する。端末はブロックを１つ受信する度に、ＩＣカードに「継続データ要求ブロック」を送信する。ブロックを転送する度に端末とＩＣカードとの間で転送が正常に行われたかどうかを確認する必要があるため、通信速度が遅かった。このようなデータ転送方法は、デジタルカメラなどの処理能力が低いＡＶ機器に対して、負担が大きかった。
本発明は上記従来の問題点を解決するもので、データ転送装置の処理能力が低い場合でも、ＩＣカードとデータ転送装置との間で高速のデータ転送が可能なＩＣカード、データ転送装置、データ転送方法及びデータ転送方法のプログラムを提供することを目的とする。
更に、データ転送装置の送受信用バッファメモリの記憶容量に応じたデータ転送が可能な、ＩＣカード、データ転送装置、データ転送方法及びデータ転送方法のプログラムを提供することを目的とする。
【発明の開示】
上記課題を解決するため、本発明は以下の構成を有する。本発明の１つの観点によるＩＣカードは、データパケットのデータ長に関する情報を含む管理情報を付加してデータパケットを生成し、前記データパケットを分割してデータ転送装置から指示されたサイズのデータ長のデータブロックを生成する制御部と、１つの前記データパケットを構成する複数の前記データブロックを前記データ転送装置に送信する時、前記管理情報を含む前記データブロックを送信する時には前記データ転送装置に割込信号を送信し、前記管理情報を含まないデータブロックを送信する時には前記データ転送装置に前記割込信号を送信しない通信部と、を有する。
例えば無線通信機能を有するＩＣカードが外部からデータを受信した場合、ＩＣカードは受信したデータを直ちにデータ転送装置に送信しなければならない。ＩＣカードがデータ転送装置に割込信号を送信することにより、データ転送装置は、それに応じて素早くＩＣカードからデータを受信し、そのデータを処理することが出来る。しかし、割込処理は、典型的にはデータ転送装置が現在実行している処理を中断して実行しなければならない故、データ転送装置にとって大きな負担となる。
本発明によれば、データ転送装置は、割込信号によってＩＣカードがデータ転送を要求していることを知り、素早くデータ転送を開始できる。データ転送装置は、最初に受信したデータブロックからデータパケットのデータ長に関する情報を抽出することにより、そのデータパケットがどれだけの情報量（データ長）を有しているか判断できる。データ転送装置は、データパケットのデータ長及び既に受信した１個目のデータブロックのデータ長から、未受信のデータブロックの有無を判断できる。その判断に基づき、データ転送装置は、その後割込信号を受信しなくても必要なデータ転送を実行できる。データ転送装置は、２番目から最後までのデータブロックの転送においては、ＩＣカードが割込信号を送信しない方が、データ転送装置がデータを処理する負担は小さくなる。
本発明は、データ転送装置に大きな情報処理を負担させることなく、データ転送装置との間で（情報処理能力が低いデータ転送装置との間でも）、高速のデータ転送が可能なＩＣカードを実現出来るという作用を有する。
本発明の別の観点による上記のＩＣカードは、１つの前記データパケットを構成する複数の前記データブロックを前記データ転送装置に送信する時、前記制御部は、前記管理情報を先頭のデータブロックに含める。
本発明は、データ転送装置に大きな情報処理を負担させることなく、データ転送装置との間でデータ転送が可能なＩＣカードを実現出来るという作用を有する。
本発明の別の観点による上記のＩＣカードは、複数の前記データブロックに分割した前記データパケットを前記データ転送装置に送信する時、前記データ転送装置から前記データパケットを構成する全ての前記データブロックを正しく受信したという情報を受信した後又は前記データ転送装置から前記データパケットの送信以外の指令を受信した後、送信した前記データパケットを廃棄する。複数のデータブロックをデータ転送装置に送信している途中でデータ転送に失敗した場合、本発明のＩＣカードは、データパケットを再送信できる。
本発明の別の観点によるデータ転送装置は、ＩＣカードとの間でデータブロックを送受信する通信部と、前記ＩＣカードからデータパケットを分割した複数の前記データブロックを受信する場合、前記通信部が割込信号を受信した後最初に受信する前記データブロックの所定の部分から前記データパケットのデータ長に関する情報を含む管理情報を抽出し、それ以外のタイミングで前記データブロックを受信した場合は、前記データブロックの全体を前記管理情報を含まないデータとして取り扱う制御部と、を有する。
本発明は、本発明のＩＣカードとの間で、高速のデータ転送が可能な、大きな処理能力を必要としないデータ転送装置を実現出来るという作用を有する。
本発明の別の観点による上記のデータ転送装置は、前記ＩＣカードとの間で送受信する前記データブロックを格納する送受信用バッファメモリを更に有し、前記通信部は、前記ＩＣカードとの間で前記データブロックを送受信する前に前記ＩＣカードが送受信可能なデータブロックの最大サイズの情報を受信し、前記制御部は、前記送受信用バッファメモリ及び前記ＩＣカードが送受信可能なデータブロックの最大サイズに応じて、前記データブロックの最大サイズを決定し、前記ＩＣカードから前記データパケットを分割した複数の前記データブロックを受信する場合、前記通信部を介して前記ＩＣカードに前記データブロックの最大サイズ以下のデータ長の前記データブロックの送信を指示する。
「送受信可能なデータブロックの最大サイズの情報」は、典型的には送受信用バッファメモリの記憶容量である。一般に、ＩＣカード及びデータ転送装置は、データブロックを送受信用バッファメモリに格納してデータ転送を行う。送受信用バッファメモリの大きさはＩＣカード、データ転送装置により異なる。例えば携帯電話の送受信用バッファメモリは小さく、パーソナルコンピュータの送受信用バッファメモリはそれに比べて大きい。データブロックの最大サイズが大きい程、データ転送効率が高い。しかし、データブロックの最大サイズがデータ転送装置又はＩＣカードの送受信用バッファメモリの大きさを超えると、データ転送装置及びＩＣカードにとって、データ転送が極めて大きな負担となる。本発明のデータ転送装置は、ＩＣカード及びデータ転送装置に応じた（例えばそれらの送受信用バッファメモリの大きさに応じた）データブロックの最大サイズを予め定め、データ転送を行うデータ転送装置を実現できるという作用を有する。
特に、送受信用バッファメモリの記憶容量が小さく、且つ機種によってその容量が異なるＩＣカード又はデータ転送装置（例えば携帯電話等の携帯用機器）において、本発明は有用である。
本発明は、本発明のＩＣカードとの間で、高速のデータ転送が可能な、大きな処理能力を必要としないデータ転送装置を実現出来るという作用を有する。
本発明の別の観点による上記のデータ転送装置は、前記ＩＣカードから前記データパケットを分割した複数のデータブロックを受信する場合、前記制御部は、抽出した前記管理情報に含まれる前記データパケットのデータ長に関する情報に基づいて、全ての前記データブロックを受信したか否かを判定し、受信していない前記データブロックがある場合、前記ＩＣカードに前記データブロックの送信を指令する。
本発明の別の観点による上記のデータ転送装置は、前記通信部が前記ＩＣカードから１つの前記データパケットを構成する複数のデータブロックを受信する場合、前記データブロックを正常に受信している時は個々の前記データブロックを正常に受信したことを前記ＩＣカードに通知せず、そのデータパケットを構成する全ての前記データブロックを正常に受信した時点で、前記制御部がそのデータパケット全体を正常に受信したことを前記ＩＣカードに通知する。
本発明は、個々の前記データブロックの転送におけるハンドシェイクを省略することにより、データ転送装置に大きな情報処理を負担させることなく、ＩＣカードとの間で高速のデータ転送が可能なデータ転送装置を実現出来るという作用を有する。
本発明の別の観点による上記のデータ転送装置は、前記ＩＣカードが送信したデータブロックから前記通信部がエラーを検出した場合、前記制御部がそのデータブロックと同一のデータパケットに属する残りのデータブロックの伝送を中止して、前記ＩＣカードにそのデータパケットの再送信指令を送る。
本発明は、データ転送装置に大きな情報処理を負担させることなく、効率的にＩＣカードとの間でデータ転送を行うデータ転送装置を実現出来るという作用を有する。
本発明の別の観点によるデータ転送装置は、データパケットのデータ長に関する情報を含む管理情報を付加してデータパケットを生成し、前記データパケットを分割して所定のサイズ以下のデータ長のデータブロックを生成する制御部と、前記ＩＣカードから前記ＩＣカードが前記データブロックを受信可能であるという機能有効通知を受信した後前記データパケットを前記ＩＣカードに送信する時、最初に、前記管理情報を含む前記データブロックを送信し、引き続き前記管理情報を含まないデータブロックを送信する通信部と、を有する。
本発明は、データ転送装置に大きな情報処理を負担させることなく、効率的にＩＣカードとの間でデータ転送を行うデータ転送装置を実現出来るという作用を有する。
本発明の別の観点によるデータ転送方法及びデータ転送方法のプログラムは、上記のＩＣカード及びデータ転送装置と同様の技術的思想によるものである。
本発明は、データ転送装置の処理能力が低い場合でも、ＩＣカードとデータ転送装置との間で高速のデータ転送が可能な、データ転送方法及びデータ転送方法のプログラムを実現出来るという作用を有する。
本発明は、ＩＣカード及びデータ転送装置の送受信用バッファメモリの記憶容量に応じたデータ転送が可能なデータ転送方法及びデータ転送方法のプログラムを実現出来るという作用を有する。
発明の新規な特徴は添付の請求の範囲に特に記載したものに他ならないが、構成及び内容の双方に関して本発明は、他の目的や特徴と共に、図面と共同して理解されるところの以下の詳細な説明から、より良く理解され評価されるであろう。
【図面の簡単な説明】  図１は本発明の実施の形態のデータ転送装置及びＩＣカードの構成図である。
図２は本発明の実施の形態のデータパケットの構成図である。
図３はデータ転送装置とＩＣカードとの間で送受信するデータブロックの最大サイズを決定する方法を示すフローチャートである。
図４はＩＣカードからデータ転送装置へのデータ転送処理の概略を示す図である。
図５はＩＣカードからデータ転送装置へデータ転送し、データ転送装置がＩＣカードからデータを読み出す時のデータ転送のフローチャートである。
図６はデータ転送装置からＩＣカードへのデータ転送処理の概略を示す図である。
図７はデータ転送装置からＩＣカードへデータ転送し、データ転送装置がＩＣカードにデータを書き込む時のデータ転送のフローチャートである。
図面の一部又は全部は、図示を目的とした概要的表現により描かれており、必ずしもそこに示された要素の実際の相対的大きさや位置を忠実に描写しているとは限らないことは考慮願いたい。
【発明を実施するための最良の形態】  以下本発明の実施をするための最良の形態を具体的に示した実施の形態について、図面とともに記載する。
図１〜図７を用いて、実施の形態のＩＣカード、データ転送装置、データ転送方法及びデータ転送方法のプログラムを説明する。
図１は本発明の実施の形態のデータ転送装置及びＩＣカードの構成を示す。図１において、１０１はデータ転送装置、１０２はＩＣカードである。
データ転送装置１０１は、ＩＣカード１０２を挿入するためのカードスロット（図示しない）を有する任意の機器である。実施の形態のデータ転送装置１０１は、携帯電話である。ＩＣカード１０２は、任意の汎用のＩＣカードであって良い。実施の形態のＩＣカード１０２は、ＳＤカードである。ＩＣカード１０２はデータ転送装置１０１のカードスロットに挿入される。
データ転送装置１０１は、制御部１１１、通信部１１２及び送受信用バッファメモリ１１３を有する。制御部１１１は、ブロック分割／合成部１３１、割込信号検出部１３２、管理情報処理部１３３及びバッファメモリ１３４を有する。実施の形態において、制御部１１１はマイクロコンピュータであって、ブロック分割／合成部１３１及び管理情報処理部１３３の機能はソフトウエアによって実行される。
ＩＣカード１０２は、制御部１２１、通信部１２２、送受信用バッファメモリ１２３及び外部通信モジュール１２４を有する。制御部１２１は、ブロック分割／合成部１４１、割込信号生成部１４２、管理情報処理部１４３及びバッファメモリ１４４を有する。実施の形態において、制御部１２１はマイクロコンピュータであって、ブロック分割／合成部１４１、管理情報処理部１４３の機能及び割込信号生成部１４２の起動処理はソフトウエアによって実行される。外部通信モジュール１２４は、外部のアンテナ１０６と電気的に接続され、外部装置（図示しない。）との間で無線通信を実行する。
データ転送装置１０１の通信部１１２とＩＣカード１０２の通信部１２２は、コマンド／レスポンス線１０３、データ線１０４及びクロック線１０５を介してシンクロナス方式の通信を行う。通信は、データ転送装置１０１をマスター、ＩＣカード１０２をスレーブとするマスター／スレーブ方式の通信である。
ＩＣカード１０２の外部通信モジュール１２４は、アンテナ１０６を介して無線通信によってデータパケット（実施の形態においては、Ｂｌｕｅｔｏｏｔｈ規格のデータパケット）を受信し、バッファメモリ１４４に転送する。ＩＣカード１０２は、バッファメモリ１４４内のデータパケットから、データ転送装置１０１へ送信するためのデータパケット（実施の形態においては、ＳＤ  Ｉ／Ｏ  Ｂｌｕｅｔｏｏｔｈ規格のデータパケット）を生成し、複数のデータブロックに分割し、データ転送装置１０１に送信する。送受信用バッファメモリ１２３には、データ転送装置１０１との間で送受信するデータブロックが順次格納される。ＩＣカード１０２は、複数の機能ブロック（例えば不揮発性メモリ、映像信号及び／又は音声信号を受信するチューナ部）を有していても良い。
データ転送装置１０１は、バッファメモリ１３４に記憶したデータパケット（実施の形態においては、Ｂｌｕｅｔｏｏｔｈ規格のデータパケット）から、ＩＣカード１０２へ送信するためのデータパケット（実施の形態においては、ＳＤ  Ｉ／Ｏ  Ｂｌｕｅｔｏｏｔｈ規格のデータパケット）を生成し、複数のデータブロックに分割し、ＩＣカード１０２に送信する。送受信用バッファメモリ１１３には、ＩＣカード１０２との間で送受信するデータブロックが順次格納される。
《データパケット及びデータブロックの構成》
図２を用いて、データ転送装置１０１とＩＣカード１０２との間で送受信するデータパケット及びデータブロックの構成を説明する。
図２は、本発明の実施の形態のデータパケットの構成を示す。データ転送装置１０１とＩＣカード１０２との間で送受信するデータパケット２０１（ＳＤ  Ｉ／Ｏ  Ｂｌｕｅｔｏｏｔｈ規格）のデータ長をＬバイトとする。Ｌの値はデータの内容に応じて異なる。データパケット２０１の先頭には４バイトの管理情報２１１が配置されている。管理情報２１１はデータパケット長に関する情報２１２（３バイト）とサービスＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）２１３（１バイト）を含む。サービスＩＤ２１３は、データの種類に関する情報を含むことができる。データパケット２０１の中で、管理情報２１１を除く部分は、全て通常のデータである。なお、「データ長」はデータパケットの情報量を表す任意の値（実施の形態では、バイト数）である。
データ転送装置１０１とＩＣカードとの間では、データパケット２０１を分割した、データブロック２０２〜２０４が送受信される。データ転送装置１０１は、ＩＣカード１０２の初期化を行う時、ＩＣカード１０２の接続時又は起動時に、ＩＣカード１０２との間で送受信するデータブロック２０２〜２０４の最大データサイズ（Ｎバイト）を以下に述べる方法によって定める。
図３は、データ転送装置１０１とＩＣカード１０２との間で送受信するデータブロックの最大サイズを決定する方法を示すフローチャートである。ステップ３０１でデータ転送装置１０１はＩＣカード１０２に、ＩＣカード１０２の送受信用バッファメモリ１２３の記憶容量を問い合わせる送信指令を送信する。ステップ３１１でＩＣカード１０２は、ＩＣカード１０２の送受信用バッファメモリ１２３の記憶容量を問い合わせる送信指令を受信する。ステップ３１２でＩＣカード１０２はデータ転送装置１０１に、送受信用バッファメモリ１２３の記憶容量を送信する。ステップ３０２でデータ転送装置１０１は、ＩＣカード１０２の送受信用バッファメモリ１２３の記憶容量を受信する。ステップ３０３でデータ転送装置１０１は、ＩＣカード１０２の送受信用バッファメモリ１２３の記憶容量とデータ転送装置１０１の送受信用バッファメモリ１１３の記憶容量とを超えない値を、データブロックの最大サイズ（Ｎバイト）として定める。
データパケット２０１のデータ長がＬバイト、データブロックの最大サイズがＮバイトの場合（図２）、典型的にはデータパケット２０１は、データ長Ｎバイトのデータブロック２０２〜２０４に分割される。最後のデータブロック２０４のデータ長はＬバイトをＮバイトで割った剰余（０≦（Ｌ  ｍｏｄ  Ｎ）＜Ｎ）である（（Ｌ  ｍｏｄ  Ｎ）＝０の場合は、最後のデータブロック２０４のデータ長はＮバイトになる。）。データパケット２０１の分割／合成は、データ転送装置１０１のブロック分割／合成部１３１又はＩＣカード１０２のブロック分割／合成部１４１が行う。
管理情報２１１は先頭のデータブロック２０２の所定の位置（実施の形態においては先頭）に配置されている。先頭のデータブロック２０２を受信したデータ転送装置１０１又はＩＣカード１０２は、管理情報処理部１３３又は管理情報処理部１４３において、管理情報２１１からデータパケット２０１全体のデータ長を抽出する。データ転送装置１０１又はＩＣカード１０２は、順次データブロックを受信するとともに、データパケット２０１全体のデータ長及び既に受信したデータブロックの総データ長から、未受信のデータの有無を判定できる。
ＩＣカード１０２は、最大サイズ以下のデータ長を有するデータブロック２０２〜２０４をその送受信用バッファメモリ１２３に格納できる。データブロック２０２〜２０４のデータ長（Ｎバイト）がデータ転送装置１０１の送受信用バッファメモリ１１３の記憶容量に対応しているため、送受信用バッファメモリ１１３の記憶容量が小さなデータ転送装置においてもＩＣカード１０２との間でデータ転送が必ず可能である。送受信用バッファメモリ１１３の記憶容量が大きなデータ転送装置においては、大きなデータブロックを転送することにより、実効的に高いデータ伝送レートを実現できる。
なお、図２において最後のデータブロック２０４以外のデータ長は、全て最大サイズ（Ｎバイト）であったが、それぞれのデータブロックのデータ長が最大サイズ以下のデータ長であれば良い。
なお、実施の形態（図３）において、データ転送装置１０１の送受信用バッファメモリ１１３及びＩＣカード１０２の送受信用バッファメモリ１２３の記憶容量に応じて、データブロックの最大サイズ（Ｎバイト）を定めたが、データブロックの最大サイズは、データ転送装置１０１及びＩＣカード１０２が送受信可能なデータブロックの最大サイズに応じて定めれば良い。この場合、図３の全てのステップにおいて、「送受信用バッファメモリの記憶容量」を「送受信可能なデータブロックの最大サイズ」に置き換えればよい。
《ＩＣカードからデータ転送装置へのデータ転送処理》
次に、図４及び図５を用いて、ＩＣカード１０２からデータ転送装置１０１へのデータ転送処理の方法を説明する。
図４は、ＩＣカード１０２からデータ転送装置１０１へのデータ転送処理の概略を示す図である。データ転送装置１０１とＩＣカード１０２との間では、データ転送装置１０１からのコマンド及びＩＣカード１０２からのレスポンスを、コマンド／レスポンス線１０３を介して送受信する。ＩＣカード１０２が出力したデータブロック及び割込信号は、データ線１０４を介してデータ転送装置１０１に転送される。
今、ＩＣカード１０２は、有効に機能しているものとする（データブロックを送受信できる状態にある）。ＩＣカード１０２の外部通信モジュール１２４は、アンテナ１０６を介して無線通信によってデータパケット（実施の形態においては、Ｂｌｕｅｔｏｏｔｈ規格のデータパケット）を受信し、バッファメモリ１４４に転送する。更にＩＣカード１０２の制御部１２１で、バッファメモリ１４４内のデータパケットから、データ転送装置１０１へ送信するためのデータパケット４５１（ＳＤ  Ｉ／Ｏ  Ｂｌｕｅｔｏｏｔｈ規格のデータパケット。図２のデータパケット２０１に対応する。）を１つ生成する。制御部１２１は、バッファメモリ１４４内のデータ量が所定量に達したか否かを判断している。
バッファメモリ１４４内のデータ量が所定量に達したとき、ＩＣカード１０２の割込信号生成部１４２が割込信号４０１を、データ線１０４を介してデータ転送装置１０１に送る。データ転送装置１０１の割込信号検出部１３２は割込信号４０１を検出する。データ転送装置１０１は、ＩＣカード１０２がデータ伝送を要求していることを知る。データ転送装置１０１は、割込クリアコマンド４０２をＩＣカード１０２に送信する。ＩＣカード１０２は、割込クリアコマンド４０２を受信後、割込信号４０１を終了し、レスポンス４０３を返す。
次に、データ転送装置１０１はＩＣカード１０２へ、データブロックの転送を開始するためのコマンド４０４を送信し、ＩＣカード１０２からのレスポンス４０５を受信する。コマンド４０４は、１つ目のデータブロック４５２のデータ長（情報量）の情報を含む。１つ目のデータブロック４５２のデータ長は、データ転送装置１０１がＩＣカードの初期化を行う時、ＩＣカードの接続時又は起動時に予め定めた、データブロックの最大サイズ（例えば、図２ではＮバイト）以下のデータ長である。
ＩＣカード１０２のブロック分割／合成部１４１は、データパケット４５１を分割し、コマンド４０４によって指定されたデータ長のデータブロック４５２を生成し、送受信用バッファメモリ１２３に格納する。その後、ＩＣカード１０２は１つ目のデータブロック４５２をデータ線１０４を介して送信する。
データ転送装置１０１はデータブロック４５２を正常に受信した後、次のデータブロック４５３の転送を開始するためのコマンド４０６を送信し、ＩＣカード１０２からのレスポンス４０７を受信する。コマンド４０６は、２つ目のデータブロック４５３のデータ長（情報量）の情報を含む。２つ目のデータブロック４５３のデータ長は、データブロックの最大サイズ（例えば、図２ではＮバイト）以下のデータ長である。
ＩＣカード１０２のブロック分割／合成部１４１は、データパケット４５１を分割し、コマンド４０６によって指定されたデータ長のデータブロック４５３を生成し、送受信用バッファメモリ１２３に格納する。その後、ＩＣカード１０２は２つ目のデータブロック４５３をデータ線１０４を介して送信する。
以降のデータブロックについて同様の手順を繰り返す。先頭のデータブロック４５２を受信したデータ転送装置１０１は、管理情報処理部１３３において、データブロック４５２に含まれる管理情報からデータパケット４５１全体のデータ長を抽出する。データ転送装置１０１は、順次データブロック４５３、４５４を受信するとともに、データパケット４５１全体のデータ長及び既に受信したデータブロックの総データ長から未受信のデータブロックの有無を判定し、データ転送が終了したか否か（次のデータブロックの転送を開始するためのコマンドを送信するか否か）判断する。
データパケット４５１を構成する全てのデータブロック４５２〜４５４の転送が正常に終了した場合、データ転送装置１０１はｓｅｎｄ  Ａｃｋコマンド４１０を送信し、データ転送が正常に終了したことを通知する。このコマンドに対し、ＩＣカード１０２はレスポンス４１１を返す。以上の手順により、１つ目のデータパケット４５１の転送が終了する。ＩＣカード１０２が次にデータパケットを送信する場合、再び割込信号４１２を送り、前のデータパケット４５１の転送手順と同様の手順を繰り返す。
以上の説明のように、データ転送装置１０１がＩＣカード１０２からデータパケットを構成する複数のデータブロックを受信する場合、データブロックを正常に受信している時は、個々のデータブロックを正常に受信したことをＩＣカード１０２に通知しない。データパケットを構成する全てのデータブロックを正常に受信した時点で、データパケット全体を正常に受信したこと（ｓｅｎｄ  Ａｃｋコマンド４１０）をＩＣカード１０２に通知する。
ＩＣカード１０２は、管理情報を含むデータブロック、つまりデータパケット中の１つ目のデータブロックを送信する時のみ、割込信号４０１を送信し、それ以外のデータブロックを送信する時は割込信号４０１を送信しない。従って、データ転送装置１０１の処理能力が低い場合でも、ＩＣカード１０２からデータ転送装置１０１へ、データパケットを速やかに伝送できる。
図５は、ＩＣカード１０２からデータ転送装置１０１へデータ転送し、データ転送装置１０１がＩＣカード１０２からデータを読み出す時のデータ転送のフローチャートである。
ＩＣカード１０２は、ステップ５２１でデータパケットを生成する。即ち、ＩＣカード１０２の制御部１２１は、外部通信機能モジュール１２４からバッファメモリ１４４に転送されたＢｌｕｅｔｏｏｔｈ規格のデータパケットを、データ転送装置１０１へ転送するためのＳＤ  Ｉ／Ｏ  Ｂｌｕｅｔｏｏｔｈ規格のデータパケット（図４のデータパケット４５１）に変換する。変換されたデータパケットのデータ長をＬバイトとする。ステップ５２２で割込信号生成部１４２は、割込信号（図４の割込信号４０１）をデータ転送装置１０１に送信する。
データ転送装置１０１の割込信号検出部１３２は、ステップ５０１で割込信号を受信する。ステップ５０２でデータ転送装置１０１は、データブロックの送信をＩＣカード１０２に指令する。この指令には、ＩＣカードから受信するデータブロックのデータ長ｎを含む。データブロックのデータ長ｎは、予めデータ転送装置１０１が定めた、データブロックの最大サイズ（例えば、図２ではＮバイト）以下のデータ長である。ＩＣカード１０２はデータブロックの送信指令を受信し（ステップ５２３）、レスポンスを送信する（ステップ５２４）。データ転送装置１０１はレスポンスを受信する（ステップ５０３）。
ステップ５２４に引き続きステップ５２５で、ＩＣカード１０２のブロック分割／合成部１４１は、データパケットを分割し、データ長ｎのデータブロックを生成する。ステップ５２６でＩＣカード１０２はデータブロックを一旦送受信用バッファメモリ１２３に格納し、データ転送装置１０１に送信する。
ステップ５０３に引き続きステップ５０４でデータ転送装置１０１は、データブロックを受信し、送受信用バッファメモリ１１３に一旦格納し、バッファメモリ１３４に転送する。ステップ５０５でデータブロックを正常に受信できたか否か判断する。正常に受信できなかった場合はステップ５１１で、ＩＣカード１０２にデータパケットの再送信を指令し、ステップ５０２に戻りデータブロックの送信を指令する。ＩＣカード１０２はデータパケットの再送信指令を受信（ステップ５２９）後、残りのデータブロックの転送を中止しステップ５２３に戻る。ＩＣカード１０２は、データブロックの送信指令を受信すると、１つ目のデータブロックから再送信する。
ステップ５０５で正常にデータブロックを受信できたと判定された場合、ステップ５０６に進む。ステップ５０６でデータ転送装置１０１は、受信したデータブロックが１つ目か否かを判断する。データ転送装置１０１は、割込信号を受信（ステップ５０１）後又はデータパケットの再送信指令を送信（ステップ５１１）後、初めて受信したデータブロックはデータパケットを構成するデータブロックのうち先頭のデータブロックであると判断する。受信したデータブロックが２つ目以降の場合、ステップ５０８に進む。受信したデータブロックが１つ目のデータブロックの場合、管理情報処理部１３３はステップ５０７で、そのデータブロックの先頭に配置されている管理情報から、データパケットのデータ長（Ｌバイト）を抽出する。更に、未受信のデータ量ＬｕにＬを代入し、ステップ５０８に進む。ステップ５０８でデータ転送装置１０２は、未受信のデータ量Ｌｕを算出する（Ｌｕ＝Ｌｕ−ｎ）。ステップ５０９でデータ転送装置１０１は、未受信のデータ量Ｌｕが０より大きいか否か判断する。Ｌｕが０より大きい場合ステップ５０２に戻り、次のデータブロックの送信指令を送信する。つまり、データブロックの受信処理を繰り返す。
ステップ５０９で未受信のデータ量Ｌｕが０の場合、つまり全てのデータブロックを正常に受信し終わった場合、ステップ５１０に進む。ステップ５１０でデータ転送装置１０１は、ＩＣカード１０２に、データパケットを正常に受信したという情報（図４のｓｅｎｄ  Ａｃｋコマンド４１０）を送信し、データ転送装置１０１のフローチャートを終了する。ブロック分割／合成部１３１は、バッファメモリ１３４に全てのデータブロックが転送された後で、データパケット（ＳＤ  Ｉ／Ｏ  Ｂｌｕｅｔｏｏｔｈ規格）を合成する。
ＩＣカード１０２は、全てのデータブロックを送信し終わった場合、ステップ５２７でデータ転送装置１０１から、データパケットを正常に受信したという情報（図４のｓｅｎｄ  Ａｃｋコマンド４１０）を受信する。ステップ５２８においてバッファメモリ１４４内のデータパケット（ステップ５２１で生成したデータパケット）を廃棄し、ＩＣカード１０２のフローチャートを終了する。なお、データ転送装置１０１から、データパケット送信指令以外の指令を受信した時にも、バッファメモリ１４４内のデータパケットを廃棄し、ＩＣカード１０２のフローチャートを終了する。
ＩＣカード１０２は、データパケットを構成する全てのデータブロックの転送が正常に送信できるまで、そのデータブロックをバッファメモリ１４４から廃棄しない。従って、速やかにデータブロックを再送信できる。
なお、図５のフローチャートに代え、ステップ５１０、５２７、５２８を除いたフローチャートとしても良い。即ち、データ転送装置１０１がデータパケットを正常に受信したという情報をＩＣカードに送信しなくても良い。また、ＩＣカード１０２はデータ転送装置１０１に送信済みのデータパケットを廃棄しないでバッファメモリ１４４に格納又は次のデータパケットで上書き処理しても良い。
《データ転送装置からＩＣカードへのデータ転送処理》
次に、図６及び図７を用いて、データ転送装置１０１からＩＣカード１０２へのデータ転送処理の方法を説明する。
図６はデータ転送装置からＩＣカードへのデータ転送処理の概略を示す図である。
ＩＣカード１０２は、起動時には機能していない。まず始めにデータ転送装置１０１が、ＩＣカード１０２を有効に機能動作させるためのコマンド６０１を送信する。ＩＣカード１０２は機能動作を開始した（有効になった）後、レスポンス６０２を返すと同時に機能有効通知６０３をデータ線１０４を介して行う。以後、データ転送装置１０１からのリセットコマンドを入力しない限り、ＩＣカード１０２は有効に機能する。
次にデータ転送装置１０１は、バッファメモリ１３４内のデータパケット（Ｂｌｕｅｔｏｏｔｈ規格）から、ＩＣカード１０２へ転送するための１つのデータパケット６５１（ＳＤ  Ｉ／Ｏ  Ｂｌｕｅｔｏｏｔｈ規格。図２のデータパケット２０１に対応する。）を生成する。ブロック分割／合成部１３１は、そのデータパケット６５１から、１つ目のデータブロック６５２を生成する。データ転送装置１０１はＩＣカード１０２へ、データブロックの転送を開始するためのコマンド６０４（１つ目のデータブロック６５２のデータ長の情報を含む。）を送信し、ＩＣカード１０２からのレスポンス６０５を受信する。その後、データ転送装置１０１は１つ目のデータブロック６５２を一旦送受信用バッファメモリ１１３に格納し、送信する。
ＩＣカード１０２は、エラー有無通知６０６をデータ線１０４を介して行う。エラー有無通知６０６には、前のデータブロック６５２が正常に転送されたか否かと言う情報が含まれる。
ＩＣカード１０２は、受信したデータブロック６５２の処理中は次のデータブロックを受信できないため、データ線１０４を介してエラー有無通知６０６に引き続きビジー通知６０７を行う。
ビジー通知６０７終了後、データ転送装置１０１はＩＣカード１０２へ、次のデータブロック６５３を送信するためのコマンド６０８（次のデータブロック６５３のデータ長の情報を含む。）を送信し、ＩＣカード１０２からのレスポンス６０９を受信する。その後、データ転送装置１０１は次のデータブロック６５３を一旦送受信用バッファメモリ１１３に格納し、送信する。以降のデータブロックについて同様の手順を繰り返す。
このようにして、データパケット６５１を構成する全てのデータブロック６５２〜６５４を送信する。データ転送装置１０１が次にデータパケットを送信する場合、再び、データブロックの転送を開始するためのコマンド６１６を送信し、前のデータパケット６５１の転送手順と同様の転送手順を繰り返す。
先頭のデータブロック６５２を受信したＩＣカード１０２は、管理情報処理部１４３において、データブロック６５２に含まれる管理情報からデータパケット６５１全体のデータ長を抽出する。ＩＣカード１０２は、順次データブロック６５３、６５４を受信するとともに、データパケット６５１全体のデータ長及び既に受信したデータブロックの総データ長から未受信のデータブロックの有無を判定し、データ転送が終了したか否か判断する。
以上の説明のように、データ転送装置１０１は、前のデータブロックが正常に転送されたかどうかを確認するためのコマンドをＩＣカード１０２に送信しないので、速やかにデータパケットをＩＣカード１０２に転送できる。
なお、それぞれのデータブロック６５２〜６５４のデータ長は、予めデータ転送装置１０１が定めた、データブロックの最大サイズ（例えば、図２ではＮバイト）以下のデータ長である。
図７は、データ転送装置からＩＣカードへデータ転送し、データ転送装置がＩＣカードにデータを書き込む時のデータ転送のフローチャートである。
ステップ７０１でデータ転送装置１０１は、バッファメモリ１３４に格納されているデータパケット（Ｂｌｕｅｔｏｏｔｈ規格）から、ＩＣカード１０２に送信するためのデータパケット（ＳＤ  Ｉ／Ｏ  Ｂｌｕｅｔｏｏｔｈ規格である。例えば、図２のデータパケット２０１、図６のデータパケット６５１）を生成する。データパケットのデータ長をＬバイトとする。未受信のデータ量ＬｕにＬを代入する。ステップ７０２でデータ転送装置１０１は、データブロックの送信をＩＣカード１０２に通知する。この通知には、ＩＣカード１０２に送信するデータブロックのデータ長ｎを含む。データブロックのデータ長ｎは、予めデータ転送装置１０１が定めた、データブロックの最大サイズ（例えば、図２ではＮバイト）以下のデータ長である。ＩＣカード１０２は、データブロックの送信通知を受信し（ステップ７２１）、レスポンスを送信する（ステップ７２２）。データ転送装置１０１は、レスポンスを受信する（ステップ７０３）。ブロック分割／合成部１３１はステップ７０４において、データパケットを分割してデータ長ｎのデータブロックを生成する。
データ転送装置１０１は、ステップ７０４に引き続きステップ７０５で、データブロックを一旦送受信用バッファメモリ１１３に格納し、送信する。
ＩＣカード１０２は、ステップ７２２に引き続きステップ７２３でデータブロックを受信し、一旦送受信用バッファメモリ１２３に格納し、バッファメモリ１４４に転送する。ステップ７２４でデータブロックを正常に受信できたか否か判断する。正常に受信できなかった場合はステップ７３０に進み、データブロックを正常に受信しなかったことをデータ転送装置１０１に通知する。データブロックが正常に受信できた場合はステップ７２５に進み、正常にデータブロックを受信したことをデータ転送装置１０１に通知し、ステップ７２６に進む。具体的にはＩＣカード１０２は、データブロックの受信後のエラー有無通知（図６のエラー有無通知６０６、６１０、６１４）時に、データブロックを正常に受信したか否かと言う情報を含める。
ステップ７２６でＩＣカード１０２は、ステップ７２３で受信したデータブロックが１つ目か否か判断する。ＩＣカード１０２は、有効な動作を開始した後、又はデータパケットを構成する全てのデータブロックを正常に受信した後、又はデータパケットの再送信指令を送信（ステップ７３１）後、初めて受信したデータブロックはデータパケットを構成するデータブロックのうち先頭のデータブロックであると判断する。データブロックが２つ目以降のデータブロックである場合、ステップ７２８に進む。データブロックが１つ目である場合、管理情報処理部１４３は、そのデータブロックの先頭から管理情報を抽出し、データパケットのデータ長（Ｌバイト）の情報を得て、未受信のデータ量ＬｕにＬを代入し（ステップ７２７）、ステップ７２８に進む。ステップ７２８でＩＣカード１０２は、未受信のデータ量Ｌｕを算出する（Ｌｕ＝Ｌｕ−ｎ）。
ステップ７２９でＩＣカード１０２は、未受信のデータ量Ｌｕが０より大きいか否か判断する。Ｌｕが０より大きい場合ステップ７２１に戻り、次のデータブロックの送信通知を受信する。つまり、データブロックの受信処理を繰り返す。
ステップ７２９で未受信のデータ量Ｌｕが０の場合、つまり全てのデータブロックを正常に受信し終わった場合、ＩＣカード１０２のフローチャートを終了する。ブロック分割／合成部１４１は、バッファメモリ、１４４に全てのデータブロックが転送された後で、データパケット（ＳＤ  Ｉ／Ｏ  Ｂｌｕｅｔｏｏｔｈ規格）を合成する。
一方、データ転送装置１０１はステップ７０６で、データブロックをＩＣカード１０２が正常に受信したという通知を受信する。ステップ７０７でデータ転送装置１０１は、未送信のデータ量Ｌｕを算出する（Ｌｕ＝Ｌｕ−ｎ）。ステップ７０８でデータ転送装置１０１は、未送信のデータ量Ｌｕが０より大きいか否か判断する。Ｌｕが０より大きい場合ステップ７０２に戻り、次のデータブロックの送信を通知する。つまり、データブロックの送信処理を繰り返す。
ステップ７０８で未送信のデータ量Ｌｕが０の場合、つまり全てのデータブロックを正常に送信し終わった場合、ステップ７０９に進む。ステップ７１０でバッファメモリ１３４内のデータパケット（ステップ７０１で生成したデータパケット）を廃棄し、データ転送装置１０１のフローチャートを終了する。
途中のデータブロックの転送に失敗した場合、以下のように、残りのデータブロックの伝送を中止し、全てのデータブロックの再送信を行う。データ転送装置１０１はステップ７１０で、データブロックをＩＣカード１０２が正常に受信しなかったという通知を受信する。ステップ７１１でデータパケットの再送信を指令し、ステップ７０２に戻る。データ転送装置１０１は、１つ目のデータブロックから再送信をする。一方、ＩＣカード１０２はステップ７３１で、データパケットの再送信指令を受信し、ステップ７２１に戻る。ＩＣカード１０２は、１つ目のデータブロックから再受信する。
上記の方法を実行するプログラムを、例えばＰＣ、ＡＶ機器、携帯電話に内蔵されたマイクロコンピュータに読み込み実行させることにより、これらの装置を本発明のデータ転送装置として機能させることができる。上記の方法を実行するプログラムを、例えばＳＤカード、メモリースティック等のＩＣカードに内蔵されたマイクロコンピュータに読み込み実行させることにより、これらの装置を本発明のＩＣカードとして機能させることができる。
発明をある程度の詳細さをもって好適な形態について説明したが、この好適形態の現開示内容は構成の細部において変化してしかるべきものであり、各要素の組合せや順序の変化は請求された発明の範囲及び思想を逸脱することなく実現し得るものである。
【産業上の利用可能性】  本発明は、データ転送装置に装着され、データパケットをデータ転送装置との間で送受信するＩＣカード、そのＩＣカードのデータ転送方法及びデータ転送方法のプログラムとして有用である。
本発明は、ＩＣカードを装着し、データパケットをＩＣカードとの間で送受信するデータ転送装置、そのデータ転送装置のデータ転送方法及びデータ転送方法のプログラムとして有用である。
【図１】
2004036440.tif 000003
【図２】
2004036440.tif 000004
【図３】
2004036440.tif 000005
【図４】
2004036440.tif 000006
【図５】
2004036440.tif 000007
【図６】
2004036440.tif 000008
【図７】
2004036440.tif 000009
【手続補正書】
【提出日】平成16年7月16日(2004.7.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データパケットのデータ長に関する情報を含む管理情報を付加してデータパケットを生成し、前記データパケットを分割してデータ転送装置から指示されたサイズのデータ長のデータブロックを生成する制御部と、
１つの前記データパケットを構成する複数の前記データブロックを前記データ転送装置に送信する時、前記管理情報を含む前記データブロックを送信する時には前記データ転送装置に割込信号を送信し、前記管理情報を含まないデータブロックを送信する時には前記データ転送装置に前記割込信号を送信しない通信部と、
を有することを特徴とするＩＣカード。
【請求項２】
１つの前記データパケットを構成する複数の前記データブロックを前記データ転送装置に送信する時、前記制御部は、前記管理情報を先頭のデータブロックに含めることを特徴とする請求項１に記載のＩＣカード。
【請求項３】
複数の前記データブロックに分割した前記データパケットを前記データ転送装置に送信する時、前記データ転送装置から前記データパケットを構成する全ての前記データブロックを正しく受信したという情報を受信した後又は前記データ転送装置から前記データパケットの送信以外の指令を受信した後、送信した前記データパケットを廃棄することを特徴とする請求項１に記載のＩＣカード。
【請求項４】
ＩＣカードとの間でデータブロックを送受信する通信部と、
前記ＩＣカードからデータパケットを分割した複数の前記データブロックを受信する場合、前記通信部が割込信号を受信した後最初に受信する前記データブロックの所定の部分から前記データパケットのデータ長に関する情報を含む管理情報を抽出し、それ以外のタイミングで前記データブロックを受信した場合は、前記データブロックの全体を前記管理情報を含まないデータとして取り扱う制御部と、
を有することを特徴とするデータ転送装置。
【請求項５】
前記ＩＣカードとの間で送受信する前記データブロックを格納する送受信用バッファメモリを更に有し、
前記通信部は、前記ＩＣカードとの間で前記データブロックを送受信する前に前記ＩＣカードが送受信可能なデータブロックの最大サイズの情報を受信し、
前記制御部は、前記送受信用バッファメモリ及び前記ＩＣカードが送受信可能なデータブロックの最大サイズに応じて、前記データブロックの最大サイズを決定し、
前記ＩＣカードから前記データパケットを分割した複数の前記データブロックを受信する場合、前記通信部を介して前記ＩＣカードに前記データブロックの最大サイズ以下のデータ長の前記データブロックの送信を指示することを特徴とする請求項４に記載のデータ転送装置。
【請求項６】
前記ＩＣカードから前記データパケットを分割した複数のデータブロックを受信する場合、前記制御部は、抽出した前記管理情報に含まれる前記データパケットのデータ長に関する情報に基づいて、全ての前記データブロックを受信したか否かを判定し、受信していない前記データブロックがある場合、前記ＩＣカードに前記データブロックの送信を指令することを特徴とする請求項４に記載のデータ転送装置。
【請求項７】
前記通信部が前記ＩＣカードから１つの前記データパケットを構成する複数のデータブロックを受信する場合、前記データブロックを正常に受信している時は個々の前記データブロックを正常に受信したことを前記ＩＣカードに通知せず、そのデータパケットを構成する全ての前記データブロックを正常に受信した時点で、前記制御部がそのデータパケット全体を正常に受信したことを前記ＩＣカードに通知することを特徴とする請求項４に記載のデータ転送装置。
【請求項８】
前記ＩＣカードが送信したデータブロックから前記通信部がエラーを検出した場合、前記制御部がそのデータブロックと同一のデータパケットに属する残りのデータブロックの伝送を中止して、前記ＩＣカードにそのデータパケットの再送信指令を送ることを特徴とする請求項４に記載のデータ転送装置。
【請求項９】
データパケットのデータ長に関する情報を含む管理情報を付加してデータパケットを生成し、前記データパケットを分割して所定のサイズ以下のデータ長のデータブロックを生成する制御部と、
前記ＩＣカードから前記ＩＣカードが前記データブロックを受信可能であるという機能有効通知を受信した後前記データパケットを前記ＩＣカードに送信する時、最初に、前記管理情報を含む前記データブロックを送信し、引き続き前記管理情報を含まないデータブロックを送信する通信部と、
を有することを特徴とするデータ転送装置。
【請求項１０】
データ転送装置にデータパケットを送信するデータ転送方法であって、
データパケットのデータ長に関する情報を含む管理情報を付加してデータパケットを生成し、前記データパケットを分割してデータ転送装置から指示されたサイズのデータ長のデータブロックを生成する生成ステップと、
前記データ転送装置に割込信号を送信し、その後前記管理情報を含む前記データブロックを送信する第１の送信ステップと、
前記割込信号を送信することなく、前記管理情報を含まないデータブロックを送信する第２の送信ステップと、
を有することを特徴とするデータ転送方法。
【請求項１１】
前記生成ステップにおいて、前記管理情報を先頭のデータブロックに含めることを特徴とする請求項１０に記載のデータ転送方法。
【請求項１２】
複数の前記データブロックに分割した前記データパケットを前記データ転送装置に送信する時、前記データ転送装置から前記データパケットを構成する全ての前記データブロックを正しく受信したという情報を受信した後又は前記データ転送装置から前記データパケットの送信以外の指令を受信した後、送信した前記データパケットを廃棄する廃棄ステップを更に有することを特徴とする請求項１０に記載のデータ転送方法。
【請求項１３】
ＩＣカードとの間でデータパケットを送受信するデータ転送方法であって、
前記ＩＣカードから割込信号を受信する割込信号受信ステップと、
前記割込信号受信ステップの後、１つの前記データパケットを構成する複数のデータブロックを順次受信する受信ステップと、
複数の前記データブロックの中で、前記割込信号受信ステップの後最初に受信した前記データブロックの所定の部分から前記データパケットのデータ長に関する情報を含む管理情報を抽出し、それ以外のタイミングで受信した前記データブロックを前記管理情報を含まないデータとして取り扱うデータ処理ステップと、
を有することを特徴とするデータ転送方法。
【請求項１４】
前記ＩＣカードが送受信可能なデータブロックの最大サイズの情報を受信する最大サイズ情報受信ステップと、
前記ＩＣカードとの間で送受信する前記データブロックを格納する送受信用バッファメモリ及び前記ＩＣカードが送受信可能なデータブロックの最大サイズに応じて、前記データブロックの最大サイズを決定する最大サイズ決定ステップと、
前記ＩＣカードに前記データブロックの最大サイズ以下のデータ長の前記データブロックの送信を指示するデータブロック送信指令ステップと、
を更に有することを特徴とする請求項１３に記載のデータ転送方法。
【請求項１５】
前記ＩＣカードから前記データパケットを分割した複数のデータブロックを受信する場合、抽出した前記管理情報に含まれるデータパケットのデータ長に関する情報に基づいて、全ての前記データブロックを受信したか否かを判定する判定ステップと、受信していない前記データブロックがある場合、前記ＩＣカードに前記データブロックの送信を指令する指令ステップを更に有することを特徴とする請求項１３に記載のデータ転送方法。
【請求項１６】
前記ＩＣカードから１つの前記データパケットを構成する複数のデータブロックを受信する場合、前記データブロックを正常に受信している時は個々の前記データブロックを正常に受信したことを前記ＩＣカードに通知せず、そのデータパケットを構成する全ての前記データブロックを正常に受信した時点で、そのデータパケット全体を正常に受信したことを前記ＩＣカードに通知する通知ステップを更に有することを特徴とする請求項１３に記載のデータ転送方法。
【請求項１７】
前記ＩＣカードが送信したデータブロックからエラーを検出した場合、そのデータブロックと同一のデータパケットに属する残りのデータブロックの伝送を中止して、前記ＩＣカードにそのデータパケットの再送信指令を送る再送信指令ステップを更に有することを特徴とする請求項１３に記載のデータ転送方法。
【請求項１８】
ＩＣカードにデータパケットを送信するデータ転送方法であって、
前記データパケットのデータ長に関する情報を含む管理情報を付加して前記データパケットを生成し、前記データパケットを分割して所定のサイズ以下のデータ長の前記データブロックを生成する生成ステップと、
前記ＩＣカードから前記ＩＣカードが前記データブロックを受信可能であるという機能有効通知を受信する機能有効通知受信ステップと、
前記機能有効通知受信ステップの後前記データパケットを前記ＩＣカードに送信する時、最初に、前記管理情報を含む前記データブロックを送信する第１の送信ステップと、
前記第１の送信ステップに引き続き前記管理情報を含まない前記データブロックを送信する第２の送信ステップと、
を有することを特徴とするデータ転送方法。
【請求項１９】
データ転送装置にデータパケットを送信する、コンピュータを内蔵するＩＣカードに、
データパケットのデータ長に関する情報を含む管理情報を付加してデータパケットを生成し、前記データパケットを分割してデータ転送装置から指示されたサイズのデータ長のデータブロックを生成する生成ステップと、
前記データ転送装置に割込信号を送信し、その後前記管理情報を含む前記データブロックを送信する第１の送信ステップと、
前記割込信号を送信することなく、前記管理情報を含まないデータブロックを送信する第２の送信ステップと、
を実行させるためのデータ転送方法のプログラム。
【請求項２０】
ＩＣカードからデータパケットを受信する、コンピュータを内蔵するデータ転送装置に、
前記ＩＣカードから割込信号を受信する割込信号受信ステップと、
前記割込信号受信ステップの後、１つの前記データパケットを構成する複数のデータブロックを順次受信する受信ステップと、
複数の前記データブロックの中で、前記割込信号受信ステップの後最初に受信した前記データブロックの所定の部分から前記データパケットのデータ長に関する情報を含む管理情報を抽出し、それ以外のタイミングで受信した前記データブロックの全体を前記管理情報を含まないデータとして取り扱うデータ処理ステップと、
を実行させるためのデータ転送方法のプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカード、データ転送装置、データ転送方法及びデータ転送方法のプログラムに関する。
【背景技術】
【０００２】
近年、不揮発性メモリと他の機能とを搭載したＩＣカードが開発され、市場に普及してきた。例えば、フラッシュメモリとテレビ放送受信機能とを搭載したＩＣカードをＰＤＡ（Personal Digital Assistants）に装着し、ＩＣカードが受信した映像データ及び音声データをＰＤＡに転送し、ＰＤＡのディスプレイ及びスピーカから出力する技術も実現されつつある。
【０００３】
一般に、機器（本明細書において「データ転送装置」と呼ぶ。）本体とＩＣカードとの間のデータ転送は、データ転送装置をマスターとするマスター／スレーブ方式の通信で行われる。従来、データ転送装置は、ＩＣカードからデータを読み出すときに、転送の単位となるデータ毎に、送信要求及び受信確認を行った。
【０００４】
特開平１０−２７２３１号公報に記載の従来例のＩＣカードは、端末（データ転送装置）の受信バッファの大きさに応じてデータを複数のブロックに分割する。そして、そのブロックをＩＣカードの送信バッファのサイズのデータに更に分割し、そのデータを順次端末に送信する。端末は１つのブロックを構成するデータを全て受信する毎に、ＩＣカードに「継続データ要求ブロック」送信する。従来例のＩＣカードは、端末の受信バッファのサイズよりも小さなサイズの送信バッファを有する場合、端末への高速なデータ転送が可能である。
【０００５】
【特許文献１】特開平１０−２７２３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
送受信用のバッファメモリの記憶容量が小さく、処理能力が低い機器にまでＩＣカードの用途が広がるにつれ、より効率的で高速なデータ転送方法を使用する必要性が高まってきた。
【０００７】
特開平１０−２７２３１号公報に開示された従来例のＩＣカードは、その送信バッファのサイズが、データ転送装置の受信バッファのサイズよりも大きい場合に通信速度が非常に遅かった。そのような場合、従来例のＩＣカードは、データパケットを端末の受信バッファのサイズ以下の複数のブロックに分割し、送信する。端末はブロックを１つ受信する度に、ＩＣカードに「継続データ要求ブロック」を送信する。ブロックを転送する度に端末とＩＣカードとの間で転送が正常に行われたかどうかを確認する必要があるため、通信速度が遅かった。このようなデータ転送方法は、デジタルカメラなどの処理能力が低いＡＶ機器に対して、負担が大きかった。
【０００８】
本発明は上記従来の問題点を解決するもので、データ転送装置の処理能力が低い場合でも、ＩＣカードとデータ転送装置との間で高速のデータ転送が可能なＩＣカード、データ転送装置、データ転送方法及びデータ転送方法のプログラムを提供することを目的とする。
【０００９】
更に、データ転送装置の送受信用バッファメモリの記憶容量に応じたデータ転送が可能な、ＩＣカード、データ転送装置、データ転送方法及びデータ転送方法のプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明は以下の構成を有する。本発明の１つの観点によるＩＣカードは、データパケットのデータ長に関する情報を含む管理情報を付加してデータパケットを生成し、前記データパケットを分割してデータ転送装置から指示されたサイズのデータ長のデータブロックを生成する制御部と、１つの前記データパケットを構成する複数の前記データブロックを前記データ転送装置に送信する時、前記管理情報を含む前記データブロックを送信する時には前記データ転送装置に割込信号を送信し、前記管理情報を含まないデータブロックを送信する時には前記データ転送装置に前記割込信号を送信しない通信部と、を有する。
【００１１】
例えば無線通信機能を有するＩＣカードが外部からデータを受信した場合、ＩＣカードは受信したデータを直ちにデータ転送装置に送信しなければならない。ＩＣカードがデータ転送装置に割込信号を送信することにより、データ転送装置は、それに応じて素早くＩＣカードからデータを受信し、そのデータを処理することが出来る。しかし、割込処理は、典型的にはデータ転送装置が現在実行している処理を中断して実行しなければならない故、データ転送装置にとって大きな負担となる。
【００１２】
本発明によれば、データ転送装置は、割込信号によってＩＣカードがデータ転送を要求していることを知り、素早くデータ転送を開始できる。データ転送装置は、最初に受信したデータブロックからデータパケットのデータ長に関する情報を抽出することにより、そのデータパケットがどれだけの情報量（データ長）を有しているか判断できる。データ転送装置は、データパケットのデータ長及び既に受信した１個目のデータブロックのデータ長から、未受信のデータブロックの有無を判断できる。その判断に基づき、データ転送装置は、その後割込信号を受信しなくても必要なデータ転送を実行できる。データ転送装置は、２番目から最後までのデータブロックの転送においては、ＩＣカードが割込信号を送信しない方が、データ転送装置がデータを処理する負担は小さくなる。
【００１３】
本発明は、データ転送装置に大きな情報処理を負担させることなく、データ転送装置との間で（情報処理能力が低いデータ転送装置との間でも）、高速のデータ転送が可能なＩＣカードを実現出来るという作用を有する。
【００１４】
本発明の別の観点による上記のＩＣカードは、１つの前記データパケットを構成する複数の前記データブロックを前記データ転送装置に送信する時、前記制御部は、前記管理情報を先頭のデータブロックに含める。
【００１５】
本発明は、データ転送装置に大きな情報処理を負担させることなく、データ転送装置との間でデータ転送が可能なＩＣカードを実現出来るという作用を有する。
【００１６】
本発明の別の観点による上記のＩＣカードは、複数の前記データブロックに分割した前記データパケットを前記データ転送装置に送信する時、前記データ転送装置から前記データパケットを構成する全ての前記データブロックを正しく受信したという情報を受信した後又は前記データ転送装置から前記データパケットの送信以外の指令を受信した後、送信した前記データパケットを廃棄する。複数のデータブロックをデータ転送装置に送信している途中でデータ転送に失敗した場合、本発明のＩＣカードは、データパケットを再送信できる。
【００１７】
本発明の別の観点によるデータ転送装置は、ＩＣカードとの間でデータブロックを送受信する通信部と、前記ＩＣカードからデータパケットを分割した複数の前記データブロックを受信する場合、前記通信部が割込信号を受信した後最初に受信する前記データブロックの所定の部分から前記データパケットのデータ長に関する情報を含む管理情報を抽出し、それ以外のタイミングで前記データブロックを受信した場合は、前記データブロックの全体を前記管理情報を含まないデータとして取り扱う制御部と、を有する。
【００１８】
本発明は、本発明のＩＣカードとの間で、高速のデータ転送が可能な、大きな処理能力を必要としないデータ転送装置を実現出来るという作用を有する。
【００１９】
本発明の別の観点による上記のデータ転送装置は、前記ＩＣカードとの間で送受信する前記データブロックを格納する送受信用バッファメモリを更に有し、前記通信部は、前記ＩＣカードとの間で前記データブロックを送受信する前に前記ＩＣカードが送受信可能なデータブロックの最大サイズの情報を受信し、前記制御部は、前記送受信用バッファメモリ及び前記ＩＣカードが送受信可能なデータブロックの最大サイズに応じて、前記データブロックの最大サイズを決定し、前記ＩＣカードから前記データパケットを分割した複数の前記データブロックを受信する場合、前記通信部を介して前記ＩＣカードに前記データブロックの最大サイズ以下のデータ長の前記データブロックの送信を指示する。
【００２０】
「送受信可能なデータブロックの最大サイズの情報」は、典型的には送受信用バッファメモリの記憶容量である。一般に、ＩＣカード及びデータ転送装置は、データブロックを送受信用バッファメモリに格納してデータ転送を行う。送受信用バッファメモリの大きさはＩＣカード、データ転送装置により異なる。例えば携帯電話の送受信用バッファメモリは小さく、パーソナルコンピュータの送受信用バッファメモリはそれに比べて大きい。データブロックの最大サイズが大きい程、データ転送効率が高い。しかし、データブロックの最大サイズがデータ転送装置又はＩＣカードの送受信用バッファメモリの大きさを超えると、データ転送装置及びＩＣカードにとって、データ転送が極めて大きな負担となる。本発明のデータ転送装置は、ＩＣカード及びデータ転送装置に応じた（例えばそれらの送受信用バッファメモリの大きさに応じた）データブロックの最大サイズを予め定め、データ転送を行うデータ転送装置を実現できるという作用を有する。
【００２１】
特に、送受信用バッファメモリの記憶容量が小さく、且つ機種によってその容量が異なるＩＣカード又はデータ転送装置（例えば携帯電話等の携帯用機器）において、本発明は有用である。
【００２２】
本発明は、本発明のＩＣカードとの間で、高速のデータ転送が可能な、大きな処理能力を必要としないデータ転送装置を実現出来るという作用を有する。
【００２３】
本発明の別の観点による上記のデータ転送装置は、前記ＩＣカードから前記データパケットを分割した複数のデータブロックを受信する場合、前記制御部は、抽出した前記管理情報に含まれる前記データパケットのデータ長に関する情報に基づいて、全ての前記データブロックを受信したか否かを判定し、受信していない前記データブロックがある場合、前記ＩＣカードに前記データブロックの送信を指令する。
【００２４】
本発明の別の観点による上記のデータ転送装置は、前記通信部が前記ＩＣカードから１つの前記データパケットを構成する複数のデータブロックを受信する場合、前記データブロックを正常に受信している時は個々の前記データブロックを正常に受信したことを前記ＩＣカードに通知せず、そのデータパケットを構成する全ての前記データブロックを正常に受信した時点で、前記制御部がそのデータパケット全体を正常に受信したことを前記ＩＣカードに通知する。
【００２５】
本発明は、個々の前記データブロックの転送におけるハンドシェイクを省略することにより、データ転送装置に大きな情報処理を負担させることなく、ＩＣカードとの間で高速のデータ転送が可能なデータ転送装置を実現出来るという作用を有する。
【００２６】
本発明の別の観点による上記のデータ転送装置は、前記ＩＣカードが送信したデータブロックから前記通信部がエラーを検出した場合、前記制御部がそのデータブロックと同一のデータパケットに属する残りのデータブロックの伝送を中止して、前記ＩＣカードにそのデータパケットの再送信指令を送る。
【００２７】
本発明は、データ転送装置に大きな情報処理を負担させることなく、効率的にＩＣカードとの間でデータ転送を行うデータ転送装置を実現出来るという作用を有する。
【００２８】
本発明の別の観点によるデータ転送装置は、データパケットのデータ長に関する情報を含む管理情報を付加してデータパケットを生成し、前記データパケットを分割して所定のサイズ以下のデータ長のデータブロックを生成する制御部と、前記ＩＣカードから前記ＩＣカードが前記データブロックを受信可能であるという機能有効通知を受信した後前記データパケットを前記ＩＣカードに送信する時、最初に、前記管理情報を含む前記データブロックを送信し、引き続き前記管理情報を含まないデータブロックを送信する通信部と、を有する。
【００２９】
本発明は、データ転送装置に大きな情報処理を負担させることなく、効率的にＩＣカードとの間でデータ転送を行うデータ転送装置を実現出来るという作用を有する。
【００３０】
本発明の別の観点によるデータ転送方法及びデータ転送方法のプログラムは、上記のＩＣカード及びデータ転送装置と同様の技術的思想によるものである。
【００３１】
本発明は、データ転送装置の処理能力が低い場合でも、ＩＣカードとデータ転送装置との間で高速のデータ転送が可能な、データ転送方法及びデータ転送方法のプログラムを実現出来るという作用を有する。
【発明の効果】
【００３２】
本発明は、ＩＣカード及びデータ転送装置の送受信用バッファメモリの記憶容量に応じたデータ転送が可能なデータ転送方法及びデータ転送方法のプログラムを実現出来るという作用を有する。
【００３３】
発明の新規な特徴は添付の請求の範囲に特に記載したものに他ならないが、構成及び内容の双方に関して本発明は、他の目的や特徴と共に、図面と共同して理解されるところの以下の詳細な説明から、より良く理解され評価されるであろう。
【発明を実施するための最良の形態】
【００３４】
以下本発明の実施をするための最良の形態を具体的に示した実施の形態について、図面とともに記載する。
【００３５】
図１〜図７を用いて、実施の形態のＩＣカード、データ転送装置、データ転送方法及びデータ転送方法のプログラムを説明する。
【００３６】
図１は本発明の実施の形態のデータ転送装置及びＩＣカードの構成を示す。図１において、１０１はデータ転送装置、１０２はＩＣカードである。
【００３７】
データ転送装置１０１は、ＩＣカード１０２を挿入するためのカードスロット（図示しない）を有する任意の機器である。実施の形態のデータ転送装置１０１は、携帯電話である。ＩＣカード１０２は、任意の汎用のＩＣカードであって良い。実施の形態のＩＣカード１０２は、ＳＤカードである。ＩＣカード１０２はデータ転送装置１０１のカードスロットに挿入される。
【００３８】
データ転送装置１０１は、制御部１１１、通信部１１２及び送受信用バッファメモリ１１３を有する。制御部１１１は、ブロック分割／合成部１３１、割込信号検出部１３２、管理情報処理部１３３及びバッファメモリ１３４を有する。実施の形態において、制御部１１１はマイクロコンピュータであって、ブロック分割／合成部１３１及び管理情報処理部１３３の機能はソフトウエアによって実行される。
【００３９】
ＩＣカード１０２は、制御部１２１、通信部１２２、送受信用バッファメモリ１２３及び外部通信モジュール１２４を有する。制御部１２１は、ブロック分割／合成部１４１、割込信号生成部１４２、管理情報処理部１４３及びバッファメモリ１４４を有する。実施の形態において、制御部１２１はマイクロコンピュータであって、ブロック分割／合成部１４１、管理情報処理部１４３の機能及び割込信号生成部１４２の起動処理はソフトウエアによって実行される。外部通信モジュール１２４は、外部のアンテナ１０６と電気的に接続され、外部装置（図示しない。）との間で無線通信を実行する。
【００４０】
データ転送装置１０１の通信部１１２とＩＣカード１０２の通信部１２２は、コマンド／レスポンス線１０３、データ線１０４及びクロック線１０５を介してシンクロナス方式の通信を行う。通信は、データ転送装置１０１をマスター、ＩＣカード１０２をスレーブとするマスター／スレーブ方式の通信である。
【００４１】
ＩＣカード１０２の外部通信モジュール１２４は、アンテナ１０６を介して無線通信によってデータパケット（実施の形態においては、Bluetooth規格のデータパケット）を受信し、バッファメモリ１４４に転送する。ＩＣカード１０２は、バッファメモリ１４４内のデータパケットから、データ転送装置１０１へ送信するためのデータパケット（実施の形態においては、SD I/O Bluetooth規格のデータパケット）を生成し、複数のデータブロックに分割し、データ転送装置１０１に送信する。送受信用バッファメモリ１２３には、データ転送装置１０１との間で送受信するデータブロックが順次格納される。ＩＣカード１０２は、複数の機能ブロック（例えば不揮発性メモリ、映像信号及び／又は音声信号を受信するチューナ部）を有していても良い。
【００４２】
データ転送装置１０１は、バッファメモリ１３４に記憶したデータパケット（実施の形態においては、Bluetooth規格のデータパケット）から、ＩＣカード１０２へ送信するためのデータパケット（実施の形態においては、SD I/O Bluetooth規格のデータパケット）を生成し、複数のデータブロックに分割し、ＩＣカード１０２に送信する。送受信用バッファメモリ１１３には、ＩＣカード１０２との間で送受信するデータブロックが順次格納される。
【００４３】
《データパケット及びデータブロックの構成》
図２を用いて、データ転送装置１０１とＩＣカード１０２との間で送受信するデータパケット及びデータブロックの構成を説明する。
【００４４】
図２は、本発明の実施の形態のデータパケットの構成を示す。データ転送装置１０１とＩＣカード１０２との間で送受信するデータパケット２０１（SD I/O Bluetooth規格）のデータ長をＬバイトとする。Ｌの値はデータの内容に応じて異なる。データパケット２０１の先頭には４バイトの管理情報２１１が配置されている。管理情報２１１はデータパケット長に関する情報２１２（３バイト）とサービスＩＤ（Identification）２１３（１バイト）を含む。サービスＩＤ２１３は、データの種類に関する情報を含むことができる。データパケット２０１の中で、管理情報２１１を除く部分は、全て通常のデータである。なお、「データ長」はデータパケットの情報量を表す任意の値（実施の形態では、バイト数）である。
【００４５】
データ転送装置１０１とＩＣカードとの間では、データパケット２０１を分割した、データブロック２０２〜２０４が送受信される。データ転送装置１０１は、ＩＣカード１０２の初期化を行う時、ＩＣカード１０２の接続時又は起動時に、ＩＣカード１０２との間で送受信するデータブロック２０２〜２０４の最大データサイズ（Ｎバイト）を以下に述べる方法によって定める。
【００４６】
図３は、データ転送装置１０１とＩＣカード１０２との間で送受信するデータブロックの最大サイズを決定する方法を示すフローチャートである。ステップ３０１でデータ転送装置１０１はＩＣカード１０２に、ＩＣカード１０２の送受信用バッファメモリ１２３の記憶容量を問い合わせる送信指令を送信する。ステップ３１１でＩＣカード１０２は、ＩＣカード１０２の送受信用バッファメモリ１２３の記憶容量を問い合わせる送信指令を受信する。ステップ３１２でＩＣカード１０２はデータ転送装置１０１に、送受信用バッファメモリ１２３の記憶容量を送信する。ステップ３０２でデータ転送装置１０１は、ＩＣカード１０２の送受信用バッファメモリ１２３の記憶容量を受信する。ステップ３０３でデータ転送装置１０１は、ＩＣカード１０２の送受信用バッファメモリ１２３の記憶容量とデータ転送装置１０１の送受信用バッファメモリ１１３の記憶容量とを超えない値を、データブロックの最大サイズ（Ｎバイト）として定める。
【００４７】
データパケット２０１のデータ長がＬバイト、データブロックの最大サイズがＮバイトの場合（図２）、典型的にはデータパケット２０１は、データ長Ｎバイトのデータブロック２０２〜２０４に分割される。最後のデータブロック２０４のデータ長はＬバイトをＮバイトで割った剰余（０≦（Ｌ  ｍｏｄ  Ｎ）＜Ｎ）である（（Ｌ  ｍｏｄ  Ｎ）＝０の場合は、最後のデータブロック２０４のデータ長はＮバイトになる。）。データパケット２０１の分割／合成は、データ転送装置１０１のブロック分割／合成部１３１又はＩＣカード１０２のブロック分割／合成部１４１が行う。
【００４８】
管理情報２１１は先頭のデータブロック２０２の所定の位置（実施の形態においては先頭）に配置されている。先頭のデータブロック２０２を受信したデータ転送装置１０１又はＩＣカード１０２は、管理情報処理部１３３又は管理情報処理部１４３において、管理情報２１１からデータパケット２０１全体のデータ長を抽出する。データ転送装置１０１又はＩＣカード１０２は、順次データブロックを受信するとともに、データパケット２０１全体のデータ長及び既に受信したデータブロックの総データ長から、未受信のデータの有無を判定できる。
【００４９】
ＩＣカード１０２は、最大サイズ以下のデータ長を有するデータブロック２０２〜２０４をその送受信用バッファメモリ１２３に格納できる。データブロック２０２〜２０４のデータ長（Ｎバイト）がデータ転送装置１０１の送受信用バッファメモリ１１３の記憶容量に対応しているため、送受信用バッファメモリ１１３の記憶容量が小さなデータ転送装置においてもＩＣカード１０２との間でデータ転送が必ず可能である。送受信用バッファメモリ１１３の記憶容量が大きなデータ転送装置においては、大きなデータブロックを転送することにより、実効的に高いデータ伝送レートを実現できる。
【００５０】
なお、図２において最後のデータブロック２０４以外のデータ長は、全て最大サイズ（Ｎバイト）であったが、それぞれのデータブロックのデータ長が最大サイズ以下のデータ長であれば良い。
【００５１】
なお、実施の形態（図３）において、データ転送装置１０１の送受信用バッファメモリ１１３及びＩＣカード１０２の送受信用バッファメモリ１２３の記憶容量に応じて、データブロックの最大サイズ（Ｎバイト）を定めたが、データブロックの最大サイズは、データ転送装置１０１及びＩＣカード１０２が送受信可能なデータブロックの最大サイズに応じて定めれば良い。この場合、図３の全てのステップにおいて、「送受信用バッファメモリの記憶容量」を「送受信可能なデータブロックの最大サイズ」に置き換えればよい。
【００５２】
《ＩＣカードからデータ転送装置へのデータ転送処理》
次に、図４及び図５を用いて、ＩＣカード１０２からデータ転送装置１０１へのデータ転送処理の方法を説明する。
【００５３】
図４は、ＩＣカード１０２からデータ転送装置１０１へのデータ転送処理の概略を示す図である。データ転送装置１０１とＩＣカード１０２との間では、データ転送装置１０１からのコマンド及びＩＣカード１０２からのレスポンスを、コマンド／レスポンス線１０３を介して送受信する。ＩＣカード１０２が出力したデータブロック及び割込信号は、データ線１０４を介してデータ転送装置１０１に転送される。
【００５４】
今、ＩＣカード１０２は、有効に機能しているものとする（データブロックを送受信できる状態にある）。ＩＣカード１０２の外部通信モジュール１２４は、アンテナ１０６を介して無線通信によってデータパケット（実施の形態においては、Bluetooth規格のデータパケット）を受信し、バッファメモリ１４４に転送する。更にＩＣカード１０２の制御部１２１で、バッファメモリ１４４内のデータパケットから、データ転送装置１０１へ送信するためのデータパケット４５１（SD I/O Bluetooth規格のデータパケット。図２のデータパケット２０１に対応する。）を１つ生成する。制御部１２１は、バッファメモリ１４４内のデータ量が所定量に達したか否かを判断している。
【００５５】
バッファメモリ１４４内のデータ量が所定量に達したとき、ＩＣカード１０２の割込信号生成部１４２が割込信号４０１を、データ線１０４を介してデータ転送装置１０１に送る。データ転送装置１０１の割込信号検出部１３２は割込信号４０１を検出する。データ転送装置１０１は、ＩＣカード１０２がデータ伝送を要求していることを知る。データ転送装置１０１は、割込クリアコマンド４０２をＩＣカード１０２に送信する。ＩＣカード１０２は、割込クリアコマンド４０２を受信後、割込信号４０１を終了し、レスポンス４０３を返す。
【００５６】
次に、データ転送装置１０１はＩＣカード１０２へ、データブロックの転送を開始するためのコマンド４０４を送信し、ＩＣカード１０２からのレスポンス４０５を受信する。コマンド４０４は、１つ目のデータブロック４５２のデータ長（情報量）の情報を含む。１つ目のデータブロック４５２のデータ長は、データ転送装置１０１がＩＣカードの初期化を行う時、ＩＣカードの接続時又は起動時に予め定めた、データブロックの最大サイズ（例えば、図２ではＮバイト）以下のデータ長である。
【００５７】
ＩＣカード１０２のブロック分割／合成部１４１は、データパケット４５１を分割し、コマンド４０４によって指定されたデータ長のデータブロック４５２を生成し、送受信用バッファメモリ１２３に格納する。その後、ＩＣカード１０２は１つ目のデータブロック４５２をデータ線１０４を介して送信する。
【００５８】
データ転送装置１０１はデータブロック４５２を正常に受信した後、次のデータブロック４５３の転送を開始するためのコマンド４０６を送信し、ＩＣカード１０２からのレスポンス４０７を受信する。コマンド４０６は、２つ目のデータブロック４５３のデータ長（情報量）の情報を含む。２つ目のデータブロック４５３のデータ長は、データブロックの最大サイズ（例えば、図２ではＮバイト）以下のデータ長である。
【００５９】
ＩＣカード１０２のブロック分割／合成部１４１は、データパケット４５１を分割し、コマンド４０６によって指定されたデータ長のデータブロック４５３を生成し、送受信用バッファメモリ１２３に格納する。その後、ＩＣカード１０２は２つ目のデータブロック４５３をデータ線１０４を介して送信する。
【００６０】
以降のデータブロックについて同様の手順を繰り返す。先頭のデータブロック４５２を受信したデータ転送装置１０１は、管理情報処理部１３３において、データブロック４５２に含まれる管理情報からデータパケット４５１全体のデータ長を抽出する。データ転送装置１０１は、順次データブロック４５３、４５４を受信するとともに、データパケット４５１全体のデータ長及び既に受信したデータブロックの総データ長から未受信のデータブロックの有無を判定し、データ転送が終了したか否か（次のデータブロックの転送を開始するためのコマンドを送信するか否か）判断する。
【００６１】
データパケット４５１を構成する全てのデータブロック４５２〜４５４の転送が正常に終了した場合、データ転送装置１０１はｓｅｎｄ  Ａｃｋコマンド４１０を送信し、データ転送が正常に終了したことを通知する。このコマンドに対し、ＩＣカード１０２はレスポンス４１１を返す。以上の手順により、１つ目のデータパケット４５１の転送が終了する。ＩＣカード１０２が次にデータパケットを送信する場合、再び割込信号４１２を送り、前のデータパケット４５１の転送手順と同様の手順を繰り返す。
【００６２】
以上の説明のように、データ転送装置１０１がＩＣカード１０２からデータパケットを構成する複数のデータブロックを受信する場合、データブロックを正常に受信している時は、個々のデータブロックを正常に受信したことをＩＣカード１０２に通知しない。データパケットを構成する全てのデータブロックを正常に受信した時点で、データパケット全体を正常に受信したこと（ｓｅｎｄ  Ａｃｋコマンド４１０）をＩＣカード１０２に通知する。
【００６３】
ＩＣカード１０２は、管理情報を含むデータブロック、つまりデータパケット中の１つ目のデータブロックを送信する時のみ、割込信号４０１を送信し、それ以外のデータブロックを送信する時は割込信号４０１を送信しない。従って、データ転送装置１０１の処理能力が低い場合でも、ＩＣカード１０２からデータ転送装置１０１へ、データパケットを速やかに伝送できる。
【００６４】
図５は、ＩＣカード１０２からデータ転送装置１０１へデータ転送し、データ転送装置１０１がＩＣカード１０２からデータを読み出す時のデータ転送のフローチャートである。
【００６５】
ＩＣカード１０２は、ステップ５２１でデータパケットを生成する。即ち、ＩＣカード１０２の制御部１２１は、外部通信機能モジュール１２４からバッファメモリ１４４に転送されたBluetooth規格のデータパケットを、データ転送装置１０１へ転送するためのSD I/O Bluetooth規格のデータパケット（図４のデータパケット４５１）に変換する。変換されたデータパケットのデータ長をＬバイトとする。ステップ５２２で割込信号生成部１４２は、割込信号（図４の割込信号４０１）をデータ転送装置１０１に送信する。
【００６６】
データ転送装置１０１の割込信号検出部１３２は、ステップ５０１で割込信号を受信する。ステップ５０２でデータ転送装置１０１は、データブロックの送信をＩＣカード１０２に指令する。この指令には、ＩＣカードから受信するデータブロックのデータ長ｎを含む。データブロックのデータ長ｎは、予めデータ転送装置１０１が定めた、データブロックの最大サイズ（例えば、図２ではＮバイト）以下のデータ長である。ＩＣカード１０２はデータブロックの送信指令を受信し（ステップ５２３）、レスポンスを送信する（ステップ５２４）。データ転送装置１０１はレスポンスを受信する（ステップ５０３）。
【００６７】
ステップ５２４に引き続きステップ５２５で、ＩＣカード１０２のブロック分割／合成部１４１は、データパケットを分割し、データ長ｎのデータブロックを生成する。ステップ５２６でＩＣカード１０２はデータブロックを一旦送受信用バッファメモリ１２３に格納し、データ転送装置１０１に送信する。
【００６８】
ステップ５０３に引き続きステップ５０４でデータ転送装置１０１は、データブロックを受信し、送受信用バッファメモリ１１３に一旦格納し、バッファメモリ１３４に転送する。ステップ５０５でデータブロックを正常に受信できたか否か判断する。正常に受信できなかった場合はステップ５１１で、ＩＣカード１０２にデータパケットの再送信を指令し、ステップ５０２に戻りデータブロックの送信を指令する。ＩＣカード１０２はデータパケットの再送信指令を受信（ステップ５２９）後、残りのデータブロックの転送を中止しステップ５２３に戻る。ＩＣカード１０２は、データブロックの送信指令を受信すると、１つ目のデータブロックから再送信する。
【００６９】
ステップ５０５で正常にデータブロックを受信できたと判定された場合、ステップ５０６に進む。ステップ５０６でデータ転送装置１０１は、受信したデータブロックが１つ目か否かを判断する。データ転送装置１０１は、割込信号を受信（ステップ５０１）後又はデータパケットの再送信指令を送信（ステップ５１１）後、初めて受信したデータブロックはデータパケットを構成するデータブロックのうち先頭のデータブロックであると判断する。受信したデータブロックが２つ目以降の場合、ステップ５０８に進む。受信したデータブロックが１つ目のデータブロックの場合、管理情報処理部１３３はステップ５０７で、そのデータブロックの先頭に配置されている管理情報から、データパケットのデータ長（Ｌバイト）を抽出する。更に、未受信のデータ量ＬｕにＬを代入し、ステップ５０８に進む。ステップ５０８でデータ転送装置１０２は、未受信のデータ量Ｌｕを算出する（Ｌｕ＝Ｌｕ−ｎ）。ステップ５０９でデータ転送装置１０１は、未受信のデータ量Ｌｕが０より大きいか否か判断する。Ｌｕが０より大きい場合ステップ５０２に戻り、次のデータブロックの送信指令を送信する。つまり、データブロックの受信処理を繰り返す。
【００７０】
ステップ５０９で未受信のデータ量Ｌｕが０の場合、つまり全てのデータブロックを正常に受信し終わった場合、ステップ５１０に進む。ステップ５１０でデータ転送装置１０１は、ＩＣカード１０２に、データパケットを正常に受信したという情報（図４のｓｅｎｄ  Ａｃｋコマンド４１０）を送信し、データ転送装置１０１のフローチャートを終了する。ブロック分割／合成部１３１は、バッファメモリ１３４に全てのデータブロックが転送された後で、データパケット（SD I/O Bluetooth規格）を合成する。
【００７１】
ＩＣカード１０２は、全てのデータブロックを送信し終わった場合、ステップ５２７でデータ転送装置１０１から、データパケットを正常に受信したという情報（図４のｓｅｎｄ  Ａｃｋコマンド４１０）を受信する。ステップ５２８においてバッファメモリ１４４内のデータパケット（ステップ５２１で生成したデータパケット）を廃棄し、ＩＣカード１０２のフローチャートを終了する。なお、データ転送装置１０１から、データパケット送信指令以外の指令を受信した時にも、バッファメモリ１４４内のデータパケットを廃棄し、ＩＣカード１０２のフローチャートを終了する。
【００７２】
ＩＣカード１０２は、データパケットを構成する全てのデータブロックの転送が正常に送信できるまで、そのデータブロックをバッファメモリ１４４から廃棄しない。従って、速やかにデータブロックを再送信できる。
【００７３】
なお、図５のフローチャートに代え、ステップ５１０、５２７、５２８を除いたフローチャートとしても良い。即ち、データ転送装置１０１がデータパケットを正常に受信したという情報をＩＣカードに送信しなくても良い。また、ＩＣカード１０２はデータ転送装置１０１に送信済みのデータパケットを廃棄しないでバッファメモリ１４４に格納又は次のデータパケットで上書き処理しても良い。
【００７４】
《データ転送装置からＩＣカードへのデータ転送処理》
次に、図６及び図７を用いて、データ転送装置１０１からＩＣカード１０２へのデータ転送処理の方法を説明する。
【００７５】
図６はデータ転送装置からＩＣカードへのデータ転送処理の概略を示す図である。
ＩＣカード１０２は、起動時には機能していない。まず始めにデータ転送装置１０１が、ＩＣカード１０２を有効に機能動作させるためのコマンド６０１を送信する。ＩＣカード１０２は機能動作を開始した（有効になった）後、レスポンス６０２を返すと同時に機能有効通知６０３をデータ線１０４を介して行う。以後、データ転送装置１０１からのリセットコマンドを入力しない限り、ＩＣカード１０２は有効に機能する。
【００７６】
次にデータ転送装置１０１は、バッファメモリ１３４内のデータパケット（Bluetooth規格）から、ＩＣカード１０２へ転送するための１つのデータパケット６５１（SD I/O Bluetooth規格。図２のデータパケット２０１に対応する。）を生成する。ブロック分割／合成部１３１は、そのデータパケット６５１から、１つ目のデータブロック６５２を生成する。データ転送装置１０１はＩＣカード１０２へ、データブロックの転送を開始するためのコマンド６０４（１つ目のデータブロック６５２のデータ長の情報を含む。）を送信し、ＩＣカード１０２からのレスポンス６０５を受信する。その後、データ転送装置１０１は１つ目のデータブロック６５２を一旦送受信用バッファメモリ１１３に格納し、送信する。
【００７７】
ＩＣカード１０２は、エラー有無通知６０６をデータ線１０４を介して行う。エラー有無通知６０６には、前のデータブロック６５２が正常に転送されたか否かと言う情報が含まれる。
【００７８】
ＩＣカード１０２は、受信したデータブロック６５２の処理中は次のデータブロックを受信できないため、データ線１０４を介してエラー有無通知６０６に引き続きビジー通知６０７を行う。
【００７９】
ビジー通知６０７終了後、データ転送装置１０１はＩＣカード１０２へ、次のデータブロック６５３を送信するためのコマンド６０８（次のデータブロック６５３のデータ長の情報を含む。）を送信し、ＩＣカード１０２からのレスポンス６０９を受信する。その後、データ転送装置１０１は次のデータブロック６５３を一旦送受信用バッファメモリ１１３に格納し、送信する。以降のデータブロックについて同様の手順を繰り返す。
【００８０】
このようにして、データパケット６５１を構成する全てのデータブロック６５２〜６５４を送信する。データ転送装置１０１が次にデータパケットを送信する場合、再び、データブロックの転送を開始するためのコマンド６１６を送信し、前のデータパケット６５１の転送手順と同様の転送手順を繰り返す。
【００８１】
先頭のデータブロック６５２を受信したＩＣカード１０２は、管理情報処理部１４３において、データブロック６５２に含まれる管理情報からデータパケット６５１全体のデータ長を抽出する。ＩＣカード１０２は、順次データブロック６５３、６５４を受信するとともに、データパケット６５１全体のデータ長及び既に受信したデータブロックの総データ長から未受信のデータブロックの有無を判定し、データ転送が終了したか否か判断する。
【００８２】
以上の説明のように、データ転送装置１０１は、前のデータブロックが正常に転送されたかどうかを確認するためのコマンドをＩＣカード１０２に送信しないので、速やかにデータパケットをＩＣカード１０２に転送できる。
【００８３】
なお、それぞれのデータブロック６５２〜６５４のデータ長は、予めデータ転送装置１０１が定めた、データブロックの最大サイズ（例えば、図２ではＮバイト）以下のデータ長である。
【００８４】
図７は、データ転送装置からＩＣカードへデータ転送し、データ転送装置がＩＣカードにデータを書き込む時のデータ転送のフローチャートである。
【００８５】
ステップ７０１でデータ転送装置１０１は、バッファメモリ１３４に格納されているデータパケット（Bluetooth規格）から、ＩＣカード１０２に送信するためのデータパケット（SD I/O Bluetooth規格である。例えば、図２のデータパケット２０１、図６のデータパケット６５１）を生成する。データパケットのデータ長をＬバイトとする。未受信のデータ量ＬｕにＬを代入する。ステップ７０２でデータ転送装置１０１は、データブロックの送信をＩＣカード１０２に通知する。この通知には、ＩＣカード１０２に送信するデータブロックのデータ長ｎを含む。データブロックのデータ長ｎは、予めデータ転送装置１０１が定めた、データブロックの最大サイズ（例えば、図２ではＮバイト）以下のデータ長である。ＩＣカード１０２は、データブロックの送信通知を受信し（ステップ７２１）、レスポンスを送信する（ステップ７２２）。データ転送装置１０１は、レスポンスを受信する（ステップ７０３）。ブロック分割／合成部１３１はステップ７０４において、データパケットを分割してデータ長ｎのデータブロックを生成する。
【００８６】
データ転送装置１０１は、ステップ７０４に引き続きステップ７０５で、データブロックを一旦送受信用バッファメモリ１１３に格納し、送信する。
【００８７】
ＩＣカード１０２は、ステップ７２２に引き続きステップ７２３でデータブロックを受信し、一旦送受信用バッファメモリ１２３に格納し、バッファメモリ１４４に転送する。ステップ７２４でデータブロックを正常に受信できたか否か判断する。正常に受信できなかった場合はステップ７３０に進み、データブロックを正常に受信しなかったことをデータ転送装置１０１に通知する。データブロックが正常に受信できた場合はステップ７２５に進み、正常にデータブロックを受信したことをデータ転送装置１０１に通知し、ステップ７２６に進む。具体的にはＩＣカード１０２は、データブロックの受信後のエラー有無通知（図６のエラー有無通知６０６、６１０、６１４）時に、データブロックを正常に受信したか否かと言う情報を含める。
【００８８】
ステップ７２６でＩＣカード１０２は、ステップ７２３で受信したデータブロックが１つ目か否か判断する。ＩＣカード１０２は、有効な動作を開始した後、又はデータパケットを構成する全てのデータブロックを正常に受信した後、又はデータパケットの再送信指令を送信（ステップ７３１）後、初めて受信したデータブロックはデータパケットを構成するデータブロックのうち先頭のデータブロックであると判断する。データブロックが２つ目以降のデータブロックである場合、ステップ７２８に進む。データブロックが１つ目である場合、管理情報処理部１４３は、そのデータブロックの先頭から管理情報を抽出し、データパケットのデータ長（Ｌバイト）の情報を得て、未受信のデータ量ＬｕにＬを代入し（ステップ７２７）、ステップ７２８に進む。ステップ７２８でＩＣカード１０２は、未受信のデータ量Ｌｕを算出する（Ｌｕ＝Ｌｕ−ｎ）。
【００８９】
ステップ７２９でＩＣカード１０２は、未受信のデータ量Ｌｕが０より大きいか否か判断する。Ｌｕが０より大きい場合ステップ７２１に戻り、次のデータブロックの送信通知を受信する。つまり、データブロックの受信処理を繰り返す。
【００９０】
ステップ７２９で未受信のデータ量Ｌｕが０の場合、つまり全てのデータブロックを正常に受信し終わった場合、ＩＣカード１０２のフローチャートを終了する。ブロック分割／合成部１４１は、バッファメモリ１４４に全てのデータブロックが転送された後で、データパケット（SD I/O Bluetooth規格）を合成する。
【００９１】
一方、データ転送装置１０１はステップ７０６で、データブロックをＩＣカード１０２が正常に受信したという通知を受信する。ステップ７０７でデータ転送装置１０１は、未送信のデータ量Ｌｕを算出する（Ｌｕ＝Ｌｕ−ｎ）。ステップ７０８でデータ転送装置１０１は、未送信のデータ量Ｌｕが０より大きいか否か判断する。Ｌｕが０より大きい場合ステップ７０２に戻り、次のデータブロックの送信を通知する。つまり、データブロックの送信処理を繰り返す。
【００９２】
ステップ７０８で未送信のデータ量Ｌｕが０の場合、つまり全てのデータブロックを正常に送信し終わった場合、ステップ７０９に進む。ステップ７１０でバッファメモリ１３４内のデータパケット（ステップ７０１で生成したデータパケット）を廃棄し、データ転送装置１０１のフローチャートを終了する。
【００９３】
途中のデータブロックの転送に失敗した場合、以下のように、残りのデータブロックの伝送を中止し、全てのデータブロックの再送信を行う。データ転送装置１０１はステップ７１０で、データブロックをＩＣカード１０２が正常に受信しなかったという通知を受信する。ステップ７１１でデータパケットの再送信を指令し、ステップ７０２に戻る。データ転送装置１０１は、１つ目のデータブロックから再送信をする。一方、ＩＣカード１０２はステップ７３１で、データパケットの再送信指令を受信し、ステップ７２１に戻る。ＩＣカード１０２は、１つ目のデータブロックから再受信する。
【００９４】
上記の方法を実行するプログラムを、例えばＰＣ、ＡＶ機器、携帯電話に内蔵されたマイクロコンピュータに読み込み実行させることにより、これらの装置を本発明のデータ転送装置として機能させることができる。上記の方法を実行するプログラムを、例えばＳＤカード、メモリースティック等のＩＣカードに内蔵されたマイクロコンピュータに読み込み実行させることにより、これらの装置を本発明のＩＣカードとして機能させることができる。
【００９５】
発明をある程度の詳細さをもって好適な形態について説明したが、この好適形態の現開示内容は構成の細部において変化してしかるべきものであり、各要素の組合せや順序の変化は請求された発明の範囲及び思想を逸脱することなく実現し得るものである。
【産業上の利用可能性】
【００９６】
本発明は、データ転送装置に装着され、データパケットをデータ転送装置との間で送受信するＩＣカード、そのＩＣカードのデータ転送方法及びデータ転送方法のプログラムとして有用である。
【００９７】
本発明は、ＩＣカードを装着し、データパケットをＩＣカードとの間で送受信するデータ転送装置、そのデータ転送装置のデータ転送方法及びデータ転送方法のプログラムとして有用である。
【図面の簡単な説明】
【００９８】
【図１】図１は本発明の実施の形態のデータ転送装置及びＩＣカードの構成図である。
【図２】図２は本発明の実施の形態のデータパケットの構成図である。
【図３】図３はデータ転送装置とＩＣカードとの間で送受信するデータブロックの最大サイズを決定する方法を示すフローチャートである。
【図４】図４はＩＣカードからデータ転送装置へのデータ転送処理の概略を示す図である。
【図５】図５はＩＣカードからデータ転送装置へデータ転送し、データ転送装置がＩＣカードからデータを読み出す時のデータ転送のフローチャートである。
【図６】図６はデータ転送装置からＩＣカードへのデータ転送処理の概略を示す図である。
【図７】図７はデータ転送装置からＩＣカードへデータ転送し、データ転送装置がＩＣカードにデータを書き込む時のデータ転送のフローチャートである。
【００９９】
図面の一部又は全部は、図示を目的とした概要的表現により描かれており、必ずしもそこに示された要素の実際の相対的大きさや位置を忠実に描写しているとは限らないことは考慮願いたい。
【国際調査報告】
2004036440.tif 000010
2004036440.tif 000011
2004036440.tif 000012
2004036440.tif 000013