(57)【要約】【課題】時間管理が必要な処理の数が、利用可能なタイマーの数より多い場合であっても、これらの処理ごとに時間管理を行うことが可能な処理装置、処理方法、及び処理プログラムを提供する。【解決手段】ＵＩＭ１３は、タイマー１３ｅの設定値及び管理時間に基づいて、時間管理が必要な処理ごとに論理タイマー値を設定し、タイマー１３ｅから割込み信号が入力される度に、それぞれの処理に対応する論理タイマー値を減算または加算し、当該論理タイマー値が所定値になった場合に、当該論理タイマー値に対応する処理を実行する。【選択図】図４
2015022649.tif 000002
【特許請求の範囲】
【請求項１】
外部とのインターフェースを複数有し、それぞれの前記インターフェースを介して受信されるそれぞれのコマンドに応じた処理を実行する処理装置であって、
それぞれの前記処理には管理時間が設定され、それぞれの前記管理時間の少なくとも一部が重複するものであり、
設定値まで時間をカウントする度に信号を出力するタイマーと、
前記設定値と前記管理時間とに基づいて、前記処理ごとの論理タイマー値を設定する設定手段と、
前記タイマーから前記信号が入力される度に、それぞれの前記処理に対応する前記論理タイマー値を減算または加算する演算手段と、
前記演算手段により前記論理タイマー値が所定値になった場合に、当該論理タイマー値に対応する前記処理を実行する実行手段と、
を備えることを特徴とする処理装置。
【請求項２】
前記設定値は、それぞれの前記処理に設定された前記管理時間の公約数であることを特徴とする請求項１に記載の処理装置。
【請求項３】
前記設定手段は、それぞれの前記処理に設定された前記管理時間を前記設定値で割ることで得た値を前記論理タイマー値として設定することを特徴とする請求項１または２に記載の処理装置。
【請求項４】
前記管理時間は、前記処理に応じた基準時点から当該処理が開始または再開されるまでの時間であることを特徴とする請求項１乃至３の何れか一項に記載の処理装置。
【請求項５】
前記演算手段は、前記論理タイマー値を１減算し、
前記実行手段は、前記論理タイマー値が０になった場合に、当該論理タイマー値に対応する前記処理を実行することを特徴とする請求項１乃至４の何れか一項に記載の処理装置。
【請求項６】
外部とのインターフェースを複数有し、且つ設定値まで時間をカウントする度に信号を出力するタイマーを備える処理装置が、それぞれの前記インターフェースを介して受信されるそれぞれのコマンドに応じた処理を実行する処理方法において、
それぞれの前記処理には管理時間が設定され、それぞれの前記管理時間の少なくとも一部が重複するものであり、
前記設定値と前記管理時間とに基づいて、前記処理ごとの論理タイマー値を設定するステップと、
前記タイマーから前記信号が入力される度に、それぞれの前記処理に対応する前記論理タイマー値を減算または加算するステップと、
前記論理タイマー値が所定値になった場合に、当該論理タイマー値に対応する前記処理を実行するステップと、
を含むことを特徴とする処理方法。
【請求項７】
外部とのインターフェースを複数有し、且つ設定値まで時間をカウントする度に信号を出力するタイマーを備える処理装置に含まれるコンピュータに、それぞれの前記インターフェースを介して受信されるそれぞれのコマンドに応じた処理を実行させる処理プログラムにおいて、
それぞれの前記処理には管理時間が設定され、それぞれの前記管理時間の少なくとも一部が重複するものであり、
前記設定値と前記管理時間とに基づいて、前記処理ごとの論理タイマー値を設定するステップと、
前記タイマーから前記信号が入力される度に、それぞれの前記処理に対応する前記論理タイマー値を減算または加算するステップと、
前記論理タイマー値が所定値になった場合に、当該論理タイマー値に対応する前記処理を実行するステップと、
を実行させることを特徴とする処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のインターフェースを有するＩＣカード等の技術分野に関する。
【背景技術】
【０００２】
近年、接触通信用のインターフェースと非接触通信用のインターフェースを有するＩＣカードが知られている（例えば、特許文献１参照）。このようなＩＣカードに搭載されたＩＣチップは、それぞれのインターフェースを介して入力されるそれぞれのコマンドに応じた処理を実行するようになっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−４８６４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上述したＩＣチップにおいて、一般に、接触通信用のインターフェースの処理及び非接触通信用のインターフェースの処理には、例えば、ある一定時間が経過した段階で開始する必要がある処理が含まれる。このような処理は、ＩＣチップに搭載されたタイマーが用いられて時間管理が行われる。例えば、ＩＣチップにおいて１つの時間管理を行う場合、当該時間管理のために１つのタイマーが専用に割り当てられる。そのため、ＩＣチップ内で時間管理を行う項目が多くなると、その時間管理の数分のタイマーが必要となる。しかしながら、ＩＣチップではリソースの問題もあり、タイマーの数がその時間管理の数分だけ潤沢に提供することが困難なことがある。
【０００５】
そこで、本発明は、上記点等に鑑みてなされたものであり、時間管理が必要な処理の数が、利用可能なタイマーの数より多い場合であっても、これらの処理ごとに時間管理を行うことが可能な処理装置、処理方法、及び処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、外部とのインターフェースを複数有し、それぞれの前記インターフェースを介して受信されるそれぞれのコマンドに応じた処理を実行する処理装置であって、それぞれの前記処理には管理時間が設定され、それぞれの前記管理時間の少なくとも一部が重複するものであり、設定値まで時間をカウントする度に信号を出力するタイマーと、前記設定値と前記管理時間とに基づいて、前記処理ごとの論理タイマー値を設定する設定手段と、前記タイマーから前記信号が入力される度に、それぞれの前記処理に対応する前記論理タイマー値を減算または加算する演算手段と、前記演算手段により前記論理タイマー値が所定値になった場合に、当該論理タイマー値に対応する前記処理を実行する実行手段と、を備えることを特徴とする。
【０００７】
請求項２に記載の発明は、請求項１に記載の処理装置において、前記設定値は、それぞれの前記処理に設定された前記管理時間の公約数であることを特徴とする。
【０００８】
請求項３に記載の発明は、請求項１または２に記載の処理装置において、前記設定手段は、それぞれの前記処理に設定された前記管理時間を前記設定値で割ることで得た値を前記論理タイマー値として設定することを特徴とする。
【０００９】
請求項４に記載の発明は、請求項１乃至３の何れか一項に記載の処理装置において、前記管理時間は、前記処理に応じた基準時点から当該処理が開始または再開されるまでの時間であることを特徴とする。
【００１０】
請求項５に記載の発明は、請求項１乃至４の何れか一項に記載の処理装置において、前記演算手段は、前記論理タイマー値を１減算し、前記実行手段は、前記論理タイマー値が０になった場合に、当該論理タイマー値に対応する前記処理を実行することを特徴とする。
【００１１】
請求項６に記載の発明は、外部とのインターフェースを複数有し、且つ設定値まで時間をカウントする度に信号を出力するタイマーを備える処理装置が、それぞれの前記インターフェースを介して受信されるそれぞれのコマンドに応じた処理を実行する処理方法において、それぞれの前記処理には管理時間が設定され、それぞれの前記管理時間の少なくとも一部が重複するものであり、前記設定値と前記管理時間とに基づいて、前記処理ごとの論理タイマー値を設定するステップと、前記タイマーから前記信号が入力される度に、それぞれの前記処理に対応する前記論理タイマー値を減算または加算するステップと、前記論理タイマー値が所定値になった場合に、当該論理タイマー値に対応する前記処理を実行するステップと、を含むことを特徴とする。
【００１２】
請求項７に記載の発明は、外部とのインターフェースを複数有し、且つ設定値まで時間をカウントする度に信号を出力するタイマーを備える処理装置に含まれるコンピュータに、それぞれの前記インターフェースを介して受信されるそれぞれのコマンドに応じた処理を実行させる処理プログラムにおいて、それぞれの前記処理には管理時間が設定され、それぞれの前記管理時間の少なくとも一部が重複するものであり、前記設定値と前記管理時間とに基づいて、前記処理ごとの論理タイマー値を設定するステップと、前記タイマーから前記信号が入力される度に、それぞれの前記処理に対応する前記論理タイマー値を減算または加算するステップと、前記論理タイマー値が所定値になった場合に、当該論理タイマー値に対応する前記処理を実行するステップと、を実行させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、時間管理が必要な処理の数が、利用可能なタイマーの数より多い場合であっても、これらの処理ごとに時間管理を行うことができる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態に係る携帯端末の概要構成例を示すブロック図である。
【図２】ＵＩＭ１３の概要構成例を示す図である。
【図３】（Ａ）は、管理時間の例として優先処理時間を示す図であり、（Ｂ）は、管理時間の例として再送信待機時間を示す図である。
【図４】（Ａ）は、設定処理の一例を示す図であり、（Ｂ）は、割込み処理の一例を示す図である。
【図５】時間管理が必要な処理として接触コマンド処理と再送信処理を例にとった場合の動作例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下に説明する実施形態は、携帯端末に対して本発明を適用した場合の実施の形態である。
【００１６】
先ず、図１を参照して、本実施形態に係る携帯端末の構成及び機能概要について説明する。図１は、本実施形態に係る携帯端末の概要構成例を示すブロック図である。図１に示すように、携帯端末１は、携帯端末１の通信機能等を担うコントローラ１１、ＣＬＦ（Contactless Front End)１２、及びＵＩＭ（User Identity Module）１３等を備えて構成されている。なお、携帯端末１には、携帯電話機やスマートホン等を適用できる。コントローラ１１は、図示しないが、ＣＰＵ（Central Processing Unit）、各種プログラム及びデータを記憶する不揮発性メモリ（例えばフラッシュメモリ等）、データを一時記憶するＲＡＭ、ＵＩＭ１３との間のインターフェースを担うＩ／Ｏポート等を備えている。コントローラ１１は、ＵＩＭ１３との間でインターフェースを介して通信可能になっている。そして、コントローラ１１は、携帯端末１の通信処理（移動体通信網やインターネットを介して行われる通信）や携帯端末１のユーザからの操作キーを介した操作指示に応じて各種処理を実行する。このような処理の過程で、コントローラ１１は、インターフェースを介してＵＩＭ１３へコマンドを出力する。
【００１７】
ＣＬＦ１２は、ＮＦＣ（Near Field Communication）技術を採用した非接触通信を行う非接触型ＩＣチップであり、図示しないが、ＣＰＵ、各種プログラム及びデータを記憶する不揮発性メモリ、データを一時記憶するＲＡＭ、ＵＩＭ１３との間のインターフェースを担うＩ／Ｏポート（ＳＷＩＯ）等を備えている。ＣＬＦ１２は、非接触のフィールド内で非接触リーダ・ライタ（Ｒ／Ｗ）２との間で所定の通信方式に準じた各種信号の送受信を行うためのアンテナ１２ａに接続されている。そして、ユーザが携帯端末１を非接触リーダ・ライタ２に翳すと、ＣＬＦ１２は、非接触リーダ・ライタ２から送信されたコマンドを、インターフェースを介してＵＩＭ１３へ送信する。
【００１８】
ＵＩＭ１３は、外部とのインターフェースを複数備え、それぞれのインターフェースを介して受信されるそれぞれのコマンドに応じた処理を実行する接触型ＩＣチップ（本発明の処理装置の一例）である。なお、ＵＩＭ１３は、ＩＣカードに搭載されて携帯端末１内に装着されてもよいし、携帯端末１の回路基板上に直接組み込んで構成するようにしてもよい。図２は、ＵＩＭ１３の概要構成例を示す図である。図２に示すように、ＵＩＭ１３は、ＣＰＵ１３ａ、ＲＡＭ１３ｂ、ＲＯＭ１３ｃ、不揮発性メモリ１３ｄ、タイマー１３ｅ、及びＩ／Ｏ回路１３ｆ等を備え、これらの構成要素はバス１３ｇに接続される。なお、不揮発性メモリ１３ｄは、フラッシュメモリまたはＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory)である。ＲＯＭ１３ｃは、ＵＩＭ１３に設けられない場合もある。
【００１９】
ＣＰＵ１３ａは、複数のインターフェースを介して受信されるそれぞれのコマンドに応じた処理を実行する。ＲＡＭ１３ｂは、ＣＰＵ１３ａによる作業用のメモリである。ＲＯＭ１３ｃまたは不揮発性メモリ１３ｄは、オペレーティングシステム（ＯＳ）、及びアプリケーションプログラム等を記憶する。アプリケーションプログラムには、本発明の処理プログラムが含まれる。ＣＰＵ１３ａは、本発明の処理プログラムに従って設定手段、演算手段、及び実行手段として機能する。ＣＰＵ１３ａにより実行される処理には管理時間が設定され、それぞれの管理時間の少なくとも一部が重複するようになっている。ここで、管理時間は、それぞれの処理に応じた基準時点（例えば、コマンド受信時点やレスポンス送信時点など）から当該処理が開始または再開されるまでの時間である。或いは、管理時間は、処理の開始から終了までの制限時間であってもよい。例えば、処理Ａ，処理Ｂ，処理Ｃがある場合、処理Ａの管理時間は、「３０ｍｓ」であり、処理Ｂの管理時間は、「１２ｍｓ」であり、処理Ｃの管理時間は、「４ｍｓ」であるというように、処理ごとに異なる。
【００２０】
タイマー１３ｅは、ハードウェアにより構成された物理タイマーであり、時間をカウント（計測）するタイマー機能を有する。そして、タイマー１３ｅは、予め設定された設定値（例えば、１ｍｓ）まで時間をカウントする度（言い換えれば、設定値までの計測が終了するたび）に、割込み信号をＣＰＵ１３ａへ出力する。
【００２１】
Ｉ／Ｏ回路１３ｆは、例えばＩＳＯ／ＩＥＣ７８１６等によって定められた、Ｃ１〜Ｃ８の８個の端子を有する。ここで、Ｃ１端子は電源端子（ＶＣＣ）であり、Ｃ５端子はグランド端子（ＧＮＤ）である。Ｃ２端子は、リセット端子（ＲＳＴ）であり、コントローラ１１からのリセットを入力するために用いられる。Ｃ３端子は、クロック端子（ＣＬＫ）であり、コントローラ１１からのクロックを入力するために用いられる。Ｃ７端子は、コントローラ１１からのコマンドを入力するために用いられ、コントローラ１１との間の接触通信用のインターフェース（以下、「接触Ｉ／Ｆ」という）を担う。Ｃ６端子は、ＣＬＦ１２からのコマンドを入力するために用いられ、ＣＬＦ１２との間の非接触通信用のインターフェース（以下、「非接触Ｉ／Ｆ」という）を担う。なお、ＵＩＭ１３とＣＬＦ１２との間のインターフェースには、例えばＳＷＰ（Single Wire Protocol）が適用される。
【００２２】
図３（Ａ）は、管理時間の例として優先処理時間を示す図である。図３（Ａ）に示すように、コントローラ１１から接触Ｉ／Ｆを介して受信されたコマンド応じた処理（以下、「接触コマンド処理」という）の実行中に、ＣＬＦ１２から非接触Ｉ／Ｆを介してコマンドが受信された場合、接触コマン処理は一時停止され、非接触Ｉ／Ｆを介して受信されたコマンドに応じた処理（以下、「非接触コマンド処理」がという）が優先処理時間中に行われ、当該優先処理時間経過後に接触コマンド処理が再開される。このような優先処理時間は、時間管理される必要がある。
【００２３】
図３（Ｂ）は、管理時間の例として再送信待機時間を示す図である。ＳＷＰにおいては、非接触Ｉ／Ｆを介してデータ（例えば、コマンドやレスポンス）が受信された場合、受信が行われたことを通知するためにＡｃｋ（受信通知）を送信元へ返信するように定義されている。そのため、図３（Ｂ）に示すように、非接触Ｉ／Ｆを介してレスポンスが送信された後、レスポンス（Ａｃｋの送信）を再送信待機時間だけ待ち、この時間内にＡｃｋが受信されない場合、再送信待機時間経過後に、非接触Ｉ／Ｆを介してレスポンスを再送信する再送信処理が行われる。このような再送信待機時間は、時間管理される必要がある。
【００２４】
なお、ＩＳＯ７８１６では、コマンドの受信から所定時間内にレスポンスを返せないときは、待ち時間延長要求を非接触Ｉ／Ｆを介して返信する延長要求処理を行うように定められている。上記所定時間もまた、時間管理される必要がある。
【００２５】
本実施形態では、ＣＰＵ１３ａは、タイマー１３ｅの設定値及び管理時間に基づいて、時間管理が必要な処理ごとに論理タイマー値を設定する。そして、ＣＰＵ１３ａは、タイマー１３ｅから割込み信号が入力される度に、それぞれの処理に対応する論理タイマー値を減算または加算し、当該論理タイマー値が所定値になった場合に、当該論理タイマー値に対応する処理を実行する。
【００２６】
次に、図４を参照して、ＣＰＵ１３ａにおける処理例について説明する。
【００２７】
図４（Ａ）は、設定処理の一例を示す図であり、図４（Ｂ）は、割込み処理の一例を示す図である。なお、図４の例では、管理時間が互いに異なる処理Ａ、処理Ｂ、及び処理Ｃを例にとるものとする。図４（Ａ）に示す処理は、例えば携帯端末１の電源がオンになった場合に開始される。図４（Ａ）に示すステップＳ１では、ＣＰＵ１３ａは、タイマー１３ｅの設定値を設定する。例えば、処理Ａ、処理Ｂ、及び処理Ｃそれぞれに設定された管理時間の公約数が設定値として設定される。例えば、処理Ａの管理時間は「３０ｍｓ」であり、処理Ｂの管理時間は「１２ｍｓ」であり、処理Ｃの管理時間は「４ｍｓ」である場合、設定値は、これらの管理時間の公約数である「１ｍｓ」と「２ｍｓ」の何れかの値となる。ここで、当該公約数のうち小さい方（例えば「１ｍｓ」）に設定すれば、計測精度を高めることができる。一方、当該公約数のうち大きい方（例えば「２ｍｓ」：最大公約数）に設定すれば、タイマー１３ｅからの割込みを減らし、ＣＰＵ１３ａの負荷を低減することができる。
【００２８】
次いで、ＣＰＵ１３ａは、処理Ａ、処理Ｂ、及び処理Ｃそれぞれに対応する論理タイマー値を設定（例えば、上述した処理プログラムの変数として保持）し（ステップＳ２）、設定処理を終了する。例えば、ＣＰＵ１３ａは、処理Ａ、処理Ｂ、及び処理Ｃそれぞれに設定された管理時間を設定値で割ることで得た値を論理タイマー値として設定する。例えば、設定値が「２ｍｓ」である場合、処理Ａの論理タイマー値は「１５」になり、処理Ｂの論理タイマー値は「６」になり、処理Ｃの論理タイマー値は「２」になる。
【００２９】
そして、図４（Ａ）に示す設定処理の終了後、例えば、接触Ｉ／Ｆまたは非接触Ｉ／Ｆを介してコマンドが受信されると、ＣＰＵ１３ａは、タイマー１３ｅにカウント開始指令を与える。一方、タイマー１３ｅは、上記時間カウント開始指令に応じて、時間のカウントを開始し、上記設定値までの時間のカウントが終了した場合、割込み信号をＣＰＵ１３ａへ出力し、カウント値を初期化する。そして、ＣＰＵ１３ａは、タイマー１３ｅから割込み信号が入力されると、図４（Ｂ）に示す処理を開始する。
【００３０】
図４（Ｂ）に示すステップＳ１１では、ＣＰＵ１３ａは、処理Ａの実行待機中であるか否かを判定する。例えば、処理Ａに対応する計測中フラグが“１”であれば、処理Ａの実行待機中であると判定される。なお、計測中フラグは、処理Ａに対応するコマンドが受信されたときに“０”から“１”にセットされる（処理Ｂ及び処理Ｃについても同様）。そして、処理Ａの実行待機中であると判定された場合（ステップＳ１１：ＹＥＳ）、ステップＳ１２へ進む。一方、処理Ａの実行待機中でないと判定された場合（ステップＳ１１：ＮＯ）、ステップＳ１５へ進む。
【００３１】
ステップＳ１２では、ＣＰＵ１３ａは、処理Ａの論理タイマー値を減算（例えば、１減算）する。次いで、ＣＰＵ１３ａは、当該論理タイマー値が“０”になったか否かを判定する（ステップＳ１３）。処理Ａの論理タイマー値が“０”になっていないと判定された場合（ステップＳ１３：ＮＯ）、ステップＳ１５へ進む。一方、処理Ａの論理タイマー値が“０”になったと判定された場合（ステップＳ１３：ＹＥＳ）、ＣＰＵ１３ａは、処理Ａを実行し（ステップＳ１４）、ステップＳ１５へ進む。
【００３２】
ステップＳ１５では、ＣＰＵ１３ａは、処理Ｂの実行待機中であるか否かを判定する。例えば、処理Ｂに対応する計測中フラグが“１”であれば、処理Ｂの実行待機中であると判定される。そして、処理Ｂの実行待機中であると判定された場合（ステップＳ１５：ＹＥＳ）、ステップＳ１６へ進む。一方、処理Ｂの実行待機中でないと判定された場合（ステップＳ１５：ＮＯ）、ステップＳ１９へ進む。
【００３３】
ステップＳ１６では、ＣＰＵ１３ａは、処理Ｂの論理タイマー値を減算する。次いで、ＣＰＵ１３ａは、処理Ｂの論理タイマー値が“０”になったか否かを判定する（ステップＳ１７）。処理Ｂの論理タイマー値が“０”になっていないと判定された場合（ステップＳ１７：ＮＯ）、ステップＳ１９へ進む。一方、処理Ｂの論理タイマー値が“０”になったと判定された場合（ステップＳ１７：ＹＥＳ）、ＣＰＵ１３ａは、処理Ｂを実行し（ステップＳ１８）、ステップＳ１９へ進む。
【００３４】
ステップＳ１９では、ＣＰＵ１３ａは、処理Ｃの実行待機中であるか否かを判定する。例えば、処理Ｃに対応する計測中フラグが“１”であれば、処理Ｃの実行待機中であると判定される。そして、処理Ｃの実行待機中であると判定された場合（ステップＳ１９：ＹＥＳ）、ステップＳ２０へ進む。一方、処理Ｃの実行待機中でないと判定された場合（ステップＳ１９：ＮＯ）、ステップＳ２３へ進む。
【００３５】
ステップＳ２０では、ＣＰＵ１３ａは、処理Ｃの論理タイマー値を減算する。次いで、ＣＰＵ１３ａは、処理Ｃの論理タイマー値が“０”になったか否かを判定する（ステップＳ２１）。処理Ｃの論理タイマー値が“０”になっていないと判定された場合（ステップＳ２１：ＮＯ）、ステップＳ２３へ進む。一方、処理Ｃの論理タイマー値が“０”になったと判定された場合（ステップＳ２１：ＹＥＳ）、ＣＰＵ１３ａは、処理Ｃを実行し（ステップＳ２２）、ステップＳ２３へ進む。
【００３６】
ステップＳ２３では、ＣＰＵ１３ａは、タイマー１３ｅにカウント開始指令を与え、図４（Ｂ）に示す処理を終了する。これにより、タイマー１３ｅは、時間のカウントを開始し、上記設定値までの時間のカウントが終了した場合、割込み信号をＣＰＵ１３ａへ出力する。こうして、図４（Ｂ）に示す処理が再び開始される。
【００３７】
図５は、時間管理が必要な処理として接触コマンド処理と再送信処理を例にとった場合の動作例を示す図である。図５の例では、接触コマンド処理に設定された優先処理時間は「１００ｍｓ」であり、再送信処理に設定された再送信待機時間は「２０ｍｓ」であるとする。この場合、これらの時間の公約数は、「１ｍｓ」、「２ｍｓ」、「５ｍｓ」、「２０ｍｓ」であるが、タイマー１３ｅの設定値が大きくなると、接触コマンド処理と再送信処理に対応する計測開始のタイミングによってずれが大きくなるため、許容できる範囲内で設定されることが望ましい。ここでは、タイマー１３ｅの設定値が「５ｍｓ」として設定され、接触コマンド処理の論理タイマー値が「２０」に、再送信処理の論理タイマー値が「４」に、それぞれ設定されるものとする。
【００３８】
そして、図５に示すように、コントローラ１１から接触Ｉ／Ｆを介して受信されたコマンド応じた接触コマンド処理の実行中に、ＣＬＦ１２から非接触Ｉ／Ｆを介してコマンドが受信された場合、接触コマン処理は一時停止され、接触コマン処理に対応する計測中フラグが“１”にセットされる。このとき、タイマー１３ｅによる時間のカウントが開始（計測開始）される。そして、タイマー１３ｅによる設定値までの時間のカウントが終了することで、タイマー１３ｅからの割込み信号が入力される度に、接触コマンド処理の論理タイマー値（接触コマンド処理に対応する論理タイマー値）が減算されていく。一方、図５に示すように、非接触Ｉ／Ｆを介してレスポンスが送信された場合、再送信処理に対応する計測中フラグが“１”にセットされる。そして、タイマー１３ｅからの割込み信号が入力される度に、再送信処理の論理タイマー値が減算されていく。
【００３９】
そして、再送信処理の論理タイマー値が“０”になった場合、当該再送信処理が実行され、再送信処理に対応する計測中フラグが“０”にセットされる。同様に、接触コマンド処理の論理タイマー値が“０”になった場合、当該接触コマンド処理が実行され、接触コマンド処理に対応する計測中フラグが“０”にセットされる。そして、再送信処理及び接触コマンド処理それぞれの計測中フラグが“０”にセットされた場合、タイマー１３ｅの時間のカウントが終了する。
【００４０】
なお、図５の例において、タイマー１３ｅよる設定値までの時間のカウントの途中に、再送信処理に対応する計測開始のタイミングが来る可能性がある。例えば、タイマー１３ｅが「３ｍｓ」までカウントした段階で、再送信処理に対応する計測開始のタイミングが来る場合が考えられる。この場合、再送信処理の開始までの再送信待機時間が短くなる可能性があるため、再送信処理の論理タイマー値は、本来設定される値（例えば「４」）よりも大きい値（例えば、「５」）に設定される。例えば、再送信処理に対応する計測中フラグが“１”にセットされてから２０ｍｓ〜２５ｍｓの間で再送信処理が実行される。これにより、再送信待機時間が短縮されてしまうことを回避することができる。
【００４１】
以上説明したように、本実施形態によれば、ＵＩＭ１３は、タイマー１３ｅの設定値及び管理時間に基づいて、時間管理が必要な処理ごとに論理タイマー値を設定し、タイマー１３ｅから割込み信号が入力される度に、それぞれの処理に対応する論理タイマー値を減算または加算し、当該論理タイマー値が所定値になった場合に、当該論理タイマー値に対応する処理を実行するように構成したので、時間管理が必要な処理の数が、利用可能なタイマーの数より多い場合であっても、これらの処理ごとに時間管理を行うことができる。つまり、ＩＣチップにおけるハードウェアの制約や別の目的でタイマーが使用されているなどの理由から利用可能なタイマーの数が制限されている場合であっても、これらの処理ごとに時間管理を行うことができる。
【符号の説明】
【００４２】
１  携帯端末
１１  コントローラ
１２  ＣＬＦ
１３  ＵＩＭ
１３ａ  ＣＰＵ
１３ｂ  ＲＡＭ
１３ｃ  ＲＯＭ
１３ｄ  不揮発性メモリ
１３ｅ  タイマー
１３ｆ  Ｉ／Ｏ回路
１３ｇ  バス
【図１】
2015022649.tif 000003
【図２】
2015022649.tif 000004
【図３】
2015022649.tif 000005
【図４】
2015022649.tif 000006
【図５】
2015022649.tif 000007