携帯可能電子装置、及び携帯可能電子装置の処理システム
【課題】 エラーの原因を容易に特定することができる携帯可能電子装置、及び携帯可能電子装置の処理システムを提供する。
【解決手段】 一実施形態に係る携帯可能電子装置は、外部機器から送信されるコマンドを受信する受信部と、受信部により受信するコマンドを一時的に記憶する受信レジスタと、受信部によりコマンドの受信が正常に完了したか否か判断し、コマンドの受信が正常に完了したと判断した場合、コマンドを受信データとして記憶する第1の記憶部と、受信レジスタにより記憶されているコマンドに基づいて処理を行いレスポンスを生成するコマンド処理部と、コマンド処理部により生成された外部機器に送信するレスポンスを一時的に記憶する送信レジスタと、送信レジスタにより記憶されているレスポンスを外部機器に送信する送信部と、送信部によりレスポンスの送信が正常に完了したか否か判断し、レスポンスの送信が正常に完了したと判断した場合、レスポンスを送信データとして記憶する第2の記憶部と、を具備する。
【解決手段】 一実施形態に係る携帯可能電子装置は、外部機器から送信されるコマンドを受信する受信部と、受信部により受信するコマンドを一時的に記憶する受信レジスタと、受信部によりコマンドの受信が正常に完了したか否か判断し、コマンドの受信が正常に完了したと判断した場合、コマンドを受信データとして記憶する第1の記憶部と、受信レジスタにより記憶されているコマンドに基づいて処理を行いレスポンスを生成するコマンド処理部と、コマンド処理部により生成された外部機器に送信するレスポンスを一時的に記憶する送信レジスタと、送信レジスタにより記憶されているレスポンスを外部機器に送信する送信部と、送信部によりレスポンスの送信が正常に完了したか否か判断し、レスポンスの送信が正常に完了したと判断した場合、レスポンスを送信データとして記憶する第2の記憶部と、を具備する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、携帯可能電子装置、及び携帯可能電子装置の処理システムに関する。
【背景技術】
【0002】
一般的に、携帯可能電子装置として用いられるICカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたICモジュールとを備えている。ICモジュールは、ICチップを有している。ICチップは、電源が無い状態でもデータを保持することができるEEPROM(Electrically Erasable Programmable Read−Only Memory)またはフラッシュROMなどの不揮発性メモリと、種々の演算を実行するCPUとを有している。
【0003】
ICカードは、例えば、国際標準規格ISO/IEC7816に準拠したICカードである。ICカードは、携帯性に優れ、且つ、外部装置との通信及び複雑な演算処理を行う事ができる。また、偽造が難しい為、ICカードは、機密性の高い情報などを格納してセキュリティシステム、電子商取引などに用いられることが想定される。
【0004】
近年、ICカードに搭載されるICチップの高性能化に伴い、ICチップに記憶されている複数のアプリケーションを実行することができるICカードが実用化されている。このようなICカードは、専用のリーダライタを有する端末装置からコマンドを受信し、受信したコマンドに基づいてアプリケーションを実行する。これにより、ICカードは、種々の処理を実行することができる。ICカードは、アプリケーションの処理結果に基づいてレスポンスを生成し、生成したレスポンスを端末装置に送信する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2002−223518号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
端末装置は、ICカードから受け取るレスポンスに基づいて、ICカードの状態を認識することができる。また、端末装置は、ICカードにコマンドを送信してから、所定時間以内にレスポンスを受信できない場合、エラーが発生したと判断する。しかし、このような場合、端末装置は、ICカードに対して発信したコマンドが、ICカードに届いたのか否かを判断することができない。また、端末装置は、ICカードからレスポンスが送信されたか否かを判断することができない。この為、従来のICカードは、エラーの原因の特定が困難であるという課題がある。
【0007】
そこで、エラーの原因を容易に特定することができる携帯可能電子装置、及び携帯可能電子装置の処理システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
一実施形態に係る携帯可能電子装置は、外部機器から入力されるコマンドに応じて動作する携帯可能電子装置であって、前記外部機器から送信される前記コマンドを受信する受信部と、前記受信部により受信する前記コマンドを一時的に記憶する受信レジスタと、前記受信部により前記コマンドの受信が正常に完了したか否か判断し、前記コマンドの受信が正常に完了したと判断した場合、前記コマンドを受信データとして記憶する第1の記憶部と、前記受信レジスタにより記憶されている前記コマンドに基づいて処理を行いレスポンスを生成するコマンド処理部と、前記コマンド処理部により生成された前記外部機器に送信する前記レスポンスを一時的に記憶する送信レジスタと、前記送信レジスタにより記憶されている前記レスポンスを前記外部機器に送信する送信部と、前記送信部により前記レスポンスの送信が正常に完了したか否か判断し、前記レスポンスの送信が正常に完了したと判断した場合、前記レスポンスを送信データとして記憶する第2の記憶部と、を具備する。
【図面の簡単な説明】
【0009】
【図1】図1は、一実施形態に係るICカード処理システムの構成例について説明するための図である。
【図2】図2は、一実施形態に係るICカードの構成例について説明するための図である。
【図3】図3は、一実施形態に係るICカード処理システムによる処理の例について説明するための図である。
【図4】図4は、一実施形態に係るICカードによる処理の例について説明するための図である。
【図5】図5は、一実施形態に係るICカード処理システムによる処理の例について説明するための図である。
【図6】図6は、一実施形態に係るICカード処理システムによる処理の例について説明するための図である。
【図7】図7は、一実施形態に係るICカードによる処理の例について説明するための図である。
【図8】図8は、一実施形態に係るICカード処理システムによる処理の例について説明するための図である。
【図9】図9は、一実施形態に係るICカードによる処理の例について説明するための図である。
【図10】図10は、一実施形態に係るICカードの他の構成例について説明するための図である。
【図11】図11は、一実施形態に係るICカード処理システムによる処理の例について説明するための図である。
【図12】図12は、一実施形態に係るICカードによる処理の例について説明するための図である。
【図13】図13は、一実施形態に係るICカードによる処理の例について説明するための図である。
【発明を実施するための形態】
【0010】
以下、図面を参照しながら、一実施形態に係る携帯可能電子装置、及び携帯可能電子装置の処理システムについて詳細に説明する。
【0011】
本実施形態に係る端末装置10のカードリーダライタ17及びICカード20は、例えば、ETSI TS 102 613により規定されているSingle Wire Protocol(SWP)などの接触通信の機能、及びISO/IEC14443などにより規定されている非接触通信の機能の両方またはいずれかの機能を備える。これにより、カードリーダライタ17及びICカード20は、互いにデータの送受信を行うことができる。
【0012】
図1は、一実施形態に係るICカード処理システム1の構成例について示す。
ICカード処理システム1は、携帯可能電子装置(ICカード)20を処理する端末装置10と、ICカード20と、を備える。端末装置10とICカード20とは、上記したように接触通信、または非接触通信により互いに種々のデータを送受信する。なお、本実施形態では、端末装置10及びICカード20は、互いに接触通信によりデータの送受信を行うとして説明する。
【0013】
端末装置10は、CPU11、RAM12、ROM13、操作部15、表示部16、及びカードリーダライタ17を備える。CPU11、RAM12、ROM13、操作部15、表示部16、及びカードリーダライタ17は、それぞれバス19を介して互いに接続されている。
【0014】
CPU11は、端末装置10全体の制御を司る制御部として機能する。CPU11は、ROM13に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、CPU11は、カードリーダライタ17を介してICカード20とコマンド及びレスポンスの送受信を行う。
【0015】
RAM12は、ワーキングメモリとして機能する揮発性のメモリである。RAM12は、CPU11の処理中のデータなどを一時的に格納する。例えば、RAM12は、カードリーダライタ17を介して外部の機器と送受信するデータを一時的に格納する。また、RAM12は、CPU11が実行するプログラムを一時的に格納する。ROM13は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。
【0016】
操作部15は、例えば操作キーなどを備える。操作部15は、端末装置10の操作者により入力される操作に基づいて、操作信号を生成する。操作部15は、生成した操作信号をCPU11に入力する。
【0017】
表示部16は、CPU11、またはCPU11により制御されるグラフィック処理部から入力される表示信号に基づいて、種々の情報を表示する。なお、端末装置10は、操作部15と表示部16とが一体に形成されるタッチパネルを備える構成であってもよい。
【0018】
カードリーダライタ17は、ICカード20と通信を行うためのインターフェース装置である。カードリーダライタ17は、ICカード20が装着されるスロット18を備える。また、カードリーダライタ17は、ICカード20が備えるコンタクトパターンと接続される複数の接触端子を備える。
【0019】
スロット18にICカード20が装着される場合、カードリーダライタ17の複数の接触端子は、ICカード20のコンタクトパターンに接続される。これにより、端末装置10とICカード20とは電気的に接続される。カードリーダライタ17は、スロット18に装着されるICカード20に対して、電力の供給、クロックの供給、リセット信号の入力、及びデータの送受信などを行う。
【0020】
CPU11は、カードリーダライタ17によりICカード20に対して種々のコマンドを入力する。ICカード20は、例えば、カードリーダライタ17からデータの書き込みコマンドを受信した場合、受信したデータを内部の不揮発性メモリに書き込む処理を行う。
【0021】
また、CPU11は、ICカード20に読み取りコマンドを送信することにより、ICカード20からデータを読み出す。CPU11は、ICカード20から受信したデータに基づいて種々の処理を行う。
【0022】
図2は、図1に示すICカード20の構成例を示す。
図2に示すように、ICカード20は、カード状の本体と、本体内に内蔵されるICモジュール21を備えている。ICモジュール21は、ICチップ22を備える。
【0023】
ICチップ22は、送受信インターフェース23、CPU24、ROM25、RAM26、不揮発性メモリ27、電源入力部28、リセット信号入力部29、クロック入力部30を備える。
【0024】
送受信インターフェース23は、ICカード20に接続される外部機器(例えば端末装置10)との間で送受信するデータに対して符号化、復号、変調、及び復調などを行う。
【0025】
ICカード20が端末装置10との間で接触通信によりデータの送受信を行う構成である場合、送受信インターフェース23は、コンタクトパターンを備える。コンタクトパターンは、導電性を有する金属などによりICモジュール21の表面に形成される接触端子である。即ち、コンタクトパターンは、端末装置10と接触可能に形成されている。コンタクトパターンは、金属により形成される面が複数のエリアに区切られて形成される。区切られた各エリアは、それぞれコンタクトパターンの端子として機能する。
【0026】
また、送受信インターフェース23は、受信レジスタ23a、及び送信レジスタ23bを備える。受信レジスタ23a及び送信レジスタ23bは、一般的なレジスタであり、ICカード20が送受信するデータを一時的に格納する。即ち、受信レジスタ23aは、送受信インターフェース23を介して端末装置10から受信するデータを一時的に格納する。また、送信レジスタ23bは、送受信インターフェース23を介して端末装置10に送信するデータを一時的に格納する。
【0027】
CPU24は、ICカード20の全体の制御を司る。また、CPU24は、CPU24は、ROM25あるいは不揮発性メモリ27に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、CPU24は、端末装置10のカードリーダライタ17から受信したコマンドに応じて種々の処理を行い、処理結果に基づいて、レスポンスの生成を行なう。
【0028】
ROM25は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ROM25は、製造段階で制御プログラム及び制御データなどを記憶した状態でICカード20内に組み込まれる。即ち、ROM25に記憶される制御プログラム及び制御データは、予めICカード20の仕様に応じて組み込まれる。
【0029】
RAM26は、ワーキングメモリとして機能する揮発性のメモリである。RAM26は、CPU24の処理中のデータなどを一時的に格納する。例えば、RAM26は、CPU24が実行するプログラムを一時的に格納する。
【0030】
不揮発性メモリ27は、例えば、EEPROMあるいはフラッシュROMなどのデータの書き込み及び書換えが可能な不揮発性のメモリにより構成される。不揮発性メモリ27は、ICカード20の運用用途に応じて制御プログラム及び種々のデータを格納する。
【0031】
たとえば、不揮発性メモリ27では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。CPU24は、不揮発性メモリ27、または、ROM25に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【0032】
また、不揮発性メモリ27は、受信データ記憶領域27a、及び送信データ記憶領域27bを備える。受信データ記憶領域27a及び送信データ記憶領域27bは、データを記憶する記憶領域である。
【0033】
CPU24は、送受信インターフェース23により端末装置10からコマンドを受信する場合、端末装置10から送られたコマンドの受信が正常に完了したか否かを判断する。端末装置10から送られたコマンドの受信が正常に完了したと判断した場合、CPU24は、受信したコマンドを受信データとして受信データ記憶領域27aに記憶する。
【0034】
具体的には、端末装置10から送られたコマンドの受信が正常に完了したと判断した場合、CPU24は、受信レジスタ23aにより格納されているコマンドを受信データ記憶領域27aにコピーする。
【0035】
また、CPU24は、送受信インターフェース23により端末装置10に対してレスポンスを送信する場合、レスポンスの送信が正常に完了したか否かを判断する。レスポンスの送信が正常に完了したと判断した場合、CPU24は送信したレスポンスを送信データとして送信データ記憶領域27bに記憶する。
【0036】
具体的には、レスポンスの送信が正常に完了したと判断した場合、CPU24は、送信レジスタ23bにより格納されているレスポンスを送信データ記憶領域27bにコピーする。
【0037】
なお、CPU24は、受信データ記憶領域27a又は送信データ記憶領域27bにデータを記憶する場合、既に受信データ記憶領域27a又は送信データ記憶領域27bに記憶されているデータに上書きする。即ち、受信データ記憶領域27aは、最新のコマンドを記憶する。また、送信データ記憶領域27bは、最新のレスポンスを記憶する。この結果、端末装置10は、受信データ記憶領域27a及び送信データ記憶領域27bにより記憶されているデータに基づいて、ICカード20がコマンドを受信したか否か、ICカード20においてコマンド処理が正常に行われたか否か、及びICカード20がレスポンスを送信したか否かを判断することができる。
【0038】
電源入力部28は、送受信インターフェース23を介してカードリーダライタ17から電力を受給し、受給した電力をICカード20の各部に供給する。
【0039】
リセット信号入力部29は、送受信インターフェース23を介してカードリーダライタ17からリセット信号を受け取り、受け取ったリセット信号をCPU24に供給する。
【0040】
クロック入力部30は、送受信インターフェース23を介してカードリーダライタ17からクロック信号を受け取り、受け取ったクロック信号をICカード20の各部に供給する。
【0041】
なお、端末装置10のカードリーダライタ17とICカード20とが非接触通信によりデータの通信を行う場合、カードリーダライタ17は、アンテナなどを備える。カードリーダライタ17は、ICカード20に送信するコマンドに応じてアンテナにより磁界を発生させる。
【0042】
また、端末装置10のカードリーダライタ17とICカード20とが非接触通信によりデータの通信を行う場合、送受信インターフェース23は、アンテナを備える。アンテナは、導電性を有する金属線がICモジュール21に所定のパターンに配設されて形成される。アンテナは、配設された金属線の形状により、所定の共振周波数を有する。これにより、アンテナは、アンテナに印加される磁界を検知することができる。
【0043】
送受信インターフェース23は、アンテナにより磁界を検知し、検知した磁界に応じてコマンドを生成する。即ち、送受信インターフェース23は、アンテナによりカードリーダライタ17から送信されたコマンドを取得する。ICカード20のCPU24は、取得したコマンドに応じて処理を実行し、レスポンスを生成する。送受信インターフェース23は、生成されたレスポンスに応じてアンテナにより磁界を発生させる。
【0044】
カードリーダライタ17は、アンテナにより磁界を検知し、検知した磁界に応じてレスポンスを取得する。
【0045】
また、端末装置10のカードリーダライタ17とICカード20とが非接触通信によりデータの通信を行う場合、電源入力部28は、カードリーダライタ17送信される電波、特にキャリア波に基づいて電力を生成する。さらに、電源入力部28は、動作クロックを生成する。電源入力部28は、生成した電力及び動作クロックをICカード20の各部に供給する。
【0046】
次に、ICカード処理システム1による処理と、ICカード20の受信データ記憶領域27a及び送信データ記憶領域27bにより記憶されるデータとの関係について説明する。
【0047】
図3は、ICカード処理システム1による処理の一例を示す。また、図4は、ICカード20の処理の一例を示す。
まず、ICカード20が端末装置10のカードリーダライタ17のスロット18に装着される場合、端末装置10は、カードリーダライタを介してICカード20に電力を供給する。これにより、ICカード20は、動作可能な起動状態になる。
【0048】
端末装置10は、ICカード20に対して「コマンドデータA」を送信する(ステップS11)。ICカード20の送受信インターフェース23は、端末装置10から送信された「コマンドデータA」を受信し、受信した「コマンドデータA」を受信レジスタ23aに記憶する。
【0049】
ICカード20のCPU24は、端末装置10から送信された「コマンドデータA」の受信が正常に完了したか否かを判断する。端末装置10から送信された「コマンドデータA」の受信が正常に完了したと判断した場合、CPU24は、受信した「コマンドデータA」を受信データ記憶領域27aに記憶する(ステップS12)。
【0050】
CPU24は、受信した「コマンドデータA」に基づいてコマンド処理を実行する。CPU24は、コマンド処理の処理結果に基づいて、「レスポンスデータA」を生成する。CPU24は、生成した「レスポンスデータA」を送信レジスタ23bに記憶する。送受信インターフェース23は、送信レジスタ23bに記憶されている「レスポンスデータA」を端末装置10に対して送信する(ステップS13)。
【0051】
CPU24は、「レスポンスデータA」の送信が正常に完了したか否かを判断する。「レスポンスデータA」の送信が正常に完了したと判断した場合、CPU24は、送信した「レスポンスデータA」を送信データ記憶領域27bに記憶する(ステップS14)。この結果、図4に示すように、不揮発性メモリ27の状態は、受信データ記憶領域27aが「コマンドデータA」を記憶し、送信データ記憶領域27bが「レスポンスデータA」を記憶する状態になる。
【0052】
端末装置10は、ICカード20から送信された「レスポンスデータA」を受け取る。端末装置10は、「レスポンスデータA」に基づいて、ICカード20の状態を判断する。即ち、「レスポンスデータA」が正常終了を示すデータである場合、端末装置10は、ICカード20により「コマンドデータA」に基づく処理が正常に行われたと判断する。
【0053】
次に、端末装置10は、ICカード20に対して「コマンドデータB」を送信する(ステップS15)。
【0054】
しかし、ここで、ICカード20が、端末装置10から送信された「コマンドデータB」を正常に受信できなかったとする。この場合、ICカード20により「コマンドデータB」に基づくコマンド処理が実行されない。この結果、ICカード20により「コマンドデータB」に対する「レスポンスデータB」が生成されず、端末装置10は、ICカード20からのレスポンスを受けとることができない。
【0055】
端末装置10は、例えば、コマンドをICカード20に送信してから予め設定される所定時間以内にレスポンスを受け取ることが出来ない場合、エラーが発生したと判断する。
【0056】
図5は、ICカード処理システム1による処理の一例を示す。
エラーが発生したと判断する場合、端末装置10は、受信データ記憶領域27a及び送信データ記憶領域27bが記憶しているデータを読み出すためのコマンド(状態読出コマンド)をICカード20に送信する(ステップS21)。
【0057】
ICカード20は、端末装置10から状態読出コマンドを受信する場合、受信データ記憶領域27a及び送信データ記憶領域27bが記憶しているデータを読み出し、読み出したデータを含むレスポンス(状態読出コマンドに対するレスポンス)を生成する。ICカード20は、生成したレスポンスを端末装置10に送信する(ステップS22)。
【0058】
端末装置10は、ICカード20から受け取る状態読出コマンドに対するレスポンスに基づいて、ICカード20の状態を判別する。図4に示すように、受信データ記憶領域27aが「コマンドデータA」を記憶し、送信データ記憶領域27bが「レスポンスデータA」を記憶している場合、端末装置10は、ICカード20に対して送信した「コマンドデータB」がICカード20に届いていないと判別する。この場合、端末装置10は、ICカード20において受信エラーが発生した、または、端末装置10から送信されたデータが例えばノイズなどの影響により消失したと判断する。
【0059】
即ち、端末装置10は、最後にICカード20に送信したコマンドが受信データ記憶領域27aに記憶されていない場合、コマンドがICカード20に届いていないと判別することができる。
【0060】
図6は、ICカード処理システム1による処理の一例を示す。また、図7は、ICカード20の処理の一例を示す。なお、図6に示すステップS31乃至S35は、図3に示すステップS11乃至ステップS15と同様の処理である為、簡単に説明をする。
まず、端末装置10は、ICカード20に対して「コマンドデータA」を送信する(ステップS31)。
【0061】
端末装置10から送信された「コマンドデータA」の受信が正常に完了したと判断した場合、CPU24は、受信した「コマンドデータA」を受信データ記憶領域27aに記憶する(ステップS32)。
【0062】
CPU24は、受信した「コマンドデータA」に基づいてコマンド処理を実行し、「レスポンスデータA」を生成する。送受信インターフェース23は、「レスポンスデータA」を端末装置10に対して送信する(ステップS33)。
【0063】
「レスポンスデータA」の送信が正常に完了したと判断した場合、CPU24は、送信した「レスポンスデータA」を送信データ記憶領域27bに記憶する(ステップS34)。
【0064】
端末装置10は、ICカード20から送信された「レスポンスデータA」を受け取る。次に、端末装置10は、ICカード20に対して「コマンドデータB」を送信する(ステップS35)。ICカード20の送受信インターフェース23は、端末装置10から送信された「コマンドデータB」を受信し、受信した「コマンドデータB」を受信レジスタ23aに記憶する。
【0065】
ICカード20のCPU24は、端末装置10から送信された「コマンドデータB」の受信が正常に完了したか否かを判断する。端末装置10から送信された「コマンドデータB」の受信が正常に完了したと判断した場合、CPU24は、受信した「コマンドデータB」を受信データ記憶領域27aに記憶する(ステップS36)。
【0066】
この場合、CPU24は、既に受信データ記憶領域27aに記憶されている「コマンドデータA」に「コマンドデータB」を上書きする。この結果、図7に示すように、不揮発性メモリ27の状態は、受信データ記憶領域27aが「コマンドデータB」を記憶し、送信データ記憶領域27bが「レスポンスデータA」を記憶する状態になる。
【0067】
ここで、ICカード20が、「コマンドデータB」に基づくコマンド処理を正常に実行することができなかったとする。この場合、ICカード20により「コマンドデータB」に対する「レスポンスデータB」が生成されず、端末装置10は、ICカード20からのレスポンスを受けとることができない。この場合も、端末装置10は、エラーが発生したと判断する。
【0068】
端末装置10は、上述したように、状態読出コマンドをICカード20に送信し、ICカード20の受信データ記憶領域27a及び送信データ記憶領域27bが記憶しているデータを読み出す。
【0069】
端末装置10は、受信データ記憶領域27a及び送信データ記憶領域27bが記憶しているデータに基づいて、ICカード20の状態を判別する。図7に示すように、受信データ記憶領域27aが「コマンドデータB」を記憶し、送信データ記憶領域27bが「レスポンスデータA」を記憶している場合、端末装置10は、ICカード20により「コマンドデータB」に基づくコマンド処理が実行されなかった、または、ICカード20によるレスポンスの送信が正常に完了しなかったと判別する。
【0070】
即ち、端末装置10は、最後にICカード20に送信したコマンドが受信データ記憶領域27aに記憶されており、且つ、最後にICカード20に送信したコマンドに対するレスポンスが送信データ記憶領域27bに記憶されていない場合、ICカード20により「コマンドデータB」に基づくコマンド処理が実行されていない、または、ICカード20によるレスポンスの送信が正常に完了しなかったと判別することができる。
【0071】
図8は、ICカード処理システム1による処理の一例を示す。また、図9は、ICカード20の処理の一例を示す。なお、図8に示すステップS41乃至S46は、図6に示すステップS31乃至ステップS36と同様の処理である為、簡単に説明をする。
まず、端末装置10は、ICカード20に対して「コマンドデータA」を送信する(ステップS41)。
【0072】
端末装置10から送信された「コマンドデータA」の受信が正常に完了したと判断した場合、CPU24は、受信した「コマンドデータA」を受信データ記憶領域27aに記憶する(ステップS42)。
【0073】
CPU24は、受信した「コマンドデータA」に基づいてコマンド処理を実行し、「レスポンスデータA」を生成する。送受信インターフェース23は、「レスポンスデータA」を端末装置10に対して送信する(ステップS43)。
【0074】
「レスポンスデータA」の送信が正常に完了したと判断した場合、CPU24は、送信した「レスポンスデータA」を送信データ記憶領域27bに記憶する(ステップS44)。
【0075】
端末装置10は、ICカード20から送信された「レスポンスデータA」を受け取る。次に、端末装置10は、ICカード20に対して「コマンドデータB」を送信する(ステップS45)。
【0076】
端末装置10から送信された「コマンドデータB」の受信が正常に完了したと判断した場合、CPU24は、受信した「コマンドデータB」を受信データ記憶領域27aに記憶する(ステップS46)。
【0077】
CPU24は、受信した「コマンドデータB」に基づいてコマンド処理を実行する。CPU24は、コマンド処理の処理結果に基づいて、「レスポンスデータB」を生成する。CPU24は、生成した「レスポンスデータB」を送信レジスタ23bに記憶する。送受信インターフェース23は、送信レジスタ23bに記憶されている「レスポンスデータB」を端末装置10に対して送信する(ステップS47)。
【0078】
CPU24は、「レスポンスデータB」の送信が正常に完了したか否かを判断する。「レスポンスデータB」の送信が正常に完了したと判断した場合、CPU24は、送信した「レスポンスデータB」を送信データ記憶領域27bに記憶する(ステップS48)。この結果、図9に示すように、不揮発性メモリ27の状態は、受信データ記憶領域27aが「コマンドデータB」を記憶し、送信データ記憶領域27bが「レスポンスデータB」を記憶する状態になる。
【0079】
しかし、ここで、端末装置10が、ICカード20から送信された「レスポンスデータB」を正常に受信できなかったとする。この場合も、端末装置10は、エラーが発生したと判断する。
【0080】
端末装置10は、上述したように、状態読出コマンドをICカード20に送信し、ICカード20の受信データ記憶領域27a及び送信データ記憶領域27bが記憶しているデータを読み出す。
【0081】
端末装置10は、受信データ記憶領域27a及び送信データ記憶領域27bが記憶しているデータに基づいて、ICカード20の状態を判別する。図9に示すように、受信データ記憶領域27aが「コマンドデータB」を記憶し、送信データ記憶領域27bが「レスポンスデータB」を記憶している場合、端末装置10は、ICカード20により「コマンドデータB」に基づくコマンド処理が実行され、且つ、「レスポンスデータB」がICカード20から正常に送信されたと判別する。この場合、端末装置10は、端末装置10において受信エラーが発生した、または、ICカード20から送信されたデータが例えばノイズなどの影響により消失したと判別する。
【0082】
即ち、端末装置10は、最後にICカード20に送信したコマンドが受信データ記憶領域27aに記憶されており、且つ、最後にICカード20に送信したコマンドに対するレスポンスが送信データ記憶領域27bに記憶されている場合、ICカード20から送信されたレスポンスを端末装置10が受け取る事ができなかったと判別することが出来る。
【0083】
さらに、端末装置10は、上記の判別の結果を表示部16に表示することにより、端末装置10の操作者に判別の結果を報知することができる。また、端末装置10は、単にICカード20から読み出したデータを表示部16に表示する構成であってもよい。例えば、端末装置10は、ICカード20の受信データ記憶領域27a及び送信データ記憶領域27bにより記憶されているデータを読出し、表示部16に表示する構成であってもよい。
【0084】
上記した実施形態に係るICカード処理システム1は、受信データ記憶領域27a及び送信データ記憶領域27bを備えるICカード20と端末装置10とを備える。Icカード20は、端末装置10との間でデータの送受信が正常に行われたと判断する場合、送受信したデータを受信データ記憶領域27aまたは送信データ記憶領域27bに記憶する。また、端末装置10は、エラーが発生したと判断する場合、ICカード20に状態読出コマンドを送信することにより、ICカード20の受信データ記憶領域27a及び送信データ記憶領域27bを読み出す。
【0085】
これにより、端末装置10のCPU11は、受信データ記憶領域27aから読み出した受信データと、送信データ記憶領域27bから読み出した送信データとに基づいて、ICカード20の状態を判別することができる。さらに、端末装置10は、エラーの原因を特定するための情報を取得することができる。この為、ICカード処理システム1は、一連の電文の途中で起こったエラーの原因の特定を容易にすることができる。この結果、エラーの原因を容易に特定することができる携帯可能電子装置、及び携帯可能電子装置の処理システムを提供することができる。
【0086】
なお、上記した実施形態では、ICカード20は、不揮発性メモリ27が受信データを記憶する記憶領域(受信データ記憶領域)及び送信データを記憶する記憶領域(送信データ記憶領域)を備える構成として説明したが、この構成に限定されない。例えば、ICカード20は、RAM26が受信データ記憶領域及び送信データ記憶領域を備える構成であってもよい。さらに、ICカード20は、RAM26と不揮発性メモリ27との両方が受信データ記憶領域及び送信データ記憶領域を備える構成であってもよい。またさらに、ICカード20は、受信データ記憶領域及び送信データ記憶領域を備える記憶モジュールをさらに備える構成であってもよい。
【0087】
また、ICカード20は、受信データ記憶領域及び送信データ記憶領域に受信データ及び送信データを記憶する場合の方法を示す設定情報を記憶するメモリ(セッティングメモリ)をさらに備える構成であってもよい。この場合、ICカード20は、セッティングメモリにより記憶されている設定情報に基づいて受信データ及び送信データを記憶する。
【0088】
図10は、ICカード20の他の構成例を示す。
図10は、RAM26と不揮発性メモリ27との両方が受信データ記憶領域及び送信データ記憶領域を備えるICカード20の例を示す。なお、送受信インターフェース23、CPU24、ROM25、電源入力部28、リセット信号入力部29、及びクロック入力部30は、図2により示されるICカード20と同様の構成であるので、詳細な説明を省略する。
【0089】
RAM26は、受信データ記憶領域26a、及び送信データ記憶領域26bを備える。また、不揮発性メモリ27は、受信データ記憶領域27a、及び送信データ記憶領域27bを備える。なお、RAM26の受信データ記憶領域26a及び送信データ記憶領域26bは、不揮発性メモリ27の受信データ記憶領域27a及び送信データ記憶領域27bと同様の構成である。
【0090】
しかし、受信データ記憶領域及び送信データ記憶領域がRAM26に形成されている場合、ICカード20は、受信データ記憶領域及び送信データ記憶領域が不揮発性メモリ27に形成されている場合に比べてより高速に受信データ及び送信データの保存を行うことができる。
【0091】
また、受信データ記憶領域及び送信データ記憶領域が不揮発性メモリ27に形成されている場合、ICカード20の電源が落ちても受信データ及び送信データが消失しない為、より確実にエラーの原因を特定することができる。この場合、例えば、端末装置10は、受信データ及び送信データの記憶をICカード20に実行させる為の情報をICカード20に送信することにより、前回の終了時と同じ条件で受信データ及び送信データの記憶をICカード20に実行させることができる。
【0092】
またさらに、受信データ記憶領域及び送信データ記憶領域がRAM26と不揮発性メモリ27との両方に形成されている場合、ICカード20は、高速、且つ、確実に受信データ及び送信データを受信データ記憶領域及び送信データ記憶領域に保存することができる。
【0093】
また、不揮発性メモリ27は、受信データ記憶領域及び送信データ記憶領域に受信データ及び送信データを記憶する場合の方法を示す設定情報を記憶するセッティングメモリ27cをさらに備える。ICカード20は、セッティングメモリ27cにより記憶されている設定情報に基づいて受信データ及び送信データを記憶する。
【0094】
ICカード20は、端末装置10から送信されるコマンド(設定コマンド)に基づいて設定情報を生成し、セッティングメモリ27cに記憶する。
【0095】
なお、ICカード20は、RAM26、または他の記憶モジュールがセッティングメモリを備える構成であってもよい。
【0096】
またさらに、ICカード20は、不揮発性メモリ27の受信データ記憶領域27a及び送信データ記憶領域27bに受信データ及び送信データを記憶する場合の方法を示す設定情報(第1の設定情報)と、RAM26の受信データ記憶領域26a及び送信データ記憶領域26bに受信データ及び送信データを記憶する場合の方法を示す設定情報(第2の設定情報)と、を有する構成であってもよい。
【0097】
この場合、例えば、ICカード20は、不揮発性メモリ27が第1の設定情報と第2の設定情報とを記憶するセッティングメモリを備える構成であってもよい。この構成によると、ICカード20は、電源が落ちても受信データ記憶領域及び送信データ記憶領域の再設定を行う必要がなくなる。
【0098】
また、例えば、ICカード20は、RAM26が第1の設定情報と第2の設定情報とを記憶するセッティングメモリを備える構成であってもよい。この構成によると、ICカード20は、より高速に受信データ記憶領域及び送信データ記憶領域の設定を行うことができる。
【0099】
またさらに、ICカード20は、不揮発性メモリ27が第1の設定情報を記憶するセッティングメモリを備え、RAM26が第1の設定情報を記憶するセッティングメモリを備える構成であってもよい。
【0100】
なお、本例では、ICカード20は、不揮発性メモリ27が受信データ記憶領域27a、送信データ記憶領域27b、及びセッティングメモリ27cを備え、RAM26が受信データ記憶領域26a及び送信データ記憶領域26bを備える構成として説明する。
【0101】
図11は、端末装置10から送信されるコマンドの例を示す。
図11により示されるように、端末装置10がICカード20に送信するコマンドは、
「CLA」、「INS」、「P1」、「P2」、「Lc」、「Data」、及び「Le」などのフィールドを有する。
【0102】
「CLA」は、コマンドの層別を示すclass byteである。「INS」は、コマンドの種別を示すinstruction byteである。「P1」及び「P2」は、「INS」に応じたパラメータを示すparameter byteである。
【0103】
「Lc」は、「Data」のデータの長さ(バイト数)を示すlength field for cording number Ncである。「Data」は、当該コマンドのデータ本体を示すcommand data fieldである。「Le」は、当該コマンドに対するレスポンスのデータ長を示すlength field for cording number Neである。
【0104】
即ち、「CLA」及び「INS」により、当該コマンドの種類が示される。ICカード20は、受信したコマンドの「CLA」及び「INS」の値を解析することにより、受信したコマンドの種類を認識する。
【0105】
端末装置10は、ICカード20に上記の設定を行わせる為の設定コマンド、及びICカード20の受信データ記憶領域及び送信データ記憶領域が記憶しているデータを読み出すための状態読出コマンドを生成し、ICカード20に送信する。
【0106】
図11により示されるコマンドが設定コマンドである場合、「CLA」及び「INS」は、当該コマンドが設定コマンドであることを示すデータを有する。この場合、「Data」は、保存先を示すデータ、記憶領域のサイズを示すデータ、記憶する受信データの数を示すデータ、記憶する送信データの数を示すデータ、記憶対象のフィールドを示すデータ、及び記憶するコマンドの種類を示すデータなどを有する。
【0107】
ICカード20は、端末装置10から設定コマンドを受信した場合、図12により示されるような設定情報を生成する。
【0108】
保存先を示すデータは、受信データ及び送信データを記憶する記憶領域を指定する為のデータである。例えば、保存先を示すデータは、RAM26を指定するデータ、不揮発性メモリ27を指定するデータ、または受信データ及び送信データの記憶を行わないことを示すデータを有する。
【0109】
ICカード20は、保存先を示すデータがRAM26を指定するデータである場合、RAM26の受信データ記憶領域26a及び送信データ記憶領域26bに受信データ及び送信データを記憶するように設定情報を生成する。また、ICカード20は、保存先を示すデータが不揮発性メモリ27を指定するデータである場合、不揮発性メモリ27の受信データ記憶領域27a及び送信データ記憶領域27bに受信データ及び送信データを記憶するように設定情報の「保存先」の項目を生成する。
【0110】
なお、本例では、ICカード20は、「保存先」として不揮発性メモリ27が設定されていると仮定して説明する。例えば、「保存先」としてRAM26が設定されている場合であっても、ICカード20は、同様の処理で受信データ及び送信データを記憶することができる。
【0111】
このような構成によると、受信データ及び送信データを記憶するメモリをRAM26と不揮発性メモリ27とで指定することができる為、ICカード20は、場面に合わせてより適切な処理を行うことが出来る。
【0112】
記憶領域のサイズを示すデータは、受信データ及び送信データを記憶する記憶領域のサイズを指定する為のデータである。ICカード20は、記憶領域のサイズを示すデータにより指定されたサイズの記憶領域を受信データ及び送信データを記憶する為の記憶領域として不揮発性メモリ27上で確保する。またICカード20は、記憶領域のサイズを示すデータに基づいて設定情報の「記憶領域のサイズ」の項目を生成する。
【0113】
記憶する受信データ及び送信データの数を示すデータは、保存先として指定された記憶領域に記憶する受信データ及び送信データの数を指定する為のデータである。ICカード20は、このデータに基づいて、記憶する受信データの数、及び記憶する送信データの数をそれぞれ設定し、設定情報の「記憶する受信データの数」及び「記憶する送信データの数」の項目を生成する。
【0114】
ICカード20は、「記憶する受信データの数」により示される数の受信データが記憶されている場合、最も古い受信データに新しい受信データを上書きする。また、ICカード20は、「記憶する送信データの数」により示される数の送信データが記憶されている場合、最も古い送信データに新しい送信データを上書きする。
【0115】
なお、ICカード20は、「記憶領域のサイズ」と、「記憶する送受信データの数」及び「記憶する送信データの数」とのいずれかの項目のみを設定する構成であってもよい。例えば、「記憶領域のサイズ」のみが設定された場合、ICカード20は、受信データ記憶領域27a及び送信データ記憶領域27bの使用容量を逐次認識する。ICカード20は、受信データ記憶領域27a及び送信データ記憶領域27bの使用容量が「記憶領域のサイズ」により示される容量を超える場合、既に記憶されている受信データまたは送信データに新しいデータを上書きする。
【0116】
このような構成によると、複数の受信データ及び送信データを記憶することができる為、ICカード20は、より詳細なエラーの原因の特定の為のデータを端末装置10に送信することが出来る。
【0117】
図13は、「記憶する受信データの数」が3、「記憶する送信データの数」が3で設定されている場合の受信データ記憶領域27a及び送信データ記憶領域27bの例を示す。図13により示されるように受信データ記憶領域27aに3つの受信データ(コマンドデータ)が記憶されている。また、送信データ記憶領域27bに3つの送信データ(レスポンスデータ)が記憶されている。
【0118】
例えば、この状態で、新たに受信データ(コマンドデータD)を受信データ記憶領域27aに記憶する場合、ICカード20は、最も古いコマンドデータAにコマンドデータDを上書きする。
【0119】
記憶対象のフィールドを示すデータは、上記の受信データ記憶領域27a及び送信データ記憶領域27bに記憶するデータの種類を示すデータである。ICカード20は、記憶対象のフィールドを示すデータに基づいて、設定情報の「記憶対象」の項目を生成する。
【0120】
上記したように、端末装置10からICカード20に送信されるコマンドは、「CLA」、「INS」、「P1」、「P2」、「Lc」、「Data」、及び「Le」などのフィールドを有する。
【0121】
また、ICカード20から端末装置10に送信されるレスポンスは、「Data」、「SW1」、及び「SW2」などのフィールドを有する。「Data」は、レスポンスとして送信するデータの本体である。「SW1」、及び「SW2」は、ICカード20における処理結果を示すデータが格納されるフィールドである。
【0122】
ICカード20は、端末装置10から受信したコマンドの「CLA」、「INS」、「P1」、「P2」、「Lc」、「Data」、及び「Le」などのフィールドのうち、「記憶対象」により示されるフィールドのデータを受信データとして受信データ記憶領域27aに記憶する。
【0123】
また、ICカード20は、端末装置10に送信するレスポンスの「Data」、「SW1」、及び「SW2」などのフィールドのうち、「記憶対象」により示されるフィールドのデータを送信データとして送信データ記憶領域27bに記憶する。
【0124】
このような構成によると、受信データ及び送信データとして記憶するデータの容量を抑えることができる為、ICカード20は、より効率的にメモリを活用することが出来る。
【0125】
記憶するコマンドの種類を示すデータは、受信データ及び送信データを記憶するコマンドの種類を指定する為のデータである。ICカード20は、記憶するコマンドの種類を示すデータに基づいて、設定情報の「コマンド種別」の項目を生成する。
【0126】
ICカード20は、「コマンド種別」により指定された特定のコマンドを受信した場合に受信データ及び送信データの記憶を行う。「コマンド種別」は、例えば、コマンドの「CLA」及び「INS」の値に相当する。即ち、ICカード20は、端末装置10からコマンドを受信した場合、受信したコマンドの「CLA」及び「INS」の値を認識し、認識した値と「コマンド種別」の値とが一致した場合、受信データ及び送信データを受信データ記憶領域27a及び送信データ記憶領域27bにそれぞれ記憶する。
【0127】
このような構成によると、受信データ及び送信データを記憶するコマンドを指定することができる為、ICカード20は、より効率的にメモリを活用することが出来る。
【0128】
なお、設定コマンドは、保存先を示すデータ、記憶領域のサイズを示すデータ、記憶する受信データの数を示すデータ、記憶する送信データの数を示すデータ、記憶対象のフィールドを示すデータ、及び記憶するコマンドの種類を示すデータの全てを備える構成であってもよいし、上記のうちの任意のものを備える構成であってもよい。
【0129】
例えば、ICカード20は、デフォルトの設定情報を不揮発性メモリ27またはROM25に備える。ICカード20は、設定コマンドで指定されなかった項目についてデフォルトの設定情報を参照することにより、セッティングメモリ27に記憶する設定情報を生成することができる。
【0130】
また、設定コマンドは、保存先を示すデータ、記憶領域のサイズを示すデータ、記憶する受信データの数を示すデータ、記憶する送信データの数を示すデータ、記憶対象のフィールドを示すデータ、及び記憶するコマンドの種類を示すデータを「Data」が有する構成として説明したが、この構成に限定されない。設定コマンドは、これらのデータのうちのいくつかを「P1」、及び/または「P2」が有する構成であってもよい。
【0131】
また、ICカード20は、所定のコマンド(初期化コマンド)を端末装置10から受信した場合に設定情報を初期化する構成であってもよい。なお、ICカード20は、上記の設定コマンドを受信した場合に設定情報を初期化してから各種の設定情報を再設定する構成であってもよいし、起動時に設定情報を初期化する構成であってもよい。
【0132】
また、図11により示されるコマンドが上記した状態読出しコマンドである場合、「CLA」及び「INS」は、当該コマンドが状態読出しコマンドであることを示すデータを有する。この場合、「Data」は、読み出しの方法を指定する為の情報を有する。
【0133】
例えば、「Data」は、受信データ及び送信データを一括して読み出すことをICカード20に指示するデータ、受信データのみを読み出すことをICカード20に指示するデータ、送信データのみを読み出すことをICカード20に指示するデータ、受信データ及び送信データを1つずつ読み出すことをICカード20に指示するデータ、及び受信データ及び送信データを指定数ずつ読み出すことをICカード20に指示するデータ、のうちのいずれかを有する。
【0134】
「Data」が受信データ及び送信データを一括して読み出すことをICカード20に指示するデータを有する場合、ICカード20は、受信データ記憶領域27a及び送信データ記憶領域27bに記憶されている全ての受信データ及び送信データを読み出し、読み出したデータを含むレスポンスを生成する。ICカード20は、生成したレスポンスを端末装置10に送信する。
【0135】
また、「Data」が受信データのみを読み出すことをICカード20に指示するデータを有する場合、ICカード20は、受信データ記憶領域27aに記憶されている全ての受信データを読み出し、読み出したデータを含むレスポンスを生成する。ICカード20は、生成したレスポンスを端末装置10に送信する。
【0136】
また、「Data」が送信データのみを読み出すことをICカード20に指示するデータを有する場合、ICカード20は、送信データ記憶領域27bに記憶されている全ての送信データを読み出し、読み出したデータを含むレスポンスを生成する。ICカード20は、生成したレスポンスを端末装置10に送信する。
【0137】
また、受信データ及び送信データを1つずつ読み出すことをICカード20に指示するデータを有する場合、ICカード20は、受信データ記憶領域27a及び送信データ記憶領域27bに記憶されている受信データ及び送信データを1つずつ読み出し、読み出したデータを含むレスポンスを生成する。ICカード20は、生成したレスポンスを端末装置10に送信する。
【0138】
また、受信データ及び送信データを指定数ずつ読み出すことをICカード20に指示するデータを有する場合、ICカード20は、受信データ記憶領域27a及び送信データ記憶領域27bに記憶されている受信データ及び送信データを指定された数ずつ読み出し、読み出したデータを含むレスポンスを生成する。ICカード20は、生成したレスポンスを端末装置10に送信する。なお、この場合、「Data」は、読み出す受信データの数(指定数)と読み出す送信データの数(指定数)とをそれぞれ有する。
【0139】
上記したように、ICカード20は、端末装置10により指定された方法で受信データ記憶領域27a及び送信データ記憶領域27bから受信データ及び送信データを読み出し、レスポンスを生成する。この為、ICカード20は、不要な処理を行うことなく、必要なデータを受信データ記憶領域27a及び送信データ記憶領域27bから読み出し、端末装置10に送信することができる。この結果、ICカード20は、より効率よく処理を行うことができる。
【0140】
上記した実施形態では、状態読出しコマンドの「Data」が受信データ及び送信データを一括して読み出すことをICカード20に指示するデータ、受信データのみを読み出すことをICカード20に指示するデータ、送信データのみを読み出すことをICカード20に指示するデータ、受信データ及び送信データを1つずつ読み出すことをICカード20に指示するデータ、及び受信データ及び送信データを指定数ずつ読み出すことをICカード20に指示するデータ、のうちのいずれかを有する構成として説明したが、この構成に限定されない。
【0141】
状態読出しコマンドの「P1」及び「P2」の値により受信データ及び送信データを一括して読み出すことをICカード20に指示するデータ、受信データのみを読み出すことをICカード20に指示するデータ、送信データのみを読み出すことをICカード20に指示するデータ、受信データ及び送信データを1つずつ読み出すことをICカード20に指示するデータ、及び受信データ及び送信データを指定数ずつ読み出すことをICカード20に指示するデータを示す構成であってもよい。また、それぞれ個別に異なるコマンドが設定されてもよい。
【0142】
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
【0143】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【0144】
1…ICカード処理システム、10…端末装置、11…CPU、12…RAM、13…ROM、15…操作部、16…表示部、17…カードリーダライタ、18…スロット、19…バス、20…ICカード、21…ICモジュール、22…ICチップ、23…送受信インターフェース、23a…受信レジスタ、23b…送信レジスタ、24…CPU、25…ROM、26…RAM、26a…受信データ記憶領域、26b…送信データ記憶領域、27…不揮発性メモリ、27a…受信データ記憶領域、27b…送信データ記憶領域、27c…セッティングメモリ、28…電源入力部、29…リセット信号入力部、30…クロック入力部。
【技術分野】
【0001】
本発明の実施形態は、携帯可能電子装置、及び携帯可能電子装置の処理システムに関する。
【背景技術】
【0002】
一般的に、携帯可能電子装置として用いられるICカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたICモジュールとを備えている。ICモジュールは、ICチップを有している。ICチップは、電源が無い状態でもデータを保持することができるEEPROM(Electrically Erasable Programmable Read−Only Memory)またはフラッシュROMなどの不揮発性メモリと、種々の演算を実行するCPUとを有している。
【0003】
ICカードは、例えば、国際標準規格ISO/IEC7816に準拠したICカードである。ICカードは、携帯性に優れ、且つ、外部装置との通信及び複雑な演算処理を行う事ができる。また、偽造が難しい為、ICカードは、機密性の高い情報などを格納してセキュリティシステム、電子商取引などに用いられることが想定される。
【0004】
近年、ICカードに搭載されるICチップの高性能化に伴い、ICチップに記憶されている複数のアプリケーションを実行することができるICカードが実用化されている。このようなICカードは、専用のリーダライタを有する端末装置からコマンドを受信し、受信したコマンドに基づいてアプリケーションを実行する。これにより、ICカードは、種々の処理を実行することができる。ICカードは、アプリケーションの処理結果に基づいてレスポンスを生成し、生成したレスポンスを端末装置に送信する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2002−223518号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
端末装置は、ICカードから受け取るレスポンスに基づいて、ICカードの状態を認識することができる。また、端末装置は、ICカードにコマンドを送信してから、所定時間以内にレスポンスを受信できない場合、エラーが発生したと判断する。しかし、このような場合、端末装置は、ICカードに対して発信したコマンドが、ICカードに届いたのか否かを判断することができない。また、端末装置は、ICカードからレスポンスが送信されたか否かを判断することができない。この為、従来のICカードは、エラーの原因の特定が困難であるという課題がある。
【0007】
そこで、エラーの原因を容易に特定することができる携帯可能電子装置、及び携帯可能電子装置の処理システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
一実施形態に係る携帯可能電子装置は、外部機器から入力されるコマンドに応じて動作する携帯可能電子装置であって、前記外部機器から送信される前記コマンドを受信する受信部と、前記受信部により受信する前記コマンドを一時的に記憶する受信レジスタと、前記受信部により前記コマンドの受信が正常に完了したか否か判断し、前記コマンドの受信が正常に完了したと判断した場合、前記コマンドを受信データとして記憶する第1の記憶部と、前記受信レジスタにより記憶されている前記コマンドに基づいて処理を行いレスポンスを生成するコマンド処理部と、前記コマンド処理部により生成された前記外部機器に送信する前記レスポンスを一時的に記憶する送信レジスタと、前記送信レジスタにより記憶されている前記レスポンスを前記外部機器に送信する送信部と、前記送信部により前記レスポンスの送信が正常に完了したか否か判断し、前記レスポンスの送信が正常に完了したと判断した場合、前記レスポンスを送信データとして記憶する第2の記憶部と、を具備する。
【図面の簡単な説明】
【0009】
【図1】図1は、一実施形態に係るICカード処理システムの構成例について説明するための図である。
【図2】図2は、一実施形態に係るICカードの構成例について説明するための図である。
【図3】図3は、一実施形態に係るICカード処理システムによる処理の例について説明するための図である。
【図4】図4は、一実施形態に係るICカードによる処理の例について説明するための図である。
【図5】図5は、一実施形態に係るICカード処理システムによる処理の例について説明するための図である。
【図6】図6は、一実施形態に係るICカード処理システムによる処理の例について説明するための図である。
【図7】図7は、一実施形態に係るICカードによる処理の例について説明するための図である。
【図8】図8は、一実施形態に係るICカード処理システムによる処理の例について説明するための図である。
【図9】図9は、一実施形態に係るICカードによる処理の例について説明するための図である。
【図10】図10は、一実施形態に係るICカードの他の構成例について説明するための図である。
【図11】図11は、一実施形態に係るICカード処理システムによる処理の例について説明するための図である。
【図12】図12は、一実施形態に係るICカードによる処理の例について説明するための図である。
【図13】図13は、一実施形態に係るICカードによる処理の例について説明するための図である。
【発明を実施するための形態】
【0010】
以下、図面を参照しながら、一実施形態に係る携帯可能電子装置、及び携帯可能電子装置の処理システムについて詳細に説明する。
【0011】
本実施形態に係る端末装置10のカードリーダライタ17及びICカード20は、例えば、ETSI TS 102 613により規定されているSingle Wire Protocol(SWP)などの接触通信の機能、及びISO/IEC14443などにより規定されている非接触通信の機能の両方またはいずれかの機能を備える。これにより、カードリーダライタ17及びICカード20は、互いにデータの送受信を行うことができる。
【0012】
図1は、一実施形態に係るICカード処理システム1の構成例について示す。
ICカード処理システム1は、携帯可能電子装置(ICカード)20を処理する端末装置10と、ICカード20と、を備える。端末装置10とICカード20とは、上記したように接触通信、または非接触通信により互いに種々のデータを送受信する。なお、本実施形態では、端末装置10及びICカード20は、互いに接触通信によりデータの送受信を行うとして説明する。
【0013】
端末装置10は、CPU11、RAM12、ROM13、操作部15、表示部16、及びカードリーダライタ17を備える。CPU11、RAM12、ROM13、操作部15、表示部16、及びカードリーダライタ17は、それぞれバス19を介して互いに接続されている。
【0014】
CPU11は、端末装置10全体の制御を司る制御部として機能する。CPU11は、ROM13に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、CPU11は、カードリーダライタ17を介してICカード20とコマンド及びレスポンスの送受信を行う。
【0015】
RAM12は、ワーキングメモリとして機能する揮発性のメモリである。RAM12は、CPU11の処理中のデータなどを一時的に格納する。例えば、RAM12は、カードリーダライタ17を介して外部の機器と送受信するデータを一時的に格納する。また、RAM12は、CPU11が実行するプログラムを一時的に格納する。ROM13は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。
【0016】
操作部15は、例えば操作キーなどを備える。操作部15は、端末装置10の操作者により入力される操作に基づいて、操作信号を生成する。操作部15は、生成した操作信号をCPU11に入力する。
【0017】
表示部16は、CPU11、またはCPU11により制御されるグラフィック処理部から入力される表示信号に基づいて、種々の情報を表示する。なお、端末装置10は、操作部15と表示部16とが一体に形成されるタッチパネルを備える構成であってもよい。
【0018】
カードリーダライタ17は、ICカード20と通信を行うためのインターフェース装置である。カードリーダライタ17は、ICカード20が装着されるスロット18を備える。また、カードリーダライタ17は、ICカード20が備えるコンタクトパターンと接続される複数の接触端子を備える。
【0019】
スロット18にICカード20が装着される場合、カードリーダライタ17の複数の接触端子は、ICカード20のコンタクトパターンに接続される。これにより、端末装置10とICカード20とは電気的に接続される。カードリーダライタ17は、スロット18に装着されるICカード20に対して、電力の供給、クロックの供給、リセット信号の入力、及びデータの送受信などを行う。
【0020】
CPU11は、カードリーダライタ17によりICカード20に対して種々のコマンドを入力する。ICカード20は、例えば、カードリーダライタ17からデータの書き込みコマンドを受信した場合、受信したデータを内部の不揮発性メモリに書き込む処理を行う。
【0021】
また、CPU11は、ICカード20に読み取りコマンドを送信することにより、ICカード20からデータを読み出す。CPU11は、ICカード20から受信したデータに基づいて種々の処理を行う。
【0022】
図2は、図1に示すICカード20の構成例を示す。
図2に示すように、ICカード20は、カード状の本体と、本体内に内蔵されるICモジュール21を備えている。ICモジュール21は、ICチップ22を備える。
【0023】
ICチップ22は、送受信インターフェース23、CPU24、ROM25、RAM26、不揮発性メモリ27、電源入力部28、リセット信号入力部29、クロック入力部30を備える。
【0024】
送受信インターフェース23は、ICカード20に接続される外部機器(例えば端末装置10)との間で送受信するデータに対して符号化、復号、変調、及び復調などを行う。
【0025】
ICカード20が端末装置10との間で接触通信によりデータの送受信を行う構成である場合、送受信インターフェース23は、コンタクトパターンを備える。コンタクトパターンは、導電性を有する金属などによりICモジュール21の表面に形成される接触端子である。即ち、コンタクトパターンは、端末装置10と接触可能に形成されている。コンタクトパターンは、金属により形成される面が複数のエリアに区切られて形成される。区切られた各エリアは、それぞれコンタクトパターンの端子として機能する。
【0026】
また、送受信インターフェース23は、受信レジスタ23a、及び送信レジスタ23bを備える。受信レジスタ23a及び送信レジスタ23bは、一般的なレジスタであり、ICカード20が送受信するデータを一時的に格納する。即ち、受信レジスタ23aは、送受信インターフェース23を介して端末装置10から受信するデータを一時的に格納する。また、送信レジスタ23bは、送受信インターフェース23を介して端末装置10に送信するデータを一時的に格納する。
【0027】
CPU24は、ICカード20の全体の制御を司る。また、CPU24は、CPU24は、ROM25あるいは不揮発性メモリ27に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、CPU24は、端末装置10のカードリーダライタ17から受信したコマンドに応じて種々の処理を行い、処理結果に基づいて、レスポンスの生成を行なう。
【0028】
ROM25は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ROM25は、製造段階で制御プログラム及び制御データなどを記憶した状態でICカード20内に組み込まれる。即ち、ROM25に記憶される制御プログラム及び制御データは、予めICカード20の仕様に応じて組み込まれる。
【0029】
RAM26は、ワーキングメモリとして機能する揮発性のメモリである。RAM26は、CPU24の処理中のデータなどを一時的に格納する。例えば、RAM26は、CPU24が実行するプログラムを一時的に格納する。
【0030】
不揮発性メモリ27は、例えば、EEPROMあるいはフラッシュROMなどのデータの書き込み及び書換えが可能な不揮発性のメモリにより構成される。不揮発性メモリ27は、ICカード20の運用用途に応じて制御プログラム及び種々のデータを格納する。
【0031】
たとえば、不揮発性メモリ27では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。CPU24は、不揮発性メモリ27、または、ROM25に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【0032】
また、不揮発性メモリ27は、受信データ記憶領域27a、及び送信データ記憶領域27bを備える。受信データ記憶領域27a及び送信データ記憶領域27bは、データを記憶する記憶領域である。
【0033】
CPU24は、送受信インターフェース23により端末装置10からコマンドを受信する場合、端末装置10から送られたコマンドの受信が正常に完了したか否かを判断する。端末装置10から送られたコマンドの受信が正常に完了したと判断した場合、CPU24は、受信したコマンドを受信データとして受信データ記憶領域27aに記憶する。
【0034】
具体的には、端末装置10から送られたコマンドの受信が正常に完了したと判断した場合、CPU24は、受信レジスタ23aにより格納されているコマンドを受信データ記憶領域27aにコピーする。
【0035】
また、CPU24は、送受信インターフェース23により端末装置10に対してレスポンスを送信する場合、レスポンスの送信が正常に完了したか否かを判断する。レスポンスの送信が正常に完了したと判断した場合、CPU24は送信したレスポンスを送信データとして送信データ記憶領域27bに記憶する。
【0036】
具体的には、レスポンスの送信が正常に完了したと判断した場合、CPU24は、送信レジスタ23bにより格納されているレスポンスを送信データ記憶領域27bにコピーする。
【0037】
なお、CPU24は、受信データ記憶領域27a又は送信データ記憶領域27bにデータを記憶する場合、既に受信データ記憶領域27a又は送信データ記憶領域27bに記憶されているデータに上書きする。即ち、受信データ記憶領域27aは、最新のコマンドを記憶する。また、送信データ記憶領域27bは、最新のレスポンスを記憶する。この結果、端末装置10は、受信データ記憶領域27a及び送信データ記憶領域27bにより記憶されているデータに基づいて、ICカード20がコマンドを受信したか否か、ICカード20においてコマンド処理が正常に行われたか否か、及びICカード20がレスポンスを送信したか否かを判断することができる。
【0038】
電源入力部28は、送受信インターフェース23を介してカードリーダライタ17から電力を受給し、受給した電力をICカード20の各部に供給する。
【0039】
リセット信号入力部29は、送受信インターフェース23を介してカードリーダライタ17からリセット信号を受け取り、受け取ったリセット信号をCPU24に供給する。
【0040】
クロック入力部30は、送受信インターフェース23を介してカードリーダライタ17からクロック信号を受け取り、受け取ったクロック信号をICカード20の各部に供給する。
【0041】
なお、端末装置10のカードリーダライタ17とICカード20とが非接触通信によりデータの通信を行う場合、カードリーダライタ17は、アンテナなどを備える。カードリーダライタ17は、ICカード20に送信するコマンドに応じてアンテナにより磁界を発生させる。
【0042】
また、端末装置10のカードリーダライタ17とICカード20とが非接触通信によりデータの通信を行う場合、送受信インターフェース23は、アンテナを備える。アンテナは、導電性を有する金属線がICモジュール21に所定のパターンに配設されて形成される。アンテナは、配設された金属線の形状により、所定の共振周波数を有する。これにより、アンテナは、アンテナに印加される磁界を検知することができる。
【0043】
送受信インターフェース23は、アンテナにより磁界を検知し、検知した磁界に応じてコマンドを生成する。即ち、送受信インターフェース23は、アンテナによりカードリーダライタ17から送信されたコマンドを取得する。ICカード20のCPU24は、取得したコマンドに応じて処理を実行し、レスポンスを生成する。送受信インターフェース23は、生成されたレスポンスに応じてアンテナにより磁界を発生させる。
【0044】
カードリーダライタ17は、アンテナにより磁界を検知し、検知した磁界に応じてレスポンスを取得する。
【0045】
また、端末装置10のカードリーダライタ17とICカード20とが非接触通信によりデータの通信を行う場合、電源入力部28は、カードリーダライタ17送信される電波、特にキャリア波に基づいて電力を生成する。さらに、電源入力部28は、動作クロックを生成する。電源入力部28は、生成した電力及び動作クロックをICカード20の各部に供給する。
【0046】
次に、ICカード処理システム1による処理と、ICカード20の受信データ記憶領域27a及び送信データ記憶領域27bにより記憶されるデータとの関係について説明する。
【0047】
図3は、ICカード処理システム1による処理の一例を示す。また、図4は、ICカード20の処理の一例を示す。
まず、ICカード20が端末装置10のカードリーダライタ17のスロット18に装着される場合、端末装置10は、カードリーダライタを介してICカード20に電力を供給する。これにより、ICカード20は、動作可能な起動状態になる。
【0048】
端末装置10は、ICカード20に対して「コマンドデータA」を送信する(ステップS11)。ICカード20の送受信インターフェース23は、端末装置10から送信された「コマンドデータA」を受信し、受信した「コマンドデータA」を受信レジスタ23aに記憶する。
【0049】
ICカード20のCPU24は、端末装置10から送信された「コマンドデータA」の受信が正常に完了したか否かを判断する。端末装置10から送信された「コマンドデータA」の受信が正常に完了したと判断した場合、CPU24は、受信した「コマンドデータA」を受信データ記憶領域27aに記憶する(ステップS12)。
【0050】
CPU24は、受信した「コマンドデータA」に基づいてコマンド処理を実行する。CPU24は、コマンド処理の処理結果に基づいて、「レスポンスデータA」を生成する。CPU24は、生成した「レスポンスデータA」を送信レジスタ23bに記憶する。送受信インターフェース23は、送信レジスタ23bに記憶されている「レスポンスデータA」を端末装置10に対して送信する(ステップS13)。
【0051】
CPU24は、「レスポンスデータA」の送信が正常に完了したか否かを判断する。「レスポンスデータA」の送信が正常に完了したと判断した場合、CPU24は、送信した「レスポンスデータA」を送信データ記憶領域27bに記憶する(ステップS14)。この結果、図4に示すように、不揮発性メモリ27の状態は、受信データ記憶領域27aが「コマンドデータA」を記憶し、送信データ記憶領域27bが「レスポンスデータA」を記憶する状態になる。
【0052】
端末装置10は、ICカード20から送信された「レスポンスデータA」を受け取る。端末装置10は、「レスポンスデータA」に基づいて、ICカード20の状態を判断する。即ち、「レスポンスデータA」が正常終了を示すデータである場合、端末装置10は、ICカード20により「コマンドデータA」に基づく処理が正常に行われたと判断する。
【0053】
次に、端末装置10は、ICカード20に対して「コマンドデータB」を送信する(ステップS15)。
【0054】
しかし、ここで、ICカード20が、端末装置10から送信された「コマンドデータB」を正常に受信できなかったとする。この場合、ICカード20により「コマンドデータB」に基づくコマンド処理が実行されない。この結果、ICカード20により「コマンドデータB」に対する「レスポンスデータB」が生成されず、端末装置10は、ICカード20からのレスポンスを受けとることができない。
【0055】
端末装置10は、例えば、コマンドをICカード20に送信してから予め設定される所定時間以内にレスポンスを受け取ることが出来ない場合、エラーが発生したと判断する。
【0056】
図5は、ICカード処理システム1による処理の一例を示す。
エラーが発生したと判断する場合、端末装置10は、受信データ記憶領域27a及び送信データ記憶領域27bが記憶しているデータを読み出すためのコマンド(状態読出コマンド)をICカード20に送信する(ステップS21)。
【0057】
ICカード20は、端末装置10から状態読出コマンドを受信する場合、受信データ記憶領域27a及び送信データ記憶領域27bが記憶しているデータを読み出し、読み出したデータを含むレスポンス(状態読出コマンドに対するレスポンス)を生成する。ICカード20は、生成したレスポンスを端末装置10に送信する(ステップS22)。
【0058】
端末装置10は、ICカード20から受け取る状態読出コマンドに対するレスポンスに基づいて、ICカード20の状態を判別する。図4に示すように、受信データ記憶領域27aが「コマンドデータA」を記憶し、送信データ記憶領域27bが「レスポンスデータA」を記憶している場合、端末装置10は、ICカード20に対して送信した「コマンドデータB」がICカード20に届いていないと判別する。この場合、端末装置10は、ICカード20において受信エラーが発生した、または、端末装置10から送信されたデータが例えばノイズなどの影響により消失したと判断する。
【0059】
即ち、端末装置10は、最後にICカード20に送信したコマンドが受信データ記憶領域27aに記憶されていない場合、コマンドがICカード20に届いていないと判別することができる。
【0060】
図6は、ICカード処理システム1による処理の一例を示す。また、図7は、ICカード20の処理の一例を示す。なお、図6に示すステップS31乃至S35は、図3に示すステップS11乃至ステップS15と同様の処理である為、簡単に説明をする。
まず、端末装置10は、ICカード20に対して「コマンドデータA」を送信する(ステップS31)。
【0061】
端末装置10から送信された「コマンドデータA」の受信が正常に完了したと判断した場合、CPU24は、受信した「コマンドデータA」を受信データ記憶領域27aに記憶する(ステップS32)。
【0062】
CPU24は、受信した「コマンドデータA」に基づいてコマンド処理を実行し、「レスポンスデータA」を生成する。送受信インターフェース23は、「レスポンスデータA」を端末装置10に対して送信する(ステップS33)。
【0063】
「レスポンスデータA」の送信が正常に完了したと判断した場合、CPU24は、送信した「レスポンスデータA」を送信データ記憶領域27bに記憶する(ステップS34)。
【0064】
端末装置10は、ICカード20から送信された「レスポンスデータA」を受け取る。次に、端末装置10は、ICカード20に対して「コマンドデータB」を送信する(ステップS35)。ICカード20の送受信インターフェース23は、端末装置10から送信された「コマンドデータB」を受信し、受信した「コマンドデータB」を受信レジスタ23aに記憶する。
【0065】
ICカード20のCPU24は、端末装置10から送信された「コマンドデータB」の受信が正常に完了したか否かを判断する。端末装置10から送信された「コマンドデータB」の受信が正常に完了したと判断した場合、CPU24は、受信した「コマンドデータB」を受信データ記憶領域27aに記憶する(ステップS36)。
【0066】
この場合、CPU24は、既に受信データ記憶領域27aに記憶されている「コマンドデータA」に「コマンドデータB」を上書きする。この結果、図7に示すように、不揮発性メモリ27の状態は、受信データ記憶領域27aが「コマンドデータB」を記憶し、送信データ記憶領域27bが「レスポンスデータA」を記憶する状態になる。
【0067】
ここで、ICカード20が、「コマンドデータB」に基づくコマンド処理を正常に実行することができなかったとする。この場合、ICカード20により「コマンドデータB」に対する「レスポンスデータB」が生成されず、端末装置10は、ICカード20からのレスポンスを受けとることができない。この場合も、端末装置10は、エラーが発生したと判断する。
【0068】
端末装置10は、上述したように、状態読出コマンドをICカード20に送信し、ICカード20の受信データ記憶領域27a及び送信データ記憶領域27bが記憶しているデータを読み出す。
【0069】
端末装置10は、受信データ記憶領域27a及び送信データ記憶領域27bが記憶しているデータに基づいて、ICカード20の状態を判別する。図7に示すように、受信データ記憶領域27aが「コマンドデータB」を記憶し、送信データ記憶領域27bが「レスポンスデータA」を記憶している場合、端末装置10は、ICカード20により「コマンドデータB」に基づくコマンド処理が実行されなかった、または、ICカード20によるレスポンスの送信が正常に完了しなかったと判別する。
【0070】
即ち、端末装置10は、最後にICカード20に送信したコマンドが受信データ記憶領域27aに記憶されており、且つ、最後にICカード20に送信したコマンドに対するレスポンスが送信データ記憶領域27bに記憶されていない場合、ICカード20により「コマンドデータB」に基づくコマンド処理が実行されていない、または、ICカード20によるレスポンスの送信が正常に完了しなかったと判別することができる。
【0071】
図8は、ICカード処理システム1による処理の一例を示す。また、図9は、ICカード20の処理の一例を示す。なお、図8に示すステップS41乃至S46は、図6に示すステップS31乃至ステップS36と同様の処理である為、簡単に説明をする。
まず、端末装置10は、ICカード20に対して「コマンドデータA」を送信する(ステップS41)。
【0072】
端末装置10から送信された「コマンドデータA」の受信が正常に完了したと判断した場合、CPU24は、受信した「コマンドデータA」を受信データ記憶領域27aに記憶する(ステップS42)。
【0073】
CPU24は、受信した「コマンドデータA」に基づいてコマンド処理を実行し、「レスポンスデータA」を生成する。送受信インターフェース23は、「レスポンスデータA」を端末装置10に対して送信する(ステップS43)。
【0074】
「レスポンスデータA」の送信が正常に完了したと判断した場合、CPU24は、送信した「レスポンスデータA」を送信データ記憶領域27bに記憶する(ステップS44)。
【0075】
端末装置10は、ICカード20から送信された「レスポンスデータA」を受け取る。次に、端末装置10は、ICカード20に対して「コマンドデータB」を送信する(ステップS45)。
【0076】
端末装置10から送信された「コマンドデータB」の受信が正常に完了したと判断した場合、CPU24は、受信した「コマンドデータB」を受信データ記憶領域27aに記憶する(ステップS46)。
【0077】
CPU24は、受信した「コマンドデータB」に基づいてコマンド処理を実行する。CPU24は、コマンド処理の処理結果に基づいて、「レスポンスデータB」を生成する。CPU24は、生成した「レスポンスデータB」を送信レジスタ23bに記憶する。送受信インターフェース23は、送信レジスタ23bに記憶されている「レスポンスデータB」を端末装置10に対して送信する(ステップS47)。
【0078】
CPU24は、「レスポンスデータB」の送信が正常に完了したか否かを判断する。「レスポンスデータB」の送信が正常に完了したと判断した場合、CPU24は、送信した「レスポンスデータB」を送信データ記憶領域27bに記憶する(ステップS48)。この結果、図9に示すように、不揮発性メモリ27の状態は、受信データ記憶領域27aが「コマンドデータB」を記憶し、送信データ記憶領域27bが「レスポンスデータB」を記憶する状態になる。
【0079】
しかし、ここで、端末装置10が、ICカード20から送信された「レスポンスデータB」を正常に受信できなかったとする。この場合も、端末装置10は、エラーが発生したと判断する。
【0080】
端末装置10は、上述したように、状態読出コマンドをICカード20に送信し、ICカード20の受信データ記憶領域27a及び送信データ記憶領域27bが記憶しているデータを読み出す。
【0081】
端末装置10は、受信データ記憶領域27a及び送信データ記憶領域27bが記憶しているデータに基づいて、ICカード20の状態を判別する。図9に示すように、受信データ記憶領域27aが「コマンドデータB」を記憶し、送信データ記憶領域27bが「レスポンスデータB」を記憶している場合、端末装置10は、ICカード20により「コマンドデータB」に基づくコマンド処理が実行され、且つ、「レスポンスデータB」がICカード20から正常に送信されたと判別する。この場合、端末装置10は、端末装置10において受信エラーが発生した、または、ICカード20から送信されたデータが例えばノイズなどの影響により消失したと判別する。
【0082】
即ち、端末装置10は、最後にICカード20に送信したコマンドが受信データ記憶領域27aに記憶されており、且つ、最後にICカード20に送信したコマンドに対するレスポンスが送信データ記憶領域27bに記憶されている場合、ICカード20から送信されたレスポンスを端末装置10が受け取る事ができなかったと判別することが出来る。
【0083】
さらに、端末装置10は、上記の判別の結果を表示部16に表示することにより、端末装置10の操作者に判別の結果を報知することができる。また、端末装置10は、単にICカード20から読み出したデータを表示部16に表示する構成であってもよい。例えば、端末装置10は、ICカード20の受信データ記憶領域27a及び送信データ記憶領域27bにより記憶されているデータを読出し、表示部16に表示する構成であってもよい。
【0084】
上記した実施形態に係るICカード処理システム1は、受信データ記憶領域27a及び送信データ記憶領域27bを備えるICカード20と端末装置10とを備える。Icカード20は、端末装置10との間でデータの送受信が正常に行われたと判断する場合、送受信したデータを受信データ記憶領域27aまたは送信データ記憶領域27bに記憶する。また、端末装置10は、エラーが発生したと判断する場合、ICカード20に状態読出コマンドを送信することにより、ICカード20の受信データ記憶領域27a及び送信データ記憶領域27bを読み出す。
【0085】
これにより、端末装置10のCPU11は、受信データ記憶領域27aから読み出した受信データと、送信データ記憶領域27bから読み出した送信データとに基づいて、ICカード20の状態を判別することができる。さらに、端末装置10は、エラーの原因を特定するための情報を取得することができる。この為、ICカード処理システム1は、一連の電文の途中で起こったエラーの原因の特定を容易にすることができる。この結果、エラーの原因を容易に特定することができる携帯可能電子装置、及び携帯可能電子装置の処理システムを提供することができる。
【0086】
なお、上記した実施形態では、ICカード20は、不揮発性メモリ27が受信データを記憶する記憶領域(受信データ記憶領域)及び送信データを記憶する記憶領域(送信データ記憶領域)を備える構成として説明したが、この構成に限定されない。例えば、ICカード20は、RAM26が受信データ記憶領域及び送信データ記憶領域を備える構成であってもよい。さらに、ICカード20は、RAM26と不揮発性メモリ27との両方が受信データ記憶領域及び送信データ記憶領域を備える構成であってもよい。またさらに、ICカード20は、受信データ記憶領域及び送信データ記憶領域を備える記憶モジュールをさらに備える構成であってもよい。
【0087】
また、ICカード20は、受信データ記憶領域及び送信データ記憶領域に受信データ及び送信データを記憶する場合の方法を示す設定情報を記憶するメモリ(セッティングメモリ)をさらに備える構成であってもよい。この場合、ICカード20は、セッティングメモリにより記憶されている設定情報に基づいて受信データ及び送信データを記憶する。
【0088】
図10は、ICカード20の他の構成例を示す。
図10は、RAM26と不揮発性メモリ27との両方が受信データ記憶領域及び送信データ記憶領域を備えるICカード20の例を示す。なお、送受信インターフェース23、CPU24、ROM25、電源入力部28、リセット信号入力部29、及びクロック入力部30は、図2により示されるICカード20と同様の構成であるので、詳細な説明を省略する。
【0089】
RAM26は、受信データ記憶領域26a、及び送信データ記憶領域26bを備える。また、不揮発性メモリ27は、受信データ記憶領域27a、及び送信データ記憶領域27bを備える。なお、RAM26の受信データ記憶領域26a及び送信データ記憶領域26bは、不揮発性メモリ27の受信データ記憶領域27a及び送信データ記憶領域27bと同様の構成である。
【0090】
しかし、受信データ記憶領域及び送信データ記憶領域がRAM26に形成されている場合、ICカード20は、受信データ記憶領域及び送信データ記憶領域が不揮発性メモリ27に形成されている場合に比べてより高速に受信データ及び送信データの保存を行うことができる。
【0091】
また、受信データ記憶領域及び送信データ記憶領域が不揮発性メモリ27に形成されている場合、ICカード20の電源が落ちても受信データ及び送信データが消失しない為、より確実にエラーの原因を特定することができる。この場合、例えば、端末装置10は、受信データ及び送信データの記憶をICカード20に実行させる為の情報をICカード20に送信することにより、前回の終了時と同じ条件で受信データ及び送信データの記憶をICカード20に実行させることができる。
【0092】
またさらに、受信データ記憶領域及び送信データ記憶領域がRAM26と不揮発性メモリ27との両方に形成されている場合、ICカード20は、高速、且つ、確実に受信データ及び送信データを受信データ記憶領域及び送信データ記憶領域に保存することができる。
【0093】
また、不揮発性メモリ27は、受信データ記憶領域及び送信データ記憶領域に受信データ及び送信データを記憶する場合の方法を示す設定情報を記憶するセッティングメモリ27cをさらに備える。ICカード20は、セッティングメモリ27cにより記憶されている設定情報に基づいて受信データ及び送信データを記憶する。
【0094】
ICカード20は、端末装置10から送信されるコマンド(設定コマンド)に基づいて設定情報を生成し、セッティングメモリ27cに記憶する。
【0095】
なお、ICカード20は、RAM26、または他の記憶モジュールがセッティングメモリを備える構成であってもよい。
【0096】
またさらに、ICカード20は、不揮発性メモリ27の受信データ記憶領域27a及び送信データ記憶領域27bに受信データ及び送信データを記憶する場合の方法を示す設定情報(第1の設定情報)と、RAM26の受信データ記憶領域26a及び送信データ記憶領域26bに受信データ及び送信データを記憶する場合の方法を示す設定情報(第2の設定情報)と、を有する構成であってもよい。
【0097】
この場合、例えば、ICカード20は、不揮発性メモリ27が第1の設定情報と第2の設定情報とを記憶するセッティングメモリを備える構成であってもよい。この構成によると、ICカード20は、電源が落ちても受信データ記憶領域及び送信データ記憶領域の再設定を行う必要がなくなる。
【0098】
また、例えば、ICカード20は、RAM26が第1の設定情報と第2の設定情報とを記憶するセッティングメモリを備える構成であってもよい。この構成によると、ICカード20は、より高速に受信データ記憶領域及び送信データ記憶領域の設定を行うことができる。
【0099】
またさらに、ICカード20は、不揮発性メモリ27が第1の設定情報を記憶するセッティングメモリを備え、RAM26が第1の設定情報を記憶するセッティングメモリを備える構成であってもよい。
【0100】
なお、本例では、ICカード20は、不揮発性メモリ27が受信データ記憶領域27a、送信データ記憶領域27b、及びセッティングメモリ27cを備え、RAM26が受信データ記憶領域26a及び送信データ記憶領域26bを備える構成として説明する。
【0101】
図11は、端末装置10から送信されるコマンドの例を示す。
図11により示されるように、端末装置10がICカード20に送信するコマンドは、
「CLA」、「INS」、「P1」、「P2」、「Lc」、「Data」、及び「Le」などのフィールドを有する。
【0102】
「CLA」は、コマンドの層別を示すclass byteである。「INS」は、コマンドの種別を示すinstruction byteである。「P1」及び「P2」は、「INS」に応じたパラメータを示すparameter byteである。
【0103】
「Lc」は、「Data」のデータの長さ(バイト数)を示すlength field for cording number Ncである。「Data」は、当該コマンドのデータ本体を示すcommand data fieldである。「Le」は、当該コマンドに対するレスポンスのデータ長を示すlength field for cording number Neである。
【0104】
即ち、「CLA」及び「INS」により、当該コマンドの種類が示される。ICカード20は、受信したコマンドの「CLA」及び「INS」の値を解析することにより、受信したコマンドの種類を認識する。
【0105】
端末装置10は、ICカード20に上記の設定を行わせる為の設定コマンド、及びICカード20の受信データ記憶領域及び送信データ記憶領域が記憶しているデータを読み出すための状態読出コマンドを生成し、ICカード20に送信する。
【0106】
図11により示されるコマンドが設定コマンドである場合、「CLA」及び「INS」は、当該コマンドが設定コマンドであることを示すデータを有する。この場合、「Data」は、保存先を示すデータ、記憶領域のサイズを示すデータ、記憶する受信データの数を示すデータ、記憶する送信データの数を示すデータ、記憶対象のフィールドを示すデータ、及び記憶するコマンドの種類を示すデータなどを有する。
【0107】
ICカード20は、端末装置10から設定コマンドを受信した場合、図12により示されるような設定情報を生成する。
【0108】
保存先を示すデータは、受信データ及び送信データを記憶する記憶領域を指定する為のデータである。例えば、保存先を示すデータは、RAM26を指定するデータ、不揮発性メモリ27を指定するデータ、または受信データ及び送信データの記憶を行わないことを示すデータを有する。
【0109】
ICカード20は、保存先を示すデータがRAM26を指定するデータである場合、RAM26の受信データ記憶領域26a及び送信データ記憶領域26bに受信データ及び送信データを記憶するように設定情報を生成する。また、ICカード20は、保存先を示すデータが不揮発性メモリ27を指定するデータである場合、不揮発性メモリ27の受信データ記憶領域27a及び送信データ記憶領域27bに受信データ及び送信データを記憶するように設定情報の「保存先」の項目を生成する。
【0110】
なお、本例では、ICカード20は、「保存先」として不揮発性メモリ27が設定されていると仮定して説明する。例えば、「保存先」としてRAM26が設定されている場合であっても、ICカード20は、同様の処理で受信データ及び送信データを記憶することができる。
【0111】
このような構成によると、受信データ及び送信データを記憶するメモリをRAM26と不揮発性メモリ27とで指定することができる為、ICカード20は、場面に合わせてより適切な処理を行うことが出来る。
【0112】
記憶領域のサイズを示すデータは、受信データ及び送信データを記憶する記憶領域のサイズを指定する為のデータである。ICカード20は、記憶領域のサイズを示すデータにより指定されたサイズの記憶領域を受信データ及び送信データを記憶する為の記憶領域として不揮発性メモリ27上で確保する。またICカード20は、記憶領域のサイズを示すデータに基づいて設定情報の「記憶領域のサイズ」の項目を生成する。
【0113】
記憶する受信データ及び送信データの数を示すデータは、保存先として指定された記憶領域に記憶する受信データ及び送信データの数を指定する為のデータである。ICカード20は、このデータに基づいて、記憶する受信データの数、及び記憶する送信データの数をそれぞれ設定し、設定情報の「記憶する受信データの数」及び「記憶する送信データの数」の項目を生成する。
【0114】
ICカード20は、「記憶する受信データの数」により示される数の受信データが記憶されている場合、最も古い受信データに新しい受信データを上書きする。また、ICカード20は、「記憶する送信データの数」により示される数の送信データが記憶されている場合、最も古い送信データに新しい送信データを上書きする。
【0115】
なお、ICカード20は、「記憶領域のサイズ」と、「記憶する送受信データの数」及び「記憶する送信データの数」とのいずれかの項目のみを設定する構成であってもよい。例えば、「記憶領域のサイズ」のみが設定された場合、ICカード20は、受信データ記憶領域27a及び送信データ記憶領域27bの使用容量を逐次認識する。ICカード20は、受信データ記憶領域27a及び送信データ記憶領域27bの使用容量が「記憶領域のサイズ」により示される容量を超える場合、既に記憶されている受信データまたは送信データに新しいデータを上書きする。
【0116】
このような構成によると、複数の受信データ及び送信データを記憶することができる為、ICカード20は、より詳細なエラーの原因の特定の為のデータを端末装置10に送信することが出来る。
【0117】
図13は、「記憶する受信データの数」が3、「記憶する送信データの数」が3で設定されている場合の受信データ記憶領域27a及び送信データ記憶領域27bの例を示す。図13により示されるように受信データ記憶領域27aに3つの受信データ(コマンドデータ)が記憶されている。また、送信データ記憶領域27bに3つの送信データ(レスポンスデータ)が記憶されている。
【0118】
例えば、この状態で、新たに受信データ(コマンドデータD)を受信データ記憶領域27aに記憶する場合、ICカード20は、最も古いコマンドデータAにコマンドデータDを上書きする。
【0119】
記憶対象のフィールドを示すデータは、上記の受信データ記憶領域27a及び送信データ記憶領域27bに記憶するデータの種類を示すデータである。ICカード20は、記憶対象のフィールドを示すデータに基づいて、設定情報の「記憶対象」の項目を生成する。
【0120】
上記したように、端末装置10からICカード20に送信されるコマンドは、「CLA」、「INS」、「P1」、「P2」、「Lc」、「Data」、及び「Le」などのフィールドを有する。
【0121】
また、ICカード20から端末装置10に送信されるレスポンスは、「Data」、「SW1」、及び「SW2」などのフィールドを有する。「Data」は、レスポンスとして送信するデータの本体である。「SW1」、及び「SW2」は、ICカード20における処理結果を示すデータが格納されるフィールドである。
【0122】
ICカード20は、端末装置10から受信したコマンドの「CLA」、「INS」、「P1」、「P2」、「Lc」、「Data」、及び「Le」などのフィールドのうち、「記憶対象」により示されるフィールドのデータを受信データとして受信データ記憶領域27aに記憶する。
【0123】
また、ICカード20は、端末装置10に送信するレスポンスの「Data」、「SW1」、及び「SW2」などのフィールドのうち、「記憶対象」により示されるフィールドのデータを送信データとして送信データ記憶領域27bに記憶する。
【0124】
このような構成によると、受信データ及び送信データとして記憶するデータの容量を抑えることができる為、ICカード20は、より効率的にメモリを活用することが出来る。
【0125】
記憶するコマンドの種類を示すデータは、受信データ及び送信データを記憶するコマンドの種類を指定する為のデータである。ICカード20は、記憶するコマンドの種類を示すデータに基づいて、設定情報の「コマンド種別」の項目を生成する。
【0126】
ICカード20は、「コマンド種別」により指定された特定のコマンドを受信した場合に受信データ及び送信データの記憶を行う。「コマンド種別」は、例えば、コマンドの「CLA」及び「INS」の値に相当する。即ち、ICカード20は、端末装置10からコマンドを受信した場合、受信したコマンドの「CLA」及び「INS」の値を認識し、認識した値と「コマンド種別」の値とが一致した場合、受信データ及び送信データを受信データ記憶領域27a及び送信データ記憶領域27bにそれぞれ記憶する。
【0127】
このような構成によると、受信データ及び送信データを記憶するコマンドを指定することができる為、ICカード20は、より効率的にメモリを活用することが出来る。
【0128】
なお、設定コマンドは、保存先を示すデータ、記憶領域のサイズを示すデータ、記憶する受信データの数を示すデータ、記憶する送信データの数を示すデータ、記憶対象のフィールドを示すデータ、及び記憶するコマンドの種類を示すデータの全てを備える構成であってもよいし、上記のうちの任意のものを備える構成であってもよい。
【0129】
例えば、ICカード20は、デフォルトの設定情報を不揮発性メモリ27またはROM25に備える。ICカード20は、設定コマンドで指定されなかった項目についてデフォルトの設定情報を参照することにより、セッティングメモリ27に記憶する設定情報を生成することができる。
【0130】
また、設定コマンドは、保存先を示すデータ、記憶領域のサイズを示すデータ、記憶する受信データの数を示すデータ、記憶する送信データの数を示すデータ、記憶対象のフィールドを示すデータ、及び記憶するコマンドの種類を示すデータを「Data」が有する構成として説明したが、この構成に限定されない。設定コマンドは、これらのデータのうちのいくつかを「P1」、及び/または「P2」が有する構成であってもよい。
【0131】
また、ICカード20は、所定のコマンド(初期化コマンド)を端末装置10から受信した場合に設定情報を初期化する構成であってもよい。なお、ICカード20は、上記の設定コマンドを受信した場合に設定情報を初期化してから各種の設定情報を再設定する構成であってもよいし、起動時に設定情報を初期化する構成であってもよい。
【0132】
また、図11により示されるコマンドが上記した状態読出しコマンドである場合、「CLA」及び「INS」は、当該コマンドが状態読出しコマンドであることを示すデータを有する。この場合、「Data」は、読み出しの方法を指定する為の情報を有する。
【0133】
例えば、「Data」は、受信データ及び送信データを一括して読み出すことをICカード20に指示するデータ、受信データのみを読み出すことをICカード20に指示するデータ、送信データのみを読み出すことをICカード20に指示するデータ、受信データ及び送信データを1つずつ読み出すことをICカード20に指示するデータ、及び受信データ及び送信データを指定数ずつ読み出すことをICカード20に指示するデータ、のうちのいずれかを有する。
【0134】
「Data」が受信データ及び送信データを一括して読み出すことをICカード20に指示するデータを有する場合、ICカード20は、受信データ記憶領域27a及び送信データ記憶領域27bに記憶されている全ての受信データ及び送信データを読み出し、読み出したデータを含むレスポンスを生成する。ICカード20は、生成したレスポンスを端末装置10に送信する。
【0135】
また、「Data」が受信データのみを読み出すことをICカード20に指示するデータを有する場合、ICカード20は、受信データ記憶領域27aに記憶されている全ての受信データを読み出し、読み出したデータを含むレスポンスを生成する。ICカード20は、生成したレスポンスを端末装置10に送信する。
【0136】
また、「Data」が送信データのみを読み出すことをICカード20に指示するデータを有する場合、ICカード20は、送信データ記憶領域27bに記憶されている全ての送信データを読み出し、読み出したデータを含むレスポンスを生成する。ICカード20は、生成したレスポンスを端末装置10に送信する。
【0137】
また、受信データ及び送信データを1つずつ読み出すことをICカード20に指示するデータを有する場合、ICカード20は、受信データ記憶領域27a及び送信データ記憶領域27bに記憶されている受信データ及び送信データを1つずつ読み出し、読み出したデータを含むレスポンスを生成する。ICカード20は、生成したレスポンスを端末装置10に送信する。
【0138】
また、受信データ及び送信データを指定数ずつ読み出すことをICカード20に指示するデータを有する場合、ICカード20は、受信データ記憶領域27a及び送信データ記憶領域27bに記憶されている受信データ及び送信データを指定された数ずつ読み出し、読み出したデータを含むレスポンスを生成する。ICカード20は、生成したレスポンスを端末装置10に送信する。なお、この場合、「Data」は、読み出す受信データの数(指定数)と読み出す送信データの数(指定数)とをそれぞれ有する。
【0139】
上記したように、ICカード20は、端末装置10により指定された方法で受信データ記憶領域27a及び送信データ記憶領域27bから受信データ及び送信データを読み出し、レスポンスを生成する。この為、ICカード20は、不要な処理を行うことなく、必要なデータを受信データ記憶領域27a及び送信データ記憶領域27bから読み出し、端末装置10に送信することができる。この結果、ICカード20は、より効率よく処理を行うことができる。
【0140】
上記した実施形態では、状態読出しコマンドの「Data」が受信データ及び送信データを一括して読み出すことをICカード20に指示するデータ、受信データのみを読み出すことをICカード20に指示するデータ、送信データのみを読み出すことをICカード20に指示するデータ、受信データ及び送信データを1つずつ読み出すことをICカード20に指示するデータ、及び受信データ及び送信データを指定数ずつ読み出すことをICカード20に指示するデータ、のうちのいずれかを有する構成として説明したが、この構成に限定されない。
【0141】
状態読出しコマンドの「P1」及び「P2」の値により受信データ及び送信データを一括して読み出すことをICカード20に指示するデータ、受信データのみを読み出すことをICカード20に指示するデータ、送信データのみを読み出すことをICカード20に指示するデータ、受信データ及び送信データを1つずつ読み出すことをICカード20に指示するデータ、及び受信データ及び送信データを指定数ずつ読み出すことをICカード20に指示するデータを示す構成であってもよい。また、それぞれ個別に異なるコマンドが設定されてもよい。
【0142】
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
【0143】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【0144】
1…ICカード処理システム、10…端末装置、11…CPU、12…RAM、13…ROM、15…操作部、16…表示部、17…カードリーダライタ、18…スロット、19…バス、20…ICカード、21…ICモジュール、22…ICチップ、23…送受信インターフェース、23a…受信レジスタ、23b…送信レジスタ、24…CPU、25…ROM、26…RAM、26a…受信データ記憶領域、26b…送信データ記憶領域、27…不揮発性メモリ、27a…受信データ記憶領域、27b…送信データ記憶領域、27c…セッティングメモリ、28…電源入力部、29…リセット信号入力部、30…クロック入力部。
【特許請求の範囲】
【請求項1】
外部機器から入力されるコマンドに応じて動作する携帯可能電子装置であって、
前記外部機器から送信される前記コマンドを受信する受信部と、
前記受信部により受信する前記コマンドを一時的に記憶する受信レジスタと、
前記受信部により前記コマンドの受信が正常に完了したか否か判断し、前記コマンドの受信が正常に完了したと判断した場合、前記コマンドを受信データとして記憶する第1の記憶部と、
前記受信レジスタにより記憶されている前記コマンドに基づいて処理を行いレスポンスを生成するコマンド処理部と、
前記コマンド処理部により生成された前記外部機器に送信する前記レスポンスを一時的に記憶する送信レジスタと、
前記送信レジスタにより記憶されている前記レスポンスを前記外部機器に送信する送信部と、
前記送信部により前記レスポンスの送信が正常に完了したか否か判断し、前記レスポンスの送信が正常に完了したと判断した場合、前記レスポンスを送信データとして記憶する第2の記憶部と、
を具備する携帯可能電子装置。
【請求項2】
前記第1の記憶部は、前記コマンドが予め設定された種類のコマンドであり、且つ、前記コマンドの受信が正常に完了したと判断した場合、前記コマンドを受信データとして記憶し、
前記第2の記憶部は、前記コマンドが予め設定された種類のコマンドであり、且つ、前記レスポンスの送信が正常に完了したと判断した場合、前記レスポンスを送信データとして記憶する、
請求項1に記載の携帯可能電子装置。
【請求項3】
前記第1の記憶部は、前記コマンドの受信が正常に完了したと判断した場合、前記コマンドの予め設定されたフィールドを受信データとして記憶する、請求項1に記載の携帯可能電子装置。
【請求項4】
前記第2の記憶部は、前記レスポンスの送信が正常に完了したと判断した場合、前記レスポンスの予め設定されたフィールドを送信データとして記憶する、請求項3に記載の携帯可能電子装置。
【請求項5】
前記第1の記憶部は、
前記コマンドの受信が正常に完了したと判断した場合、予め設定された数の受信データを記憶しているか否か判定し、
予め設定された数の受信データを記憶していると判定した場合、最も古い受信データに新たな受信データを上書きし、
予め設定された数の受信データを記憶していないと判定した場合、受信データを追記し、
前記第2の記憶部は、
前記レスポンスの送信が正常に完了したと判断した場合、予め設定された数の送信データを記憶しているか否か判定し、
予め設定された数の送信データを記憶していると判定した場合、最も古い送信データに新たな送信データを上書きし、
予め設定された数の送信データを記憶していないと判定した場合、送信データを追記する、
請求項1に記載の携帯可能電子装置。
【請求項6】
前記第1の記憶部は、
前記コマンドの受信が正常に完了したと判断した場合、空き容量があるか否か判定し、
空き容量がないと判定した場合、最も古い受信データに新たな受信データを上書きし、
空き容量があると判定した場合、受信データを追記し、
前記第2の記憶部は、
前記レスポンスの送信が正常に完了したと判断した場合、空き容量があるか否か判定し、
空き容量がないと判定した場合、最も古い送信データに新たな送信データを上書きし、
空き容量があると判定した場合、送信データを追記する、
請求項1に記載の携帯可能電子装置。
【請求項7】
データを一時的に記憶する揮発性メモリと、
データを非一時的に記憶する不揮発性メモリと、
をさらに具備し、
前記第1の記憶部は、予め設定された設定情報に基づいて、受信データを前記揮発性メモリと前記不揮発性メモリとのいずれか、または両方に記憶し、
前記第2の記憶部は、予め設定された設定情報に基づいて、送信データを前記揮発性メモリと前記不揮発性メモリとのいずれか、または両方に記憶する、
請求項1に記載の携帯可能電子装置。
【請求項8】
前記コマンド処理部は、前記第1の記憶部により記憶されている前記受信データと前記第2の記憶部により記憶されている前記送信データとを読み出す状態読出コマンドを前記受信部により受信する場合、前記第1の記憶部により記憶されている前記受信データと前記第2の記憶部により記憶されている前記送信データとを読み出し、読み出した前記受信データ及び前記送信データを含むレスポンスを生成する、
請求項1に記載の携帯可能電子装置。
【請求項9】
前記コマンド処理部は、前記状態読出コマンドを受信した場合、前記第1の記憶部により記憶されている全ての受信データと前記第2の記憶部により記憶されている全ての送信データとを読み出し、読み出した前記受信データ及び前記送信データを含むレスポンスを生成する、請求項8に記載の携帯可能電子装置。
【請求項10】
前記コマンド処理部は、前記状態読出コマンドを受信した場合、前記第1の記憶部により記憶されている全ての受信データを読み出し、読み出した前記受信データを含むレスポンスを生成する、請求項8に記載の携帯可能電子装置。
【請求項11】
前記コマンド処理部は、前記状態読出コマンドを受信した場合、前記第2の記憶部により記憶されている全ての送信データを読み出し、読み出した前記送信データを含むレスポンスを生成する、請求項8に記載の携帯可能電子装置。
【請求項12】
前記コマンド処理部は、前記状態読出コマンドを受信した場合、前記第1の記憶部により記憶されている受信データと前記第2の記憶部により記憶されている送信データとを1つずつ読み出し、読み出した前記受信データ及び前記送信データを含むレスポンスを生成する、請求項8に記載の携帯可能電子装置。
【請求項13】
前記コマンド処理部は、前記状態読出コマンドを受信した場合、前記第1の記憶部により記憶されている受信データと前記第2の記憶部により記憶されている送信データとを前記状態読出しコマンドにより指定された数ずつ読み出し、読み出した前記受信データ及び前記送信データを含むレスポンスを生成する、請求項8に記載の携帯可能電子装置。
【請求項14】
前記各部を備えるICモジュールと、
前記ICモジュールが配設される本体と、
を具備する請求項1に記載の携帯可能電子装置。
【請求項15】
携帯可能電子装置を処理する端末装置と、前記端末装置から入力されるコマンドに応じて動作する携帯可能電子装置とを有する携帯可能電子装置の処理システムであって、
前記端末装置は、
前記コマンドを生成し、生成した前記コマンドを前記携帯可能電子装置に送信する第1の送信部と、
前記携帯可能電子装置から送信されるレスポンスを受信する第1の受信部と、
を具備し、
前記携帯可能電子装置は、
前記端末装置から送信される前記コマンドを受信する第2の受信部と、
前記第2の受信部により受信する前記コマンドを一時的に記憶する受信レジスタと、
前記第2の受信部により前記コマンドの受信が正常に完了したか否か判断し、前記コマンドの受信が正常に完了したと判断した場合、前記コマンドを受信データとして記憶する第1の記憶部と、
前記受信レジスタにより記憶されている前記コマンドに基づいて処理を行いレスポンスを生成するコマンド処理部と、
前記コマンド処理部により生成された前記端末装置に送信する前記レスポンスを一時的に記憶する送信レジスタと、
前記送信レジスタにより記憶されている前記レスポンスを前記端末装置に送信する第2の送信部と、
前記第2の送信部により前記レスポンスの送信が正常に完了したか否か判断し、前記レスポンスの送信が正常に完了したと判断した場合、前記レスポンスを送信データとして記憶する第2の記憶部と、
を具備する携帯可能電子装置の処理システム。
【請求項16】
前記第1の送信部は、前記携帯可能電子装置に前記コマンドを送信してから予め設定される所定時間内に前記第1の受信部により前記レスポンスを受信したか否か判断し、所定時間内に前記レスポンスを受信しなかったと判断した場合、前記第1の記憶部により記憶されている前記受信データと前記第2の記憶部により記憶されている前記送信データとを読み出す状態読出コマンドを前記携帯可能電子装置に送信し、
前記コマンド処理部は、前記状態読出コマンドを前記受信部により受信する場合、前記第1の記憶部により記憶されている前記受信データと前記第2の記憶部により記憶されている前記送信データとを読み出し、読み出した前記受信データ及び前記送信データを含むレスポンスを生成し、
前記第1の受信部は、前記携帯可能電子装置から送信される前記受信データ及び前記送信データを含む前記レスポンスを受信する、
請求項4に記載の携帯可能電子装置の処理システム。
【請求項17】
前記端末装置は、前記第1の受信部により受信した前記受信データ及び前記送信データを含む前記レスポンスを報知する報知部をさらに具備する請求項16に記載の携帯可能電子装置の処理システム。
【請求項18】
前記端末装置は、
前記第1の受信部により受信した前記受信データ及び前記送信データに基づいて、前記携帯可能電子装置の状態を判別する判別部と、
前記判別部による判別の結果を報知する報知部と、
をさらに具備する、
請求項16に記載の携帯可能電子装置の処理システム。
【請求項1】
外部機器から入力されるコマンドに応じて動作する携帯可能電子装置であって、
前記外部機器から送信される前記コマンドを受信する受信部と、
前記受信部により受信する前記コマンドを一時的に記憶する受信レジスタと、
前記受信部により前記コマンドの受信が正常に完了したか否か判断し、前記コマンドの受信が正常に完了したと判断した場合、前記コマンドを受信データとして記憶する第1の記憶部と、
前記受信レジスタにより記憶されている前記コマンドに基づいて処理を行いレスポンスを生成するコマンド処理部と、
前記コマンド処理部により生成された前記外部機器に送信する前記レスポンスを一時的に記憶する送信レジスタと、
前記送信レジスタにより記憶されている前記レスポンスを前記外部機器に送信する送信部と、
前記送信部により前記レスポンスの送信が正常に完了したか否か判断し、前記レスポンスの送信が正常に完了したと判断した場合、前記レスポンスを送信データとして記憶する第2の記憶部と、
を具備する携帯可能電子装置。
【請求項2】
前記第1の記憶部は、前記コマンドが予め設定された種類のコマンドであり、且つ、前記コマンドの受信が正常に完了したと判断した場合、前記コマンドを受信データとして記憶し、
前記第2の記憶部は、前記コマンドが予め設定された種類のコマンドであり、且つ、前記レスポンスの送信が正常に完了したと判断した場合、前記レスポンスを送信データとして記憶する、
請求項1に記載の携帯可能電子装置。
【請求項3】
前記第1の記憶部は、前記コマンドの受信が正常に完了したと判断した場合、前記コマンドの予め設定されたフィールドを受信データとして記憶する、請求項1に記載の携帯可能電子装置。
【請求項4】
前記第2の記憶部は、前記レスポンスの送信が正常に完了したと判断した場合、前記レスポンスの予め設定されたフィールドを送信データとして記憶する、請求項3に記載の携帯可能電子装置。
【請求項5】
前記第1の記憶部は、
前記コマンドの受信が正常に完了したと判断した場合、予め設定された数の受信データを記憶しているか否か判定し、
予め設定された数の受信データを記憶していると判定した場合、最も古い受信データに新たな受信データを上書きし、
予め設定された数の受信データを記憶していないと判定した場合、受信データを追記し、
前記第2の記憶部は、
前記レスポンスの送信が正常に完了したと判断した場合、予め設定された数の送信データを記憶しているか否か判定し、
予め設定された数の送信データを記憶していると判定した場合、最も古い送信データに新たな送信データを上書きし、
予め設定された数の送信データを記憶していないと判定した場合、送信データを追記する、
請求項1に記載の携帯可能電子装置。
【請求項6】
前記第1の記憶部は、
前記コマンドの受信が正常に完了したと判断した場合、空き容量があるか否か判定し、
空き容量がないと判定した場合、最も古い受信データに新たな受信データを上書きし、
空き容量があると判定した場合、受信データを追記し、
前記第2の記憶部は、
前記レスポンスの送信が正常に完了したと判断した場合、空き容量があるか否か判定し、
空き容量がないと判定した場合、最も古い送信データに新たな送信データを上書きし、
空き容量があると判定した場合、送信データを追記する、
請求項1に記載の携帯可能電子装置。
【請求項7】
データを一時的に記憶する揮発性メモリと、
データを非一時的に記憶する不揮発性メモリと、
をさらに具備し、
前記第1の記憶部は、予め設定された設定情報に基づいて、受信データを前記揮発性メモリと前記不揮発性メモリとのいずれか、または両方に記憶し、
前記第2の記憶部は、予め設定された設定情報に基づいて、送信データを前記揮発性メモリと前記不揮発性メモリとのいずれか、または両方に記憶する、
請求項1に記載の携帯可能電子装置。
【請求項8】
前記コマンド処理部は、前記第1の記憶部により記憶されている前記受信データと前記第2の記憶部により記憶されている前記送信データとを読み出す状態読出コマンドを前記受信部により受信する場合、前記第1の記憶部により記憶されている前記受信データと前記第2の記憶部により記憶されている前記送信データとを読み出し、読み出した前記受信データ及び前記送信データを含むレスポンスを生成する、
請求項1に記載の携帯可能電子装置。
【請求項9】
前記コマンド処理部は、前記状態読出コマンドを受信した場合、前記第1の記憶部により記憶されている全ての受信データと前記第2の記憶部により記憶されている全ての送信データとを読み出し、読み出した前記受信データ及び前記送信データを含むレスポンスを生成する、請求項8に記載の携帯可能電子装置。
【請求項10】
前記コマンド処理部は、前記状態読出コマンドを受信した場合、前記第1の記憶部により記憶されている全ての受信データを読み出し、読み出した前記受信データを含むレスポンスを生成する、請求項8に記載の携帯可能電子装置。
【請求項11】
前記コマンド処理部は、前記状態読出コマンドを受信した場合、前記第2の記憶部により記憶されている全ての送信データを読み出し、読み出した前記送信データを含むレスポンスを生成する、請求項8に記載の携帯可能電子装置。
【請求項12】
前記コマンド処理部は、前記状態読出コマンドを受信した場合、前記第1の記憶部により記憶されている受信データと前記第2の記憶部により記憶されている送信データとを1つずつ読み出し、読み出した前記受信データ及び前記送信データを含むレスポンスを生成する、請求項8に記載の携帯可能電子装置。
【請求項13】
前記コマンド処理部は、前記状態読出コマンドを受信した場合、前記第1の記憶部により記憶されている受信データと前記第2の記憶部により記憶されている送信データとを前記状態読出しコマンドにより指定された数ずつ読み出し、読み出した前記受信データ及び前記送信データを含むレスポンスを生成する、請求項8に記載の携帯可能電子装置。
【請求項14】
前記各部を備えるICモジュールと、
前記ICモジュールが配設される本体と、
を具備する請求項1に記載の携帯可能電子装置。
【請求項15】
携帯可能電子装置を処理する端末装置と、前記端末装置から入力されるコマンドに応じて動作する携帯可能電子装置とを有する携帯可能電子装置の処理システムであって、
前記端末装置は、
前記コマンドを生成し、生成した前記コマンドを前記携帯可能電子装置に送信する第1の送信部と、
前記携帯可能電子装置から送信されるレスポンスを受信する第1の受信部と、
を具備し、
前記携帯可能電子装置は、
前記端末装置から送信される前記コマンドを受信する第2の受信部と、
前記第2の受信部により受信する前記コマンドを一時的に記憶する受信レジスタと、
前記第2の受信部により前記コマンドの受信が正常に完了したか否か判断し、前記コマンドの受信が正常に完了したと判断した場合、前記コマンドを受信データとして記憶する第1の記憶部と、
前記受信レジスタにより記憶されている前記コマンドに基づいて処理を行いレスポンスを生成するコマンド処理部と、
前記コマンド処理部により生成された前記端末装置に送信する前記レスポンスを一時的に記憶する送信レジスタと、
前記送信レジスタにより記憶されている前記レスポンスを前記端末装置に送信する第2の送信部と、
前記第2の送信部により前記レスポンスの送信が正常に完了したか否か判断し、前記レスポンスの送信が正常に完了したと判断した場合、前記レスポンスを送信データとして記憶する第2の記憶部と、
を具備する携帯可能電子装置の処理システム。
【請求項16】
前記第1の送信部は、前記携帯可能電子装置に前記コマンドを送信してから予め設定される所定時間内に前記第1の受信部により前記レスポンスを受信したか否か判断し、所定時間内に前記レスポンスを受信しなかったと判断した場合、前記第1の記憶部により記憶されている前記受信データと前記第2の記憶部により記憶されている前記送信データとを読み出す状態読出コマンドを前記携帯可能電子装置に送信し、
前記コマンド処理部は、前記状態読出コマンドを前記受信部により受信する場合、前記第1の記憶部により記憶されている前記受信データと前記第2の記憶部により記憶されている前記送信データとを読み出し、読み出した前記受信データ及び前記送信データを含むレスポンスを生成し、
前記第1の受信部は、前記携帯可能電子装置から送信される前記受信データ及び前記送信データを含む前記レスポンスを受信する、
請求項4に記載の携帯可能電子装置の処理システム。
【請求項17】
前記端末装置は、前記第1の受信部により受信した前記受信データ及び前記送信データを含む前記レスポンスを報知する報知部をさらに具備する請求項16に記載の携帯可能電子装置の処理システム。
【請求項18】
前記端末装置は、
前記第1の受信部により受信した前記受信データ及び前記送信データに基づいて、前記携帯可能電子装置の状態を判別する判別部と、
前記判別部による判別の結果を報知する報知部と、
をさらに具備する、
請求項16に記載の携帯可能電子装置の処理システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−208910(P2012−208910A)
【公開日】平成24年10月25日(2012.10.25)
【国際特許分類】
【出願番号】特願2011−207443(P2011−207443)
【出願日】平成23年9月22日(2011.9.22)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成24年10月25日(2012.10.25)
【国際特許分類】
【出願日】平成23年9月22日(2011.9.22)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]