説明

携帯可能電子装置、ICカードよび携帯可能電子装置に用いられる通信方法

【課題】 効率的に通信を行うことができる携帯可能電子装置および携帯可能電子装置に用いられる通信方法を提供する。
【解決手段】 携帯可能電子装置は、通信手段と、設定手段と、応答手段と、調整手段とを有する。通信手段は、フレーム単位のデータで構成されるデータを送受信する。設定手段は、受信可能な最大フレーム数と受信データに対する応答を開始する応答開始時間の初期値とを設定する。応答手段は、通信手段により受信するデータに対する応答開始時間が経過した時に当該データの受信確認を送信する。調整手段は、通信手段によるデータの受信完了から当該データに対する応答開始時間までの待ち時間に応じて応答開始時間を補正する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明の実施形態は、ICカードなどの携帯可能電子装置、および携帯可能電子装置に用いられる通信方法に関する。
【背景技術】
【0002】
ICカードなどの携帯可能電子装置は、端末装置とデータ通信を行うことにより様々な処理を実行する。携帯可能電子装置と端末装置との通信方式には、フレーム単位に分けたデータを送受信するものがある。フレーム単位のデータを送受信する通信方式では、1回に送受信可能な最大フレーム数を最初に設定しておき、最大フレーム数以内のフレームでデータを送受信する。しかしながら、1回に送受信可能な最大フレーム数が固定である場合、実際に送受信するデータのサイズに応じた効率的な通信が難しいことがある。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】ETSI TS102613
【発明の概要】
【発明が解決しようとする課題】
【0004】
この発明の一形態は、効率的に通信を行うことができる携帯可能電子装置、ICカードおよび携帯可能電子装置に用いられる通信方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
この実施の形態によれば、携帯可能電子装置は、通信手段と、設定手段と、応答手段と、調整手段とを有する。通信手段は、フレーム単位のデータで構成されるデータを送受信する。設定手段は、受信可能な最大フレーム数と受信データに対する応答を開始する応答開始時間の初期値とを設定する。応答手段は、通信手段により受信するデータに対する応答開始時間が経過した時に当該データの受信確認を送信する。調整手段は、通信手段によるデータの受信完了から当該データに対する応答開始時間までの待ち時間に応じて応答開始時間を補正する。
【図面の簡単な説明】
【0006】
【図1】図1は、ICカードおよびICカードシステムの構成例を示すブロック図である。
【図2】図2は、端末装置の一例としての携帯電話機の構成例を示すブロック図である。
【図3】図3は、タイムアウト時間の固定モードでICカードと端末装置とが送受信するフレームの例を示す図である。
【図4】図4は、タイムアウト時間の調整モードでICカードと端末装置とが送受信するフレームの例を示す図である。
【図5】図5は、調整モードにおけるICカードと端末装置とによる通信手順の例を示すシーケンス図である。
【図6】図6は、ICカードにおける通信処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【0007】
以下、実施の形態について図面を参照して詳細に説明する。
図1は、携帯可能電子装置としてのICカード1と端末装置2とを有するICカードシステムの構成例を示すブロック図である。
図1に示すICカードシステムは、ICカード1と端末装置2とが双方向にデータの送受信を行う通信システムである。たとえば、ICカードシステムは、ICカード1が端末装置2としての携帯電話機に装着される運用形態が想定される。このような運用形態では、端末装置2にICカード1が装着された状態でICカード1と端末装置2とがデータ通信を行う。また、ICカード1と端末装置2との通信方式は、たとえば、SWP通信などの全2重通信である。
【0008】
ICカード1は、端末装置2からの電源供給により動作する。たとえば、上記ICカード1は、上記端末装置2と物理的、電気的に接触して通信を行う接触式の携帯可能電子装置(接触式ICカード)である。ただし、上記ICカード1は、アンテナあるいは無線通信部等により上記端末装置2と非接触の状態で無線通信を行う非接触式の携帯可能電子装置(非接触式ICカード)であっても良い。さらには、上記ICカード1は、非接触式ICカードとしての通信機能と接触式ICカードとしての通信機能とを有する複合型のICカード(デュアルインターフェースICカード)であっても良い。
【0009】
図1に示すように、上記ICカード1は、制御部(CPU)11、プログラムメモリ12、ワーキングメモリ13、データメモリ14、通信制御部15、電源部16、および、インターフェース17などを有する。
上記ICカード1は、カード状の本体Cにより構成される。上記ICカード1を形成するカード状の本体Cには、1つ(あるいは複数)のICチップ1aとインターフェース17とが埋設される。上記ICチップ1aは、制御部(CPU)11、プログラムメモリ12、ワーキングメモリ13、データメモリ14、通信制御部15および電源部16などを有している。上記ICチップ1aは、上記インターフェース17に接続された状態でモジュール化され、当該ICカード1を形成するカード状の本体C内に埋設される。
【0010】
上記制御部11は、ICカード1全体の制御を司る。上記制御部11は、CPUなどのプロセッサを有する。上記制御部11は、上記プログラムメモリ12あるいはデータメモリ14に記憶されている制御プログラムおよび制御データなどに基づいて動作する。たとえば、上記制御部11は、上記プログラムメモリ12に記憶されている動作を司る制御プログラムを実行することにより、端末装置2から与えられるコマンドに応じた処理を実行する。上記制御部11は、時間を計時するタイマ11aを有する。タイマ11aは、たとえば、応答データの送信タイミングを計る。
【0011】
上記プログラムメモリ12は、読み出し専用のメモリ(ROM:リードオンリーメモリ)により構成される。上記プログラムメモリ12は、当該ICカード1の仕様に応じた動作を司る制御プログラムおよび制御データなどを記憶する。
【0012】
上記ワーキングメモリ13は、揮発性のメモリ(RAM;ランダムアクセスメモリ)により構成される。上記ワーキングメモリ13は、データを一時保管するバッファメモリとして機能する。例えば、上記ワーキングメモリ13には、端末装置2との通信処理において、送受信されるデータを一時的に保管する通信バッファとして利用可能である。また、上記ワーキングメモリ13は、種々の書込みデータなどを一時的に保持するメモリとしても利用される。
【0013】
上記データメモリ(不揮発性メモリ)14は、データの書き込みが可能な不揮発性のメモリである。上記データメモリ14は、例えば、EEPROMあるいはフラッシュメモリなどにより構成される。上記データメモリ14には、当該ICカード1の使用目的に応じた種々の情報(アプリケーションプログラムおよび運用データなど)が書込まれる。当該ICカード1が複数の使用目的に使用される場合、上記データメモリ14には、各使用目的に応じた複数のアプリケーションが記憶される。
【0014】
上記通信制御部15は、上記インターフェース17を介して端末装置2とのデータ通信を制御するものである。当該ICカード1が接触式ICカードである場合、通信制御部15は、端末装置2と物理的・電気的に接触するコンタクト部としてのインターフェース17を介してデータを送受信する。なお、非接触型のICカードであれば、上記通信制御部15は、インターフェース17としてのアンテナにより送受信するデータを変調あるいは復調する。
【0015】
上記電源部16は、当該ICカード1の各部を動作させるための電力およびクロックパルスを供給する。たとえば、当該ICカード1が接触型のICカードである場合、上記電源部16は、インターフェース17を介して外部装置から直接的に供給される電力およびクロックパルスを各部へ供給する。なお、当該ICカードが非接触型のICカードである場合、上記電源部16は、上記インターフェース17としてのアンテナにより受信した電波から電力およびクロックパルスを生成し、当該ICカード内の各部に供給する。
【0016】
また、ワーキングメモリ13は、通信確立処理において設定される通信設定などの設定データを記憶する。たとえば、ワーキングメモリ13は、後述する連続伝送フレームの最大数(以下、最大フレーム数(Sliding Window size)とも称する)の設定値を記憶する。また、ワーキングメモリ13は、フレームを受信してから受信確認を送信するまでの時間(タイムアウト時間)の設定値、および、初期値を記憶する。ワーキングメモリ13は、通信確立処理において設定されるタイムアウト時間の初期値を当該通信処理が終了するまで記憶する。ただし、ワーキングメモリ13が記憶するタイムアウト時間の設定値は、現在設定されているタイムアウト時間を示すものであり、適宜更新される。
【0017】
次に、端末装置2の構成について説明する。
上記端末装置2は、ICカード1を動作させるための電源を供給するとともに、当該ICカード1とのデータ通信を行う。ここでは、端末装置2が携帯電話機である場合を想定する。端末装置2としての携帯電話機は、各ユーザが所持するICカード1を装着した状態で携帯電話機としての通信が利用可能となる運用形態が想定される。また、ICカード1は、端末装置2としての携帯電話機に設けられたICカード用のソケットに装着される。携帯電話機のICカード用のソケットに装着された状態で、携帯電話機のインターフェースとしてのコンタクト部とICカード1のインターフェースとが接触してデータ通信が可能となる。また、上記携帯電話機2は、ICカード1に物理的に接触しているコンタクト部を介して当該ICカード1に動作用の電力およびクロックパルスを供給する。
【0018】
図2は、端末装置2の一例としての携帯電話機の構成例を示すブロック図である。
図2に示す構成例では、携帯電話機2は、制御部31、RAM32、ROM33、不揮発性メモリ34、ICカード用のインターフェース(第1インターフェース)35、メモリカード用のインターフェース(第2インターフェース)36、アンテナ37、通信部38、音声部39、振動部40、表示部41、操作部42および電源部43などを有する。
【0019】
上記制御部31は、携帯電話機2全体の制御を司るものである。上記制御部31は、CPU、内部メモリ、各種のインターフェースなどを有する。また、上記制御部31は、その基本機能として、上記表示部41の表示を制御する表示制御機能、PLL(Phase Locked Loop)回路、データストリーム経路切換え、DMA(Direct Memory Access)コントローラ、割り込みコントローラ、タイマ、UART(Universal Asynchronous Receiver Transmitter)、秘匿、HDLC(High-level Data Link Control procedure)フレーミング、ディバイスコントローラなどの機能を有している。
【0020】
上記RAM32は、作業用のデータを記憶するための揮発性メモリである。RAM32は、ICカード1との通信設定情報として、通信確立処理において設定する設定データを記憶する。たとえば、RAM32は、後述する連続伝送フレームの最大数(以下、最大フレーム数(Sliding Window size)とも称する)の設定値を記憶する。また、RAM32は、フレームを受信してから受信確認を送信するまでの時間(タイムアウト時間)の設定値、および、初期値を記憶する。RAM32は、通信確立処理において設定されるタイムアウト時間の初期値を当該通信処理が終了するまで記憶する。ただし、RAM32が記憶するタイムアウト時間の設定値は、現在設定されているタイムアウト時間を示すものであり、適宜更新される。
【0021】
上記ROM33は、制御プログラムや制御データなどが記憶されている不揮発性メモリである。上記ROM33は、不揮発性メモリである。たとえば、上記ROM33には、当該携帯電話機2の基本的な制御を行うための制御プログラムおよび制御データが予め記憶されている。上記制御部31は、上記ROM33に記憶されている制御プログラムを実行することにより、当該携帯電話機2の基本的な制御を実現している。
【0022】
上記不揮発性メモリ34は、種々のデータが記憶される書き換え可能な不揮発性メモリである。上記不揮発性メモリ34には、種々のアプリケーションプログラム(アプリケーション)、制御データ、および、ユーザデータなどが記憶される。上記制御部31は、上記不揮発性メモリ34に記憶されているアプリケーションプログラムを実行することにより、種々の機能を実現する。
【0023】
上記第1インターフェース35は、ICカード1が装着されるインターフェースである。上記第1インターフェース35は、上記制御部31に接続されている。これにより、上記制御部31は、上記第1インターフェース35を介して上記ICカード1とのデータ通信が可能となっている。上記第2インターフェース36は、上記メモリカードMが着脱可能なインターフェースである。上記第2インターフェース36は、上記制御部31に接続されている。上記制御部31は、上記第2インターフェース36に装着されたメモリカードMへのアクセス(データの書込みあるいは読出し)が可能となっている。
【0024】
上記通信部38は、通信用のアンテナ37を介して通話データあるいはデータ通信用のデータを電波で送受信する。上記音声部39は、アナログフロントエンド部及びオーディオ部を有し、音声の入出力を行う。上記振動部40は、当該携帯電話機2全体を振動させる振動機構により構成される。上記表示部41は、上記制御部31により表示のオンオフや表示内容などが制御される。上記操作部42は、キーボードなどにより構成され、ユーザによる操作指示が入力される。上記電源部43は、バッテリーなどにより構成され、当該携帯電話機2内の各部に電源を供給するようになっている。また、上記電源部43は、上記第1インターフェース35を介して接続されたICカード1および上記第2インターフェース36を介して接続されたメモリカードMにも電源を供給する機能も有している。
【0025】
次に、ICカード1と端末装置2との通信について説明する。
本実施例のICカードシステムでは、ICカード1と端末装置2とは、たとえば、SWP通信などの全2重通信を行う。本システムでは、伝送するデータの形式が予め決められる。ICカード1と端末装置2とは、データをフレーム単位で伝送する。1フレーム当りの伝送データ量は、規定のサイズであり、送受信すべきデータがフレーム単位に分割して送受信される。
【0026】
まず、端末装置2とICカード1とは、通信確立処理により通信設定の初期値を設定する。通信確立処理において、端末装置2はICカード1へリセット要求を送信し、ICカード1は端末装置2へ設定データを返す。リセット要求において、端末装置2は、ICカード1に対して、連続して伝送できるフレームの最大数(以下、Sliding Window size(WS)と称する)、および、受信確認の応答となるレスポンスのタイムアウト時間(Acknowledge time)などをパラメータで設定する。タイムアウト時間の初期値は、WS値に応じた長さの時間が設定される。
【0027】
Sliding Window sizeの値(WS値)は、たとえば、「2」、「3」および「4」の何れかが設定されるものとする。タイムアウト時間の初期値は、WS値に応じて決定される時間であるものとする。タイムアウト時間の初期値は、WS値が小さくなるほど、短い時間に設定される。また、タイムアウト時間は、端末装置2とICカード1との通信速度、および、各フレームの大きさなどに応じた値に設定する。たとえば、WS値が「4」である場合のタイムアウト時間の初期値を5ms程度とする。この場合、WS値が「4」である場合のタイムアウト時間の初期値「5ms」を基準として、WS値が「3」であれば、タイムアウト時間の初期値は4.5〜3.0ms程度(例えば3.75ms)とし、WS値が「2」であれば、タイムアウト時間の初期値は3.5〜2.0ms程度(たとえば、2.5ms)とするようにしても良い。
【0028】
上述のように、タイムアウト時間の初期値は、WS値に応じて決定され、WS値が大きければ大きいほど大きい値となる。従って、タイムアウト時間を初期値に固定すると、受信確認などの応答を出力するタイミングは、実際に伝送するフレーム数が設定されているWS値よりも少ない場合であっても、WS値に応じて設定された時間となる。この結果として、実際に伝送するフレーム数が設定されているWS値よりも少ない場合、余計な待ち時間が発生する。
【0029】
本実施形態のICカードシステムでは、ICカードは、通信確立処理(つまり、リセット時)において、タイムアウト時間を初期値に固定する固定モードか自動調整する調整モードかを選択する。たとえば、図3は、タイムアウト時間を初期値に固定する固定モードにおける通信例を示す図である。
【0030】
まず、タイムアウト時間を初期値に固定する固定モードでの処理例について説明する。
図3に示す例では、WS(Sliding Window size)=4の場合を想定している。図3に示すように、Sliding Window sizeは、端末装置2とICカード1との通信確立処理において設定される。端末装置2は、ICカード1に、WS=4でのリセット(RSET)を要求するフレーム(U-Frame)を送信する。ICカード1は、WS値を4に設定し、初期設定完了を示すフレーム(U-Frame)を端末装置2へ返す。以降の通信において、端末装置2は、WS値を「4」としてICカード1とのフレーム交換を行う。
【0031】
タイムアウト時間(Acknowledge time)の初期値は、たとえば、WS(Sliding Window Size)に対して、以下のような式により算出される。
タイムアウト時間=(デフォルトの固定値)×WS/(WSに設定可能な最大値)
ここでは、WS値が2、3、4の何れかに設定され、WS値として設定可能な最大値が「4」であるものとする。また、デフォルトの固定値を5msとすると、タイムアウト時間(Acknowledge time)は、以下の式により算出されることとなる。
タイムアウト時間(Acknowledge time)=5ms×WS/4
上記の式によれば、WS値が「4」である場合、タイムアウト時間の初期値は5ms×4/4=5msとなり、WS値が「3」である場合、タイムアウト時間の初期値は5ms×3/4=3.75msとなり、WS値が「2」である場合、タイムアウト時間の初期値は5ms×2/4=2.5msとなる。
【0032】
上記のようなタイムアウト時間の初期値の設定を含む通信確立処理が完了すると、端末装置2とICカード1とは、フレーム交換を開始する。端末装置2は、設定したWSの値を最大値とする複数フレームごとのデータとして、送信メッセージをICカード1へ送信する。たとえば、最大数のフレームで収まらない大きなデータを送信する場合、端末装置2は、送信データをWS値を最大値とする複数フレームからなるデータに分割してICカード1へ送信する。
【0033】
すなわち、タイムアウト時間が固定モードである場合、WS=4が設定されれば、送信メッセージ(I-Frame)にフレーム数によらず、4フレームで送られる送信メッセージに対応するタイムアウト時間が固定値として設定される。このため、4フレームで送られる送信メッセージ(I-Frame)に対しては、対応するタイムアウト時間で応答ができる。ただし、送信メッセージ(I-Frame)のフレーム数が最大値(「4」)よりも3フレーム以下であれば、当該送信メッセージの受信を完了した後、フレーム数が最大値(「4」)よりも少ないフレーム数分の待ち時間が発生する。
【0034】
たとえば、図3に示す例において、端末装置2から4フレームからなる送信メッセージ(I-Frame)を受信した場合、ICカード1は、受信した最初のフレームの終わりからWS値に応じて設定されたタイムアウト時間が経過した時点で受信確認の通知を送信する。また、端末装置2から3フレームからなる送信メッセージ(I-Frame)を受信した場合、ICカード1は、3フレーム分のデータを受信した後、1(4−3=1)フレーム分のデータが受信可能な待ち時間を待ってから受信確認の通知を送信する。また、端末装置2から2フレームからなる送信メッセージ(I-Frame)を受信した場合、ICカード1は、2フレーム分のデータを受信した後、2(4−2=2)フレーム分のデータが受信可能な待ち時間を待ってから受信確認の通知を送信する。
【0035】
上述したように、タイムアウト時間を初期値に固定する固定モードでは、設定されたWS値よりも少ないフレーム数の送信メッセージを受信した場合、ICカード1は、受信完了から応答を送信するまでの間に待ち時間が発生する。WS値に対してフレーム数が少なければ少ないほど、ICカード1は、受信完了から応答送信までの間における待ち時間が拡大する。
【0036】
次に、タイムアウト時間を自動的に調整する調整モードでの通信について説明する。
図4は、タイムアウト時間を自動的に調整する調整モードにおいて送受信されるフレームの例を示す図である。また、図5は、タイムアウト時間が調整モードである場合における端末装置2とICカート1との通信シーケンスの例を示す図である。
通信確立処理において、ICカード1は、WSを設定する。図4および図5に示す例では、WS=4とする。通信確立処理において、ICカード1は、設定されたWSの値に対応するタイムアウト時間(Acknowledge time)の初期値AT0を設定される。WS値に対応するタイムアウト時間の初期値AT0は、例えば、上述した式により算出される。
【0037】
また、通信確立処理において、端末装置2は、ICカード1へのリセット要求とともに、タイムアウト時間(Acknowledge time)を固定モードとするか調整モードとするかを指定するようにしても良い。たとえば、端末装置2は、通信確立処理においてICカード1へ送信するリセット要求を含むUAフレームにおいて、タイムアウト時間を固定モードとするか調整モードとするかを指定するパラメータを付与する。ICカード1は、リセット要求を含むUAフレームのパラメータによりタイムアウト時間を固定モードとするか調整モードとするかを選択する。
【0038】
タイムアウト時間を自動調整する調整モードである場合、ICカード1は、実際に端末装置2からの送信メッセージ(I-Frame)の受信完了から、タイムアウト時間が経過するまでの時間に応じて、現在設定されているタイムアウト時間を調整(補正)するか否かを判断する。たとえば、送信メッセージの受信完了からのタイムアウト時間までの経過時間Tが第1基準値A以上かつ第2基準値A+α以下である場合、ICカード1は、タイムアウト時間の変更を行わずに、現在のタイムアウト時間の設定値を維持する。
【0039】
また、送信メッセージの受信完了からのタイムアウト時間までの経過時間Tが第1基準値A未満である場合、ICカード1は、タイムアウト時間の設定値をWS値に応じたタイムアウト時間の初期値に補正する調整を行う。また、送信メッセージの受信完了からのタイムアウト時間までの経過時間Tが第2基準値A+αより長い場合、ICカード1は、タイムアウト時間の設定値を短くする調整を行う。たとえば、ICカード1は、現在のタイムアウト時間をB(0<B<1)倍することにより、タイムアウト時間を短い時間に調整する。Bの値は、たとえば、0.5から0.75程度が想定される。ただし、タイムアウト時間を短い値に調整する方法は、B倍する方法に限定されるものでない。たとえば、タイムアウト時間は、現在の設定値から所定時間を減算した値に調整するようにしても良い。
【0040】
すなわち、端末装置2から送信メッセージ(I-Frame)を受信した場合、ICカード1は、受信した最初のフレームの終わりからタイムアウト時間が経過した時点で受信確認の通知を送信する。受信確認を通知するICカード1は、送信メッセージの受信を完了した時点と設定中のタイムアウト時間に従って受信確信を送信した時点との時間差tにより、現在設定されているタイムアウト時間AT0を変更(調整)するか否かを判断する。
【0041】
たとえば、図4に示す例では、WSを「4」に設定した通信確立処理の直後に端末装置2から4フレームの送信メッセージ(I-Frame)を受信した場合、時間差tがA≦t≦A+αであるため、ICカード1は、タイムアウト時間の調整を実行しない。
また、図4に示す例では、4フレームの送信メッセージを受信した次に3フレームの送信メッセージを受信した場合、時間差tがt≧A+αであるため、ICカード1は、タイムアウト時間の設定値ATをタイムアウト時間AT0をよりも短い時間AT1に調整(更新)する。
【0042】
また、図4に示す例では、3フレームの送信メッセージを受信した次に3フレームの送信メッセージを受信した場合、A≦t≦A+αであるため、ICカード1は、タイムアウト時間の調整を実行しない。
また、図4に示す例では、3フレームの送信メッセージの受信に応じてタイムアウト時間をAT1に調整した後に4フレームの送信メッセージを受信した場合、時間差tがt≦Aとなるため、ICカード1は、タイムアウト時間の設定値ATをタイムアウト時間の初期値AT0に変更する。
【0043】
なお、ICカード1であh、タイムアウト時間を短くすることによって全フレームの送信メッセージを受信しきれないうちに受信確認を送信することがあっても良い。たとえば、図4に示す例では、タイムアウト時間AT1の場合には4フレームからなる送信メッセージを受信しきれないようになっている。この場合、ICカード1は、調整された短いタイムアウト時間で受信確認を送信した際、タイムアウト時間を初期設定に戻すとともに、受信確認が未通知のフレームについては未通知のフレームを受信してからタイムアウト時間が経過した時点で受信確認を送信する。
【0044】
つまり、図4に示す例において、ICカード1は、4フレームからなる送信メッセージに対してタイムアウト時間AT1で受信確認を送信する際、タイムアウト時間を初期値AT0に変更するとともに、受信確認を送信する際に受信中であった残りフレームの受信開始からタイムアウト時間AT0が経過した時点で、残りフレームの受信確認を端末装置2へ送信する。
【0045】
次に、ICカード1における調整モードでの処理例について説明する。
図6は、ICカード1における調整モードでの処理の流れを説明するためのフローチャートである。
まず、ICカード1は、端末装置2からのリセット要求に応じて通信確立処理を行う(ステップS11)。端末装置2は、ICカード1に対してリセット要求とともに、WSの設定値を指定する。ICカード1のCPU11は、端末装置2に指定されたWS値を設定する。CPU11は、端末装置2から指定されたWS値をワーキングメモリ13に保存することにより、WS値を設定する。WS値を設定した場合、CPU11は、WS値に応じたタイムアウト時間ATの初期値AT0を算出する。算出したタイムアウト時間の初期値AT0を算出すると、CPU11は、算出した初期値をタイムアウト時間ATとしてワーキングメモリ13に保存する。
【0046】
通信確立処理が完了すると、ICカード1のCPU11は、端末装置2からの送信メッセージ(フレーム)の受信待ち状態となる。端末装置2から送信メッセージを受信した場合(ステップS12、YES)、ICカード1のCPU11は、端末装置2から受信する送信メッセージにおける最初のフレームの受信完了からの経過時間をタイマ11aにより計時する。CPU11は、タイマ11aが計時する経過時間がワーキングメモリ13に記憶している現在の設定されているタイムアウト時間になったか否かを監視する(ステップS13)。
【0047】
また、送信メッセージを受信する場合、CPU11は、送信メッセージの受信完了を監視する(ステップS14)。タイマ11aにより計時する経過時間がタイムアウト時間になる前に送信メッセージの受信が完了した場合(ステップS14、YES)、CPU11は、送信メッセージの受信完了時点から、タイマ11aにより計時する経過時間がタイムアウト時間になるまでの時間(時間差)tを計時する(ステップS15)。
【0048】
タイマ11aにより計時する経過時間がタイムアウト時間になった場合(ステップS13、YES)、CPU11は、受信したフレームに対する受信確認のレスポンスを端末装置2へ送信する(ステップS16)。受信確認を送信する場合、CPU11は、端末装置2との通信におけるタイムアウト時間の動作モードが調整モードであるか否かを判断する(ステップS17)。調整モードである場合(ステップS17、YES)、CPU11は、端末装置2からの送信メッセージの全フレームを受信済みであるか否かを確認する(ステップS18)。送信メッセージの全フレームが受信済みでない場合(ステップS18、NO)、CPU11は、タイムアウト時間ATを初期値AT0に戻す(ステップS19)。この場合、CPU11は、ステップS13へ戻り、受信確認を送信していない残りフレームの受信処理を実行する。
【0049】
送信メッセージの全フレームが受信済みであることを確認した場合(ステップS18、YES)、CPU11は、受信完了からタイムアウト時間になるまでの時間差tが第1基準値A以上であるか否かを判断する(ステップS20)。時間差tが第1基準値A未満であると判断した場合(ステップS20、NO)、CPU11は、タイムアウト時間ATを初期値AT0に更新する(ステップS21)。この場合、CPU11は、ステップS12へ戻り、次のフレームの受信待ち状態となる。また、第1基準値Aは、通信速度に応じて設定する時間である。たとえば、第1基準値Aは、1フレーム分の受信時間よりも短く、フレームの受信完了から確実に受信確認の送信を開始できるまでの時間よりも長い時間であることが考えられる。
【0050】
なお、全フレームの受信完了から受信確認を送信するまでの時間差tが第1基準値A未満となった場合、ICカード1は、直ちに、タイムアウト時間を初期値に戻すのではなく、徐々にタイムアウト時間を長くするような調整を行うようにしても良い。たとえば、CPU11は、時間差tが第1基準値A未満となった場合、1よりも大きい倍率Cをタイムアウト時間ATに乗算することにより、タイムアウト時間ATをより長い時間に調整しても良い。
【0051】
また、時間差tが第1の基準値A以上であると判断した場合(ステップS20、YES)、CPU11は、さらに、時間差tが第2基準値(A+α)以下であるか否かを判断する(ステップS22)。時間差tが第2基準値(A+α)以下であると判断した場合(ステップS20、YES)、CPU11は、ワーキングメモリ13に記憶している現在のタイムアウト時間ATを更新することなく、現在のタイムアウト時間の設定値を継続する。この場合、CPU11は、ステップS12へ戻り、次のフレームの受信待ち状態となる。また、第2基準値A+αも、通信速度に応じて設定する時間である。たとえば、第2基準値A+αにおけるαは、タイムアウト時間の設定値の継続を許容する範囲となる時間である。
【0052】
時間差tが第2の基準値(A+α)よりも大きいと判断した場合(ステップS20、NO)、CPU11は、ワーキングメモリ13に記憶している現在のタイムアウト時間ATを調整する(ステップS23)。たとえば、CPU11は、ワーキングメモリ13に記憶している現在のタイムアウト時間ATに倍率Bを乗算することにより、タイムアウト時間ATを更新する。CPU11は、倍率Bを0<B<1とすることによりタイムアウト時間ATを短い値に設定できる。たとえば、倍率Bは、0.5〜0.75とすることによりタイムアウト時間を1/2〜3/4短縮できる。
【0053】
上記のように、実施の形態のICカードは、全フレームの受信完了から受信確認を送信する時間差が所定の基準時間よりも長い場合、第1フレームの受信完了から受信確認を送信するまでのタイムアウト時間を短い値に調整する。これにより、ICカードが受信確認を送信するまでの待ち時間が長くなることを抑制できる。
【0054】
また、ICカードは、全フレームの受信完了から受信確認を送信する時間差が基準時間よりも長ければ、その都度タイムアウト時間を短くする。これにより、設定された最大連続フレーム(WS)よりも少ないフレーム数の受信が連続するような場合には、徐々にタイムアウト時間を短くして実際に受信しているフレーム数に適したタイムアウト時間に調整することができる。この結果、端末装置とICカードとの通信処理全体における時間も短縮することができる。
【0055】
上記のように、本実施形態のICカードは、外部装置からの指示を解釈及び実行し、その結果を応答する。ICカードと外部装置とは、データ交換用に最大データ長が規定された可変長のデータ形式(フレーム)を使用し、一方からの受信確認または次フレーム送信要求無しに対して、他方からフレームを連続送信することができる。また、フレームの連続送信数の最大値が設定された場合、最大数のフレームを送信した後に受信確認または次フレーム送信要求を待つ通信方式において、ICカード又は端末装置は、受信確認を送信するまでの時間の初期値が活性化時に設定される。ICカード又は端末装置は、初期値を設定した以降のフレーム交換において、実際の受信完了時と受信確認の送信時との時間差に応じて、受信確認送信までの時間を自動的に調整する。
【0056】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0057】
1…ICカード、C…本体、1a…ICチップ、2…端末装置(携帯電話機、外部装置)、11…CPU、11a…タイマ、12…プログラムメモリ、13…ワーキングメモリ、14…データメモリ、15…通信制御部、16…電源部、17…インターフェース、31…制御部、32…RAM、34…不揮発性メモリ、35…インターフェース。

【特許請求の範囲】
【請求項1】
携帯可能電子装置であって、
フレーム単位のデータで構成されるデータを送受信する通信手段と、
受信可能な最大フレーム数と受信データに対する応答を開始する応答開始時間の初期値とを設定する設定手段と、
前記通信手段により受信するデータに対する応答開始時間が経過した時に当該データの受信確認を送信する応答手段と、
前記通信手段によるデータの受信完了から当該データに対する応答開始時間までの待ち時間に応じて応答開始時間を補正する調整手段と、
を有することを特徴とする携帯可能電子装置。
【請求項2】
前記調整手段は、前記待ち時間が第1の時間よりも長い場合、前記応答開始時間を短くする、
ことを特徴とする前記請求項1に記載の携帯可能電子装置。
【請求項3】
前記調整手段は、前記待ち時間が第1の時間よりも短く、かつ、第2の時間よりも長い場合、前記応答開始時間を維持する、
ことを特徴とする前記請求項1又は2の何れかに記載の携帯可能電子装置。
【請求項4】
前記調整手段は、前記待ち時間が第2の時間よりも短い場合、前記応答開始時間を初期値に戻す、
ことを特徴とする前記請求項1乃至3の何れか1項に記載の携帯可能電子装置。
【請求項5】
前記調整手段は、前記待ち時間が第2の時間よりも短い場合、前記応答開始時間を長くする、
ことを特徴とする前記請求項1乃至3の何れか1項に記載の携帯可能電子装置。
【請求項6】
さらに、外部装置から受信した設定データに従って前記調整手段により応答開始時間の調整する調整モードか応答開始時間を初期値に固定する固定モードかの何れかを設定するモード設定手段を有する、
ことを特徴とする前記請求項1乃至5の何れか1項に記載の携帯可能電子装置。
【請求項7】
ICカードであって、
フレーム単位のデータで構成されるデータを送受信する通信手段と、受信可能な最大フレーム数と受信データに対する応答を開始する応答開始時間の初期値とを設定する設定手段と、前記通信手段により受信するデータに対する応答開始時間が経過した時に当該データの受信確認を送信する応答手段と、前記通信手段によるデータの受信完了から当該データに対する応答開始時間までの待ち時間に応じて応答開始時間を補正する調整手段とを有するモジュールと、
前記モジュールを有する本体と、
を有することを特徴とするICカード。
【請求項8】
携帯可能電子装置に用いられる通信方法であって、
受信可能な最大フレーム数と受信データに対する応答を開始する応答開始時間の初期値とを設定し、
フレーム単位のデータで構成されるデータを受信し、
前記受信するデータに対する応答開始時間が経過した時に当該データの受信確認を送信し、
前記データの受信完了から当該データに対する応答開始時間までの待ち時間に応じて応答開始時間を補正する、
ことを特徴とする携帯可能電子装置に用いられる通信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate