JP6221454B2 - Processing device, IC card, processing method, and processing program - Google Patents
Processing device, IC card, processing method, and processing program Download PDFInfo
- Publication number
- JP6221454B2 JP6221454B2 JP2013151985A JP2013151985A JP6221454B2 JP 6221454 B2 JP6221454 B2 JP 6221454B2 JP 2013151985 A JP2013151985 A JP 2013151985A JP 2013151985 A JP2013151985 A JP 2013151985A JP 6221454 B2 JP6221454 B2 JP 6221454B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- timer value
- processing
- logical timer
- logical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims description 4
- 238000000034 method Methods 0.000 claims description 158
- 230000004044 response Effects 0.000 claims description 16
- 238000005259 measurement Methods 0.000 description 13
- 230000006854 communication Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 230000015654 memory Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Description
本発明は、複数のインターフェースを有するICカード等の技術分野に関する。 The present invention relates to a technical field such as an IC card having a plurality of interfaces.
近年、接触通信用のインターフェースと非接触通信用のインターフェースを有するICカードが知られている(例えば、特許文献1参照)。このようなICカードに搭載されたICチップは、それぞれのインターフェースを介して入力されるそれぞれのコマンドに応じた処理を実行するようになっている。 In recent years, an IC card having an interface for contact communication and an interface for non-contact communication is known (for example, see Patent Document 1). The IC chip mounted on such an IC card executes processing according to each command input via each interface.
ところで、上述したICチップにおいて、一般に、接触通信用のインターフェースの処理及び非接触通信用のインターフェースの処理には、例えば、ある一定時間が経過した段階で開始する必要がある処理が含まれる。このような処理は、ICチップに搭載されたタイマーが用いられて時間管理が行われる。例えば、ICチップにおいて1つの時間管理を行う場合、当該時間管理のために1つのタイマーが専用に割り当てられる。そのため、ICチップ内で時間管理を行う項目が多くなると、その時間管理の数分のタイマーが必要となる。しかしながら、ICチップではリソースの問題もあり、タイマーの数がその時間管理の数分だけ潤沢に提供することが困難なことがある。 By the way, in the above-described IC chip, in general, the processing of the interface for contact communication and the processing of the interface for non-contact communication include, for example, processing that needs to be started after a certain period of time has passed. Such processing is time-controlled using a timer mounted on the IC chip. For example, when one time management is performed in the IC chip, one timer is assigned exclusively for the time management. For this reason, when the number of items for time management in the IC chip increases, timers corresponding to the time management are required. However, there is a problem of resources in the IC chip, and it may be difficult to provide enough timers for the time management.
そこで、本発明は、上記点等に鑑みてなされたものであり、時間管理が必要な処理の数が、利用可能なタイマーの数より多い場合であっても、これらの処理ごとに時間管理を行うことが可能な処理装置、処理方法、及び処理プログラムを提供することを目的とする。 Therefore, the present invention has been made in view of the above points, and even when the number of processes requiring time management is larger than the number of available timers, time management is performed for each of these processes. It is an object to provide a processing apparatus, a processing method, and a processing program that can be performed.
上記課題を解決するために、請求項1に記載の発明は、外部とのインターフェースを複数有し、それぞれの前記インターフェースを介して受信されるそれぞれのコマンドに応じた処理を実行する処理装置であって、それぞれの前記処理には管理時間が設定されており、それぞれの前記処理に設定された前記管理時間の公約数である設定値まで時間をカウントする度に信号を出力するタイマーと、前記設定値と前記管理時間とに基づいて、前記処理ごとの論理タイマー値を設定する設定手段と、前記タイマーから前記信号が入力される度に、それぞれの前記処理に対応する前記論理タイマー値を減算または加算する演算手段と、前記演算手段により前記論理タイマー値が所定値になった場合に、当該論理タイマー値に対応する前記処理を実行する実行手段と、を備え、第1の前記処理に対応する前記論理タイマー値の減算または加算の開始タイミングは、特定の前記インターフェースを介してコマンドが受信された時点であり、第2の前記処理に対応する前記論理タイマー値の減算または加算の開始タイミングは、前記特定の前記インターフェースを介して前記コマンドに対するレスポンスが送信された時点であることを特徴とする。 In order to solve the above-described problem, the invention described in claim 1 is a processing device that has a plurality of interfaces with the outside and executes processing according to each command received via each of the interfaces. In addition, a management time is set for each of the processes, a timer that outputs a signal every time the time is counted up to a set value that is a common divisor of the management time set for each of the processes, and the setting Setting means for setting a logical timer value for each process based on the value and the management time; and each time the signal is input from the timer, the logical timer value corresponding to each process is subtracted or An arithmetic means for adding, and when the logical timer value reaches a predetermined value by the arithmetic means, the processing corresponding to the logical timer value is executed. Includes execution means, wherein the start timing of the subtraction or addition of the logical timer value corresponding to a first of the processing is the time of the command through the specific said interface is received, the second of the processing start timing of the subtraction or addition of the corresponding logical timer value is characterized when der Rukoto the response is sent to the command through the specific of the interface.
請求項2に記載の発明は、請求項1に記載の処理装置において、前記設定手段は、それぞれの前記処理に設定された前記管理時間を前記設定値で割ることで得た値を前記論理タイマー値として設定することを特徴とする。
The invention according to
請求項3に記載の発明は、請求項1または2に記載の処理装置において、前記管理時間は、前記処理に応じた基準時点から当該処理が開始または再開されるまでの時間であることを特徴とする。 According to a third aspect of the present invention, in the processing apparatus according to the first or second aspect , the management time is a time from the reference time point according to the processing to the start or resumption of the processing. And
請求項4に記載の発明は、請求項1乃至3の何れか一項に記載の処理装置において、前記演算手段は、前記論理タイマー値を1減算し、前記実行手段は、前記論理タイマー値が0になった場合に、当該論理タイマー値に対応する前記処理を実行することを特徴とする。 According to a fourth aspect of the present invention, in the processing device according to any one of the first to third aspects, the arithmetic means subtracts 1 from the logical timer value, and the execution means determines that the logical timer value is When it becomes 0, the processing corresponding to the logical timer value is executed.
請求項5に記載のICカードの発明は、外部とのインターフェースを複数有し、それぞれの前記インターフェースを介して受信されるそれぞれのコマンドに応じた処理を実行するICカードであって、それぞれの前記処理には管理時間が設定されており、それぞれの前記処理に設定された前記管理時間の公約数である設定値まで時間をカウントする度に信号を出力するタイマーと、前記設定値と前記管理時間とに基づいて、前記処理ごとの論理タイマー値を設定する設定手段と、前記タイマーから前記信号が入力される度に、それぞれの前記処理に対応する前記論理タイマー値を減算または加算する演算手段と、前記演算手段により前記論理タイマー値が所定値になった場合に、当該論理タイマー値に対応する前記処理を実行する実行手段と、を備え、第1の前記処理に対応する前記論理タイマー値の減算または加算の開始タイミングは、特定の前記インターフェースを介してコマンドが受信された時点であり、第2の前記処理に対応する前記論理タイマー値の減算または加算の開始タイミングは、前記特定の前記インターフェースを介して前記コマンドに対するレスポンスが送信された時点であることを特徴とする。請求項6に記載の発明は、外部とのインターフェースを複数有し、且つ設定値まで時間をカウントする度に信号を出力するタイマーを備える処理装置が、それぞれの前記インターフェースを介して受信されるそれぞれのコマンドに応じた処理を実行する処理方法において、それぞれの前記処理には管理時間が設定されており、それぞれの前記処理に設定された前記管理時間の公約数である設定値と前記管理時間とに基づいて、前記処理ごとの論理タイマー値を設定するステップと、前記タイマーから前記信号が入力される度に、それぞれの前記処理に対応する前記論理タイマー値を減算または加算するステップと、前記論理タイマー値が所定値になった場合に、当該論理タイマー値に対応する前記処理を実行するステップと、を含み、第1の前記処理に対応する前記論理タイマー値の減算または加算の開始タイミングは、特定の前記インターフェースを介してコマンドが受信された時点であり、第2の前記処理に対応する前記論理タイマー値の減算または加算の開始タイミングは、前記特定の前記インターフェースを介して前記コマンドに対するレスポンスが送信された時点であることを特徴とする。 The invention of the IC card according to claim 5 is an IC card having a plurality of interfaces with the outside, and executing processing in accordance with each command received via each of the interfaces. A management time is set for the process, a timer that outputs a signal every time the time is counted up to a set value that is a common divisor of the management time set for each of the processes, the set value, and the management time And setting means for setting a logical timer value for each process, and an arithmetic means for subtracting or adding the logical timer value corresponding to each of the processes each time the signal is input from the timer; Execution means for executing the processing corresponding to the logical timer value when the logical timer value becomes a predetermined value by the arithmetic means; Wherein the start timing of the subtraction or addition of the logical timer value corresponding to a first of the processing is the time of the command through the specific said interface received, the logic corresponding to a second of said processing The start timing of the subtraction or addition of the timer value is a time when a response to the command is transmitted through the specific interface . According to the sixth aspect of the present invention, each of the processing devices having a plurality of interfaces with the outside and including a timer that outputs a signal every time the time is counted up to a set value is received via each of the interfaces. In the processing method for executing the process according to the command, a management time is set for each of the processes, a set value that is a common divisor of the management time set for each of the processes, and the management time, A logical timer value for each of the processes based on: a step of subtracting or adding the logical timer value corresponding to each of the processes each time the signal is input from the timer; when the timer value reaches a predetermined value, and executing the processing corresponding to the logical timer value, only contains the first The start timing of the subtraction or addition of the logical timer value corresponding to the processing is the time when the command is received via the specific interface, and the subtraction or addition of the logical timer value corresponding to the second processing is performed The start timing is the time when a response to the command is transmitted through the specific interface .
請求項7に記載の発明は、外部とのインターフェースを複数有し、且つ設定値まで時間をカウントする度に信号を出力するタイマーを備える処理装置に含まれるコンピュータに、それぞれの前記インターフェースを介して受信されるそれぞれのコマンドに応じた処理を実行させる処理プログラムにおいて、それぞれの前記処理には管理時間が設定されており、それぞれの前記処理に設定された前記管理時間の公約数である設定値と前記管理時間とに基づいて、前記処理ごとの論理タイマー値を設定するステップと、前記タイマーから前記信号が入力される度に、それぞれの前記処理に対応する前記論理タイマー値を減算または加算するステップと、前記論理タイマー値が所定値になった場合に、当該論理タイマー値に対応する前記処理を実行するステップと、を実行させ、第1の前記処理に対応する前記論理タイマー値の減算または加算の開始タイミングは、特定の前記インターフェースを介してコマンドが受信された時点であり、第2の前記処理に対応する前記論理タイマー値の減算または加算の開始タイミングは、前記特定の前記インターフェースを介して前記コマンドに対するレスポンスが送信された時点であることを特徴とする。 According to a seventh aspect of the present invention, there is provided a computer included in a processing apparatus having a plurality of interfaces with the outside and having a timer that outputs a signal each time the time is counted up to a set value via each of the interfaces. In a processing program for executing processing according to each received command, a management time is set for each of the processes, and a set value that is a common divisor of the management time set for each of the processes, Setting a logical timer value for each process based on the management time; and subtracting or adding the logical timer value corresponding to each process each time the signal is input from the timer. And when the logical timer value reaches a predetermined value, the processing corresponding to the logical timer value is executed. That the step is executed, the start timing of the subtraction or addition of the logical timer value corresponding to a first of the processing is the time of the command through the specific said interface is received, a second of said processing The start timing of the subtraction or addition of the logical timer value corresponding to is the time when a response to the command is transmitted via the specific interface .
本発明によれば、時間管理が必要な処理の数が、利用可能なタイマーの数より多い場合であっても、これらの処理ごとに時間管理を行うことができる。 According to the present invention, even when the number of processes requiring time management is larger than the number of available timers, time management can be performed for each of these processes.
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下に説明する実施形態は、携帯端末に対して本発明を適用した場合の実施の形態である。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In addition, embodiment described below is embodiment at the time of applying this invention with respect to a portable terminal.
先ず、図1を参照して、本実施形態に係る携帯端末の構成及び機能概要について説明する。図1は、本実施形態に係る携帯端末の概要構成例を示すブロック図である。図1に示すように、携帯端末1は、携帯端末1の通信機能等を担うコントローラ11、CLF(Contactless Front End)12、及びUIM(User Identity Module)13等を備えて構成されている。なお、携帯端末1には、携帯電話機やスマートホン等を適用できる。コントローラ11は、図示しないが、CPU(Central Processing Unit)、各種プログラム及びデータを記憶する不揮発性メモリ(例えばフラッシュメモリ等)、データを一時記憶するRAM、UIM13との間のインターフェースを担うI/Oポート等を備えている。コントローラ11は、UIM13との間でインターフェースを介して通信可能になっている。そして、コントローラ11は、携帯端末1の通信処理(移動体通信網やインターネットを介して行われる通信)や携帯端末1のユーザからの操作キーを介した操作指示に応じて各種処理を実行する。このような処理の過程で、コントローラ11は、インターフェースを介してUIM13へコマンドを出力する。
First, with reference to FIG. 1, the configuration and functional overview of the mobile terminal according to the present embodiment will be described. FIG. 1 is a block diagram illustrating a schematic configuration example of a mobile terminal according to the present embodiment. As shown in FIG. 1, the mobile terminal 1 includes a
CLF12は、NFC(Near Field Communication)技術を採用した非接触通信を行う非接触型ICチップであり、図示しないが、CPU、各種プログラム及びデータを記憶する不揮発性メモリ、データを一時記憶するRAM、UIM13との間のインターフェースを担うI/Oポート(SWIO)等を備えている。CLF12は、非接触のフィールド内で非接触リーダ・ライタ(R/W)2との間で所定の通信方式に準じた各種信号の送受信を行うためのアンテナ12aに接続されている。そして、ユーザが携帯端末1を非接触リーダ・ライタ2に翳すと、CLF12は、非接触リーダ・ライタ2から送信されたコマンドを、インターフェースを介してUIM13へ送信する。
The CLF 12 is a non-contact type IC chip that performs non-contact communication using NFC (Near Field Communication) technology, and although not shown, a CPU, a non-volatile memory that stores various programs and data, a RAM that temporarily stores data, An I / O port (SWIO), etc., that serves as an interface with the UIM 13 is provided. The
UIM13は、外部とのインターフェースを複数備え、それぞれのインターフェースを介して受信されるそれぞれのコマンドに応じた処理を実行する接触型ICチップ(本発明の処理装置の一例)である。なお、UIM13は、ICカードに搭載されて携帯端末1内に装着されてもよいし、携帯端末1の回路基板上に直接組み込んで構成するようにしてもよい。図2は、UIM13の概要構成例を示す図である。図2に示すように、UIM13は、CPU13a、RAM13b、ROM13c、不揮発性メモリ13d、タイマー13e、及びI/O回路13f等を備え、これらの構成要素はバス13gに接続される。なお、不揮発性メモリ13dは、フラッシュメモリまたはEEPROM(Electrically Erasable Programmable Read-Only Memory)である。ROM13cは、UIM13に設けられない場合もある。
The UIM 13 is a contact IC chip (an example of a processing apparatus according to the present invention) that includes a plurality of interfaces with the outside and executes processing according to each command received through each interface. The UIM 13 may be mounted on the IC card and mounted in the mobile terminal 1 or may be configured by being directly incorporated on the circuit board of the mobile terminal 1. FIG. 2 is a diagram illustrating a schematic configuration example of the
CPU13aは、複数のインターフェースを介して受信されるそれぞれのコマンドに応じた処理を実行する。RAM13bは、CPU13aによる作業用のメモリである。ROM13cまたは不揮発性メモリ13dは、オペレーティングシステム(OS)、及びアプリケーションプログラム等を記憶する。アプリケーションプログラムには、本発明の処理プログラムが含まれる。CPU13aは、本発明の処理プログラムに従って設定手段、演算手段、及び実行手段として機能する。CPU13aにより実行される処理には管理時間が設定され、それぞれの管理時間の少なくとも一部が重複するようになっている。ここで、管理時間は、それぞれの処理に応じた基準時点(例えば、コマンド受信時点やレスポンス送信時点など)から当該処理が開始または再開されるまでの時間である。或いは、管理時間は、処理の開始から終了までの制限時間であってもよい。例えば、処理A,処理B,処理Cがある場合、処理Aの管理時間は、「30ms」であり、処理Bの管理時間は、「12ms」であり、処理Cの管理時間は、「4ms」であるというように、処理ごとに異なる。
The
タイマー13eは、ハードウェアにより構成された物理タイマーであり、時間をカウント(計測)するタイマー機能を有する。そして、タイマー13eは、予め設定された設定値(例えば、1ms)まで時間をカウントする度(言い換えれば、設定値までの計測が終了するたび)に、割込み信号をCPU13aへ出力する。
The timer 13e is a physical timer configured by hardware and has a timer function for counting (measuring) time. The timer 13e outputs an interrupt signal to the
I/O回路13fは、例えばISO/IEC7816等によって定められた、C1〜C8の8個の端子を有する。ここで、C1端子は電源端子(VCC)であり、C5端子はグランド端子(GND)である。C2端子は、リセット端子(RST)であり、コントローラ11からのリセットを入力するために用いられる。C3端子は、クロック端子(CLK)であり、コントローラ11からのクロックを入力するために用いられる。C7端子は、コントローラ11からのコマンドを入力するために用いられ、コントローラ11との間の接触通信用のインターフェース(以下、「接触I/F」という)を担う。C6端子は、CLF12からのコマンドを入力するために用いられ、CLF12との間の非接触通信用のインターフェース(以下、「非接触I/F」という)を担う。なお、UIM13とCLF12との間のインターフェースには、例えばSWP(Single Wire Protocol)が適用される。
The I / O circuit 13f has eight terminals C1 to C8 defined by, for example, ISO / IEC7816. Here, the C1 terminal is a power supply terminal (VCC), and the C5 terminal is a ground terminal (GND). The C2 terminal is a reset terminal (RST) and is used for inputting a reset from the
図3(A)は、管理時間の例として優先処理時間を示す図である。図3(A)に示すように、コントローラ11から接触I/Fを介して受信されたコマンド応じた処理(以下、「接触コマンド処理」という)の実行中に、CLF12から非接触I/Fを介してコマンドが受信された場合、接触コマンド処理は一時停止され、非接触I/Fを介して受信されたコマンドに応じた処理(以下、「非接触コマンド処理」がという)が優先処理時間中に行われ、当該優先処理時間経過後に接触コマンド処理が再開される。このような優先処理時間は、時間管理される必要がある。
FIG. 3A is a diagram illustrating priority processing time as an example of management time. As shown in FIG. 3A, the non-contact I / F is transmitted from the
図3(B)は、管理時間の例として再送信待機時間を示す図である。SWPにおいては、非接触I/Fを介してデータ(例えば、コマンドやレスポンス)が受信された場合、受信が行われたことを通知するためにAck(受信通知)を送信元へ返信するように定義されている。そのため、図3(B)に示すように、非接触I/Fを介してレスポンスが送信された後、レスポンス(Ackの送信)を再送信待機時間だけ待ち、この時間内にAckが受信されない場合、再送信待機時間経過後に、非接触I/Fを介してレスポンスを再送信する再送信処理が行われる。このような再送信待機時間は、時間管理される必要がある。 FIG. 3B is a diagram illustrating retransmission waiting time as an example of management time. In SWP, when data (for example, a command or a response) is received via a non-contact I / F, an Ack (reception notification) is returned to the transmission source in order to notify that the reception has been performed. Is defined. Therefore, as shown in FIG. 3B, after a response is transmitted through the non-contact I / F, the response (transmission of Ack) is waited for the retransmission waiting time, and Ack is not received within this time. After the retransmission waiting time has elapsed, a retransmission process is performed in which the response is retransmitted via the non-contact I / F. Such retransmission waiting time needs to be managed in time.
なお、ISO7816では、コマンドの受信から所定時間内にレスポンスを返せないときは、待ち時間延長要求を非接触I/Fを介して返信する延長要求処理を行うように定められている。上記所定時間もまた、時間管理される必要がある。 In ISO7816, when a response cannot be returned within a predetermined time from the reception of a command, it is determined to perform an extension request process for returning a waiting time extension request via a non-contact I / F. The predetermined time also needs to be managed.
本実施形態では、CPU13aは、タイマー13eの設定値及び管理時間に基づいて、時間管理が必要な処理ごとに論理タイマー値を設定する。そして、CPU13aは、タイマー13eから割込み信号が入力される度に、それぞれの処理に対応する論理タイマー値を減算または加算し、当該論理タイマー値が所定値になった場合に、当該論理タイマー値に対応する処理を実行する。
In the present embodiment, the
次に、図4を参照して、CPU13aにおける処理例について説明する。
Next, a processing example in the
図4(A)は、設定処理の一例を示す図であり、図4(B)は、割込み処理の一例を示す図である。なお、図4の例では、管理時間が互いに異なる処理A、処理B、及び処理Cを例にとるものとする。図4(A)に示す処理は、例えば携帯端末1の電源がオンになった場合に開始される。図4(A)に示すステップS1では、CPU13aは、タイマー13eの設定値を設定する。例えば、処理A、処理B、及び処理Cそれぞれに設定された管理時間の公約数が設定値として設定される。例えば、処理Aの管理時間は「30ms」であり、処理Bの管理時間は「12ms」であり、処理Cの管理時間は「4ms」である場合、設定値は、これらの管理時間の公約数である「1ms」と「2ms」の何れかの値となる。ここで、当該公約数のうち小さい方(例えば「1ms」)に設定すれば、計測精度を高めることができる。一方、当該公約数のうち大きい方(例えば「2ms」:最大公約数)に設定すれば、タイマー13eからの割込みを減らし、CPU13aの負荷を低減することができる。
FIG. 4A is a diagram illustrating an example of setting processing, and FIG. 4B is a diagram illustrating an example of interrupt processing. In the example of FIG. 4, process A, process B, and process C having different management times are taken as examples. The process illustrated in FIG. 4A is started when, for example, the mobile terminal 1 is turned on. In step S1 shown in FIG. 4A, the
次いで、CPU13aは、処理A、処理B、及び処理Cそれぞれに対応する論理タイマー値を設定(例えば、上述した処理プログラムの変数として保持)し(ステップS2)、設定処理を終了する。例えば、CPU13aは、処理A、処理B、及び処理Cそれぞれに設定された管理時間を設定値で割ることで得た値を論理タイマー値として設定する。例えば、設定値が「2ms」である場合、処理Aの論理タイマー値は「15」になり、処理Bの論理タイマー値は「6」になり、処理Cの論理タイマー値は「2」になる。
Next, the
そして、図4(A)に示す設定処理の終了後、例えば、接触I/Fまたは非接触I/Fを介してコマンドが受信されると、CPU13aは、タイマー13eにカウント開始指令を与える。一方、タイマー13eは、上記時間カウント開始指令に応じて、時間のカウントを開始し、上記設定値までの時間のカウントが終了した場合、割込み信号をCPU13aへ出力し、カウント値を初期化する。そして、CPU13aは、タイマー13eから割込み信号が入力されると、図4(B)に示す処理を開始する。
Then, after completion of the setting process shown in FIG. 4A, for example, when a command is received via the contact I / F or the non-contact I / F, the
図4(B)に示すステップS11では、CPU13aは、処理Aの実行待機中であるか否かを判定する。例えば、処理Aに対応する計測中フラグが“1”であれば、処理Aの実行待機中であると判定される。なお、計測中フラグは、処理Aに対応するコマンドが受信されたときに“0”から“1”にセットされる(処理B及び処理Cについても同様)。そして、処理Aの実行待機中であると判定された場合(ステップS11:YES)、ステップS12へ進む。一方、処理Aの実行待機中でないと判定された場合(ステップS11:NO)、ステップS15へ進む。
In step S11 shown in FIG. 4B, the
ステップS12では、CPU13aは、処理Aの論理タイマー値を減算(例えば、1減算)する。次いで、CPU13aは、当該論理タイマー値が“0”になったか否かを判定する(ステップS13)。処理Aの論理タイマー値が“0”になっていないと判定された場合(ステップS13:NO)、ステップS15へ進む。一方、処理Aの論理タイマー値が“0”になったと判定された場合(ステップS13:YES)、CPU13aは、処理Aを実行し(ステップS14)、ステップS15へ進む。
In step S12, the
ステップS15では、CPU13aは、処理Bの実行待機中であるか否かを判定する。例えば、処理Bに対応する計測中フラグが“1”であれば、処理Bの実行待機中であると判定される。そして、処理Bの実行待機中であると判定された場合(ステップS15:YES)、ステップS16へ進む。一方、処理Bの実行待機中でないと判定された場合(ステップS15:NO)、ステップS19へ進む。
In step S15, the
ステップS16では、CPU13aは、処理Bの論理タイマー値を減算する。次いで、CPU13aは、処理Bの論理タイマー値が“0”になったか否かを判定する(ステップS17)。処理Bの論理タイマー値が“0”になっていないと判定された場合(ステップS17:NO)、ステップS19へ進む。一方、処理Bの論理タイマー値が“0”になったと判定された場合(ステップS17:YES)、CPU13aは、処理Bを実行し(ステップS18)、ステップS19へ進む。
In step S16, the
ステップS19では、CPU13aは、処理Cの実行待機中であるか否かを判定する。例えば、処理Cに対応する計測中フラグが“1”であれば、処理Cの実行待機中であると判定される。そして、処理Cの実行待機中であると判定された場合(ステップS19:YES)、ステップS20へ進む。一方、処理Cの実行待機中でないと判定された場合(ステップS19:NO)、ステップS23へ進む。
In step S19, the
ステップS20では、CPU13aは、処理Cの論理タイマー値を減算する。次いで、CPU13aは、処理Cの論理タイマー値が“0”になったか否かを判定する(ステップS21)。処理Cの論理タイマー値が“0”になっていないと判定された場合(ステップS21:NO)、ステップS23へ進む。一方、処理Cの論理タイマー値が“0”になったと判定された場合(ステップS21:YES)、CPU13aは、処理Cを実行し(ステップS22)、ステップS23へ進む。
In step S20, the
ステップS23では、CPU13aは、タイマー13eにカウント開始指令を与え、図4(B)に示す処理を終了する。これにより、タイマー13eは、時間のカウントを開始し、上記設定値までの時間のカウントが終了した場合、割込み信号をCPU13aへ出力する。こうして、図4(B)に示す処理が再び開始される。
In step S23, the
図5は、時間管理が必要な処理として接触コマンド処理と再送信処理を例にとった場合の動作例を示す図である。図5の例では、接触コマンド処理に設定された優先処理時間は「100ms」であり、再送信処理に設定された再送信待機時間は「20ms」であるとする。この場合、これらの時間の公約数は、「1ms」、「2ms」、「5ms」、「20ms」であるが、タイマー13eの設定値が大きくなると、接触コマンド処理と再送信処理に対応する計測開始のタイミングによってずれが大きくなるため、許容できる範囲内で設定されることが望ましい。ここでは、タイマー13eの設定値が「5ms」として設定され、接触コマンド処理の論理タイマー値が「20」に、再送信処理の論理タイマー値が「4」に、それぞれ設定されるものとする。 FIG. 5 is a diagram illustrating an operation example when contact command processing and retransmission processing are taken as examples of processing that requires time management. In the example of FIG. 5, it is assumed that the priority processing time set for the contact command process is “100 ms” and the retransmission standby time set for the retransmission process is “20 ms”. In this case, the common divisors of these times are “1 ms”, “2 ms”, “5 ms”, and “20 ms”, but when the set value of the timer 13e increases, the measurement corresponding to the contact command processing and the retransmission processing is performed. Since the deviation increases depending on the start timing, it is desirable to set within an allowable range. Here, it is assumed that the set value of the timer 13e is set to “5 ms”, the logical timer value of the contact command process is set to “20”, and the logical timer value of the retransmission process is set to “4”.
そして、図5に示すように、コントローラ11から接触I/Fを介して受信されたコマンド応じた接触コマンド処理の実行中に、CLF12から非接触I/Fを介してコマンドが受信された場合、接触コマンド処理は一時停止され、接触コマンド処理に対応する計測中フラグが“1”にセットされる。このとき、タイマー13eによる時間のカウントが開始(計測開始)される。そして、タイマー13eによる設定値までの時間のカウントが終了することで、タイマー13eからの割込み信号が入力される度に、接触コマンド処理の論理タイマー値(接触コマンド処理に対応する論理タイマー値)が減算されていく。一方、図5に示すように、非接触I/Fを介してレスポンスが送信された場合、再送信処理に対応する計測中フラグが“1”にセットされる。そして、タイマー13eからの割込み信号が入力される度に、再送信処理の論理タイマー値が減算されていく。
As shown in FIG. 5, when a command is received from the
そして、再送信処理の論理タイマー値が“0”になった場合、当該再送信処理が実行され、再送信処理に対応する計測中フラグが“0”にセットされる。同様に、接触コマンド処理の論理タイマー値が“0”になった場合、当該接触コマンド処理が実行され、接触コマンド処理に対応する計測中フラグが“0”にセットされる。そして、再送信処理及び接触コマンド処理それぞれの計測中フラグが“0”にセットされた場合、タイマー13eの時間のカウントが終了する。 Then, when the logical timer value of the retransmission process becomes “0”, the retransmission process is executed, and the measuring flag corresponding to the retransmission process is set to “0”. Similarly, when the logical timer value of the touch command process becomes “0”, the touch command process is executed, and the measuring flag corresponding to the touch command process is set to “0”. Then, when the measurement flag for each of the retransmission process and the contact command process is set to “0”, the time count of the timer 13e ends.
なお、図5の例において、タイマー13eよる設定値までの時間のカウントの途中に、再送信処理に対応する計測開始のタイミングが来る可能性がある。例えば、タイマー13eが「3ms」までカウントした段階で、再送信処理に対応する計測開始のタイミングが来る場合が考えられる。この場合、再送信処理の開始までの再送信待機時間が短くなる可能性があるため、再送信処理の論理タイマー値は、本来設定される値(例えば「4」)よりも大きい値(例えば、「5」)に設定される。例えば、再送信処理に対応する計測中フラグが“1”にセットされてから20ms〜25msの間で再送信処理が実行される。これにより、再送信待機時間が短縮されてしまうことを回避することができる。 In the example of FIG. 5, there is a possibility that the measurement start timing corresponding to the retransmission process comes in the middle of the time until the set value is set by the timer 13e. For example, there may be a case where the measurement start timing corresponding to the retransmission process comes when the timer 13e has counted up to “3 ms”. In this case, since the retransmission waiting time until the start of the retransmission process may be shortened, the logical timer value of the retransmission process is larger than the originally set value (for example, “4”) (for example, “5”). For example, the retransmission process is executed between 20 ms and 25 ms after the in-measurement flag corresponding to the retransmission process is set to “1”. Thereby, it is possible to avoid a reduction in retransmission waiting time.
以上説明したように、本実施形態によれば、UIM13は、タイマー13eの設定値及び管理時間に基づいて、時間管理が必要な処理ごとに論理タイマー値を設定し、タイマー13eから割込み信号が入力される度に、それぞれの処理に対応する論理タイマー値を減算または加算し、当該論理タイマー値が所定値になった場合に、当該論理タイマー値に対応する処理を実行するように構成したので、時間管理が必要な処理の数が、利用可能なタイマーの数より多い場合であっても、これらの処理ごとに時間管理を行うことができる。つまり、ICチップにおけるハードウェアの制約や別の目的でタイマーが使用されているなどの理由から利用可能なタイマーの数が制限されている場合であっても、これらの処理ごとに時間管理を行うことができる。
As described above, according to the present embodiment, the
1 携帯端末
11 コントローラ
12 CLF
13 UIM
13a CPU
13b RAM
13c ROM
13d 不揮発性メモリ
13e タイマー
13f I/O回路
13g バス
1
13 UIM
13a CPU
13b RAM
13c ROM
13d Non-volatile memory 13e Timer 13f I / O circuit 13g Bus
Claims (7)
それぞれの前記処理には管理時間が設定されており、
それぞれの前記処理に設定された前記管理時間の公約数である設定値まで時間をカウントする度に信号を出力するタイマーと、
前記設定値と前記管理時間とに基づいて、前記処理ごとの論理タイマー値を設定する設定手段と、
前記タイマーから前記信号が入力される度に、それぞれの前記処理に対応する前記論理タイマー値を減算または加算する演算手段と、
前記演算手段により前記論理タイマー値が所定値になった場合に、当該論理タイマー値に対応する前記処理を実行する実行手段と、
を備え、
第1の前記処理に対応する前記論理タイマー値の減算または加算の開始タイミングは、特定の前記インターフェースを介してコマンドが受信された時点であり、第2の前記処理に対応する前記論理タイマー値の減算または加算の開始タイミングは、前記特定の前記インターフェースを介して前記コマンドに対するレスポンスが送信された時点であることを特徴とする処理装置。 A processing device having a plurality of interfaces with the outside and executing processing according to each command received via each of the interfaces,
A management time is set for each of the processes,
A timer that outputs a signal each time it counts to a set value that is a common divisor of the management time set for each of the processes;
Setting means for setting a logical timer value for each process based on the set value and the management time;
Arithmetic means for subtracting or adding the logical timer value corresponding to each of the processes each time the signal is input from the timer;
Execution means for executing the processing corresponding to the logical timer value when the logical timer value reaches a predetermined value by the arithmetic means;
Equipped with a,
The start timing of the subtraction or addition of the logical timer value corresponding to the first process is the time when a command is received through the specific interface, and the logical timer value corresponding to the second process is The processing apparatus according to claim 1, wherein the start timing of subtraction or addition is a time point when a response to the command is transmitted via the specific interface .
前記実行手段は、前記論理タイマー値が0になった場合に、当該論理タイマー値に対応する前記処理を実行することを特徴とする請求項1乃至3の何れか一項に記載の処理装置。 The arithmetic means subtracts 1 from the logical timer value,
The processing device according to claim 1, wherein the execution unit executes the processing corresponding to the logical timer value when the logical timer value becomes zero.
それぞれの前記処理には管理時間が設定されており、
それぞれの前記処理に設定された前記管理時間の公約数である設定値まで時間をカウントする度に信号を出力するタイマーと、
前記設定値と前記管理時間とに基づいて、前記処理ごとの論理タイマー値を設定する設定手段と、
前記タイマーから前記信号が入力される度に、それぞれの前記処理に対応する前記論理タイマー値を減算または加算する演算手段と、
前記演算手段により前記論理タイマー値が所定値になった場合に、当該論理タイマー値に対応する前記処理を実行する実行手段と、
を備え、
第1の前記処理に対応する前記論理タイマー値の減算または加算の開始タイミングは、特定の前記インターフェースを介してコマンドが受信された時点であり、第2の前記処理に対応する前記論理タイマー値の減算または加算の開始タイミングは、前記特定の前記インターフェースを介して前記コマンドに対するレスポンスが送信された時点であることを特徴とするICカード。 An IC card that has a plurality of interfaces with the outside and executes processing according to each command received via each of the interfaces,
A management time is set for each of the processes,
A timer that outputs a signal each time it counts to a set value that is a common divisor of the management time set for each of the processes;
Setting means for setting a logical timer value for each process based on the set value and the management time;
Arithmetic means for subtracting or adding the logical timer value corresponding to each of the processes each time the signal is input from the timer;
Execution means for executing the processing corresponding to the logical timer value when the logical timer value reaches a predetermined value by the arithmetic means;
Equipped with a,
The start timing of the subtraction or addition of the logical timer value corresponding to the first process is the time when a command is received through the specific interface, and the logical timer value corresponding to the second process is The IC card characterized in that the subtraction or addition start timing is a point in time when a response to the command is transmitted through the specific interface .
それぞれの前記処理には管理時間が設定されており、
それぞれの前記処理に設定された前記管理時間の公約数である設定値と前記管理時間とに基づいて、前記処理ごとの論理タイマー値を設定するステップと、
前記タイマーから前記信号が入力される度に、それぞれの前記処理に対応する前記論理タイマー値を減算または加算するステップと、
前記論理タイマー値が所定値になった場合に、当該論理タイマー値に対応する前記処理を実行するステップと、
を含み、
第1の前記処理に対応する前記論理タイマー値の減算または加算の開始タイミングは、特定の前記インターフェースを介してコマンドが受信された時点であり、第2の前記処理に対応する前記論理タイマー値の減算または加算の開始タイミングは、前記特定の前記インターフェースを介して前記コマンドに対するレスポンスが送信された時点であることを特徴とする処理方法。 A processing device having a plurality of interfaces with the outside and including a timer that outputs a signal each time the time is counted up to a set value executes processing corresponding to each command received via each of the interfaces In the processing method,
A management time is set for each of the processes,
Setting a logical timer value for each process based on a set value that is a common divisor of the management time set for each of the processes and the management time;
Subtracting or adding the logical timer value corresponding to each of the processes each time the signal is input from the timer;
Executing the processing corresponding to the logical timer value when the logical timer value reaches a predetermined value;
Only including,
The start timing of the subtraction or addition of the logical timer value corresponding to the first process is the time when a command is received through the specific interface, and the logical timer value corresponding to the second process is The subtraction or addition start timing is a time point when a response to the command is transmitted via the specific interface .
それぞれの前記処理には管理時間が設定されており、
それぞれの前記処理に設定された前記管理時間の公約数である設定値と前記管理時間とに基づいて、前記処理ごとの論理タイマー値を設定するステップと、
前記タイマーから前記信号が入力される度に、それぞれの前記処理に対応する前記論理タイマー値を減算または加算するステップと、
前記論理タイマー値が所定値になった場合に、当該論理タイマー値に対応する前記処理を実行するステップと、
を実行させ、
第1の前記処理に対応する前記論理タイマー値の減算または加算の開始タイミングは、特定の前記インターフェースを介してコマンドが受信された時点であり、第2の前記処理に対応する前記論理タイマー値の減算または加算の開始タイミングは、前記特定の前記インターフェースを介して前記コマンドに対するレスポンスが送信された時点であることを特徴とする処理プログラム。 A computer included in a processing device having a plurality of interfaces with the outside and having a timer that outputs a signal every time the set time is counted corresponds to each command received via each interface. In a processing program that executes processing,
A management time is set for each of the processes,
Setting a logical timer value for each process based on a set value that is a common divisor of the management time set for each of the processes and the management time;
Subtracting or adding the logical timer value corresponding to each of the processes each time the signal is input from the timer;
Executing the processing corresponding to the logical timer value when the logical timer value reaches a predetermined value;
Was executed,
The start timing of the subtraction or addition of the logical timer value corresponding to the first process is the time when a command is received through the specific interface, and the logical timer value corresponding to the second process is A processing program characterized in that the start timing of subtraction or addition is a point in time when a response to the command is transmitted via the specific interface .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013151985A JP6221454B2 (en) | 2013-07-22 | 2013-07-22 | Processing device, IC card, processing method, and processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013151985A JP6221454B2 (en) | 2013-07-22 | 2013-07-22 | Processing device, IC card, processing method, and processing program |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2015022649A JP2015022649A (en) | 2015-02-02 |
JP2015022649A5 JP2015022649A5 (en) | 2016-10-13 |
JP6221454B2 true JP6221454B2 (en) | 2017-11-01 |
Family
ID=52487006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013151985A Active JP6221454B2 (en) | 2013-07-22 | 2013-07-22 | Processing device, IC card, processing method, and processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6221454B2 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000259429A (en) * | 1999-03-11 | 2000-09-22 | Mitsubishi Electric Corp | Device and method for managing timer |
JP3863011B2 (en) * | 2001-11-29 | 2006-12-27 | シャープ株式会社 | Combination type IC card, control method therefor, and system program therefor |
-
2013
- 2013-07-22 JP JP2013151985A patent/JP6221454B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015022649A (en) | 2015-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3188065A1 (en) | Secure intelligent terminal device and information processing method | |
EP3115951A1 (en) | Relay device | |
WO2008146125A1 (en) | Method for processing application commands from physical channels using a portable electronic device and corresponding device and system | |
JP6221454B2 (en) | Processing device, IC card, processing method, and processing program | |
US20060095598A1 (en) | Method and apparatus of extending answer to reset and subsequent communications between a smart card and a chip card interface device | |
JP2012093857A (en) | Ic chip, memory initialization method for ic chip, processing program for ic chip, and portable terminal | |
JP5516323B2 (en) | IC chip, IC chip initialization method, IC chip processing program, portable terminal | |
JP5799754B2 (en) | IC chip, processing method in IC chip, IC chip processing program, IC card, and portable terminal | |
JP2008152525A (en) | Device equipped with function to output monitoring state and computer equipment | |
CN214751393U (en) | Microcontroller and computing system | |
JP6307938B2 (en) | IC chip, command execution method, and IC chip program | |
JP5724701B2 (en) | IC chip, processing method in IC chip, IC chip processing program, and portable terminal | |
JP5838713B2 (en) | IC chip, UIM, processing method in IC chip, IC chip processing program, and portable terminal | |
CN113412487A (en) | Communication system and communication method of communication system | |
JP6828246B2 (en) | Electronic information storage media, information processing methods, and information processing programs | |
JP2015125627A (en) | Ic card and mobile electronic device | |
JP2013069062A (en) | Ic card, portable electronic device, and self-diagnosis method of ic card | |
JP7206942B2 (en) | Electronic information storage medium, IC chip, initial setting method, and initial setting program | |
JP6717154B2 (en) | IC card | |
JP2006172271A (en) | Multi-application ic card, and program for ic card | |
JP6326835B2 (en) | Information processing apparatus, IC card, command processing method, and command processing program | |
JP2012033163A (en) | Communication apparatus, communication method and communication processing program | |
JP6819201B2 (en) | Electronic information storage medium, IC card, setting information transmission method, and setting information transmission program | |
JP2014182505A (en) | Ic card and portable electronic device | |
JP6201812B2 (en) | Information processing apparatus and information processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160530 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160826 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170317 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170418 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170613 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170905 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170918 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6221454 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |