(57)【要約】【課題】  より効率的にコマンド処理を実行することができる携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システムを提供する。【解決手段】  携帯可能電子装置は、外部機器から入力されるコマンドに応じて動作する携帯可能電子装置であって、前記外部機器とデータの送受信を行う送受信部と、前記送受信部により受信するコマンドを処理するコマンド処理部と、前記送受信部により受信するコマンドが連結コマンドであるか否かを判定する判定部と、前記判定部により連結コマンドであると判定する場合、前記送受信部により次のコマンドを受信して、前記送受信部で受信するコマンドを処理するように前記コマンド処理部を制御する制御部と、を具備する。【選択図】      図５
2012043303.tif 000002
【特許請求の範囲】
【請求項１】
外部機器から入力されるコマンドに応じて動作する携帯可能電子装置であって、
前記外部機器とデータの送受信を行う送受信部と、
前記送受信部により受信するコマンドを処理するコマンド処理部と、
前記送受信部により受信するコマンドが連結コマンドであるか否かを判定する判定部と、
前記判定部により連結コマンドであると判定する場合、前記送受信部により次のコマンドを受信して、前記送受信部で受信するコマンドを処理するように前記コマンド処理部を制御する制御部と、
を具備する携帯可能電子装置。
【請求項２】
前記制御部は、前記判定部により連結コマンドではないと判定する場合、前記コマンド処理部によるコマンドの処理結果に基づいてレスポンスを生成し、生成したレスポンスを前記外部機器に送信するように前記送受信部を制御する請求項１に記載の携帯可能電子装置。
【請求項３】
前記コマンド処理部は、前記送受信部により受信したコマンドにシーケンス番号が含まれている場合、レスポンスに前記シーケンス番号を付加する請求項１に記載の携帯可能電子装置。
【請求項４】
前記判定部は、前記送受信部により受信するコマンドがレスポンスにキャラクタを付加する必要がないコマンドである場合、連結コマンドであると判定する請求項１に記載の携帯可能電子装置。
【請求項５】
前記各部を備えるＩＣモジュールと、
前記ＩＣモジュールが配設される本体と、
を具備する請求項１に記載の携帯可能電子装置。
【請求項６】
携帯可能電子装置を処理する携帯可能電子装置の処理装置であって、
前記携帯可能電子装置とデータの送受信を行う送受信部と、
コマンドを生成し、生成したコマンドを前記送受信部により前記携帯可能電子装置に送信するコマンド生成部と、
前記コマンド生成部により生成するコマンドが連結コマンドであるか否かを判定する判定部と、
前記判定部により連結コマンドであると判定する場合、前記送受信部により次に送信するコマンドを生成するように前記コマンド生成部を制御する制御部と、
を具備する携帯可能電子装置の処理装置。
【請求項７】
前記制御部は、前記判定部により連結コマンドではないと判定する場合、前記送受信部により前記携帯可能電子装置から送信されるレスポンスの受信を待つように前記送受信部を制御する請求項６に記載の携帯可能電子装置の処理装置。
【請求項８】
前記コマンド生成部は、前記送受信部により前記携帯可能電子装置に送信するコマンドにシーケンス番号を付加する請求項６に記載の携帯可能電子装置の処理装置。
【請求項９】
前記判定部は、次に前記送受信部により前記携帯可能電子装置に送信するコマンドが、前記携帯可能電子装置からのレスポンスを受信せず生成できるコマンドである場合、連結コマンドであると判定する請求項６に記載の携帯可能電子装置の処理装置。
【請求項１０】
外部機器から入力されるコマンドに応じて動作する携帯可能電子装置と、前記携帯可能電子装置を処理する処理装置とを有する携帯可能電子装置の処理システムであって、
前記処理装置は、
前記携帯可能電子装置とデータの送受信を行う第１の送受信部と、
コマンドを生成し、生成したコマンドを前記第１の送受信部により前記携帯可能電子装置に送信するコマンド生成部と、
前記コマンド生成部により生成するコマンドが連結コマンドであるか否かを判定する第１の判定部と、
前記第１の判定部により連結コマンドであると判定する場合、前記第１の送受信部により次に送信するコマンドを生成するように前記コマンド生成部を制御する第１の制御部と、
を具備し、
前記携帯可能電子装置は、
前記処理装置とデータの送受信を行う第２の送受信部と、
前記第２の送受信部により受信するコマンドを処理するコマンド処理部と、
前記第２の送受信部により受信するコマンドが連結コマンドであるか否かを判定する第２の判定部と、
前記第２の判定部により連結コマンドであると判定する場合、前記第２の送受信部により次のコマンドを受信して、前記第２の送受信部で受信するコマンドを処理するように前記コマンド処理部を制御する制御部と、
を具備する携帯可能電子装置の処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、例えば、通信路を介して通信を行う携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システムに関する。
【背景技術】
【０００２】
一般的に、携帯可能電子装置として用いられるＩＣカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたＩＣモジュールとを備えている。ＩＣモジュールは、ＩＣチップを有している。ＩＣチップは、電源が無い状態でもデータを保持することができるＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）またはフラッシュＲＯＭなどの不揮発性メモリと、種々の演算を実行するＣＰＵとを有している。
【０００３】
ＩＣカードは、例えば、国際標準規格ＩＳＯ／ＩＥＣ７８１６に準拠したＩＣカードである。ＩＣカードは、携帯性に優れ、且つ、外部装置との通信及び複雑な演算処理を行う事ができる。また、偽造が難しい為、ＩＣカードは、機密性の高い情報などを格納してセキュリティシステム、電子商取引などに用いられることが想定される。
【０００４】
近年、ＩＣカードに搭載されるＩＣチップの高性能化に伴い、ＩＣチップに記憶されている複数のアプリケーションを実行することができるＩＣカードが実用化されている。このようなＩＣカードは、専用のリーダライタ（端末装置）からコマンドを受信し、受信したコマンドに基づいてアプリケーションを実行することにより、種々の処理を実行することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−０６４６５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＩＣカードは、リーダライタからコマンドを受け取るたびにレスポンスを行う。これにより、カードリーダライタは、ＩＣカードの状態を認識することができる。カードリーダライタは、ＩＣカードから受信するレスポンスに応じて、次に送信するコマンドを生成する。この為、ＩＣカードとリーダライタとの間でコマンドを複数送受信する場合、処理に時間がかかるという課題がある。
【０００７】
そこで、より効率的にコマンド処理を実行することができる携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
一実施形態に係る携帯可能電子装置は、外部機器から入力されるコマンドに応じて動作する携帯可能電子装置であって、前記外部機器とデータの送受信を行う送受信部と、前記送受信部により受信するコマンドを処理するコマンド処理部と、前記送受信部により受信するコマンドが連結コマンドであるか否かを判定する判定部と、前記判定部により連結コマンドであると判定する場合、前記送受信部により次のコマンドを受信して、前記送受信部で受信するコマンドを処理するように前記コマンド処理部を制御する制御部と、を具備する。
【図面の簡単な説明】
【０００９】
【図１】図１は、一実施形態に係るＩＣカードの処理装置の構成の例について説明するための説明図である。
【図２】図２は、図１に示すＩＣカードの構成例について説明するための説明図である。
【図３】図３は、ＳＷＰ通信の例について説明するための説明図である。
【図４】図４は、ＳＷＰ通信の例について説明するための説明図である。
【図５】図５は、ＩＣカードとカードリーダライタとの間で伝送されるコマンド及びレスポンスの例について説明する為の説明図である。
【図６】図６は、ＩＣカードとカードリーダライタとの間で伝送されるコマンド及びレスポンスの例について説明する為の説明図である。
【図７】図７は、図６に示すコマンドのフレームについて説明する為の説明図である。
【図８】図８は、図６に示すレスポンスのフレームについて説明する為の説明図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、一実施形態に係る携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システムについて詳細に説明する。
【００１１】
本実施形態に係る端末装置１０のカードリーダライタ１７及びＩＣカード２０は、Ｓｉｎｇｌｅ  Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ（ＳＷＰ）通信を行う為のインターフェース（ＳＷＰ通信インターフェース）を備える。ＳＷＰ通信インターフェースを備えるＩＣカード２０は、カードリーダライタ１７との間で１本の通信路で双方向からデータを伝送する全二重通信を行うことができる。
【００１２】
例えば、ＳＷＰ通信は、ＥＴＳＩ  ＴＳ  １０２  ６１３により規定されている。ＩＣカード２０を処理する端末装置１０は、通信路に高い電圧を印加する状態（Ｈｉｇｈレベル）と、低い電圧を印加する状態（Ｌｏｗレベル）とを切り替えることにより、携帯可能電子装置に２値のデータを送信する。また、携帯可能電子装置は、通信路に大きい電流を流す状態と、小さい電流を流す状態とを切り替えることにより、端末装置に２値のデータを送信する。
【００１３】
図１は、一実施形態に係るＩＣカードの処理装置の構成の例について説明するための説明図である。  
図１に示すようにＩＣカード処理システム１は、携帯可能電子装置の処理装置（端末装置）１０と携帯可能電子装置（ＩＣカード）２０とを備えている。端末装置１０とＩＣカード２０とは、非接触通信により互いに種々のデータの送受信を行う。
【００１４】
図１に示すように端末装置１０は、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、操作部１５、及びカードリーダライタ１７を備える。ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、操作部１５、及びカードリーダライタ１７は、それぞれバス１９を介して互いに接続されている。
【００１５】
端末装置１０のＣＰＵ１１は、端末装置１０全体の制御を司る制御部として機能する。ＣＰＵ１１は、ＲＯＭ１３に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、ＣＰＵ１１は、カードリーダライタ１７を介してＩＣカード２０とコンマンド及びレスポンスの送受信を行う。
【００１６】
ＲＡＭ１２は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ１２は、ＣＰＵ１１の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ１２は、カードリーダライタ１７を介して外部の機器と送受信するデータを一時的に格納する。また、ＲＡＭ１２は、ＣＰＵ１１が実行するプログラムを一時的に格納する。ＲＯＭ１３は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。
【００１７】
操作部１５は、例えば操作キー、または表示部と一体に形成されるタッチパネルなどにより構成される。操作部１５は、端末装置１０の操作者による操作を操作信号として受け取る。
【００１８】
カードリーダライタ１７は、ＩＣカード２０と通信を行うためのインターフェース装置である。カードリーダライタ１７は、ＩＣカード２０が装着されるスロット１８を備える。また、カードリーダライタ１７は、ＩＣカード２０が備えるコンタクトパターンと接続される複数の接触端子を備える。
【００１９】
スロット１８にＩＣカード２０が装着される場合、カードリーダライタ１７の複数の接触端子は、ＩＣカード２０のコンタクトパターンに接続される。これにより、端末装置１０とＩＣカード２０とは電気的に接続される。カードリーダライタ１７は、スロット１８に装着されるＩＣカード２０に対して、電源供給、クロック供給、リセット制御、及びデータの送受信などを行う。
【００２０】
ＣＰＵ１１は、カードリーダライタ１７によりＩＣカード２０に対して種々のコマンドを入力する。ＩＣカード２０は、例えば、カードリーダライタ１７からデータの書き込みコマンドを受信した場合、受信したデータを内部の不揮発性メモリに書き込む処理を行う。
【００２１】
また、ＣＰＵ１１は、ＩＣカード２０に読み取りコマンドを送信することにより、ＩＣカード２０からデータを読み出す。ＣＰＵ１１は、ＩＣカード２０から受信したデータに基づいて種々の処理を行う。
【００２２】
図２は、図１に示すＩＣカードの構成例について説明するための説明図である。  
図２に示すように、ＩＣカード２０は、カード状の本体と、本体内に内蔵されるＩＣモジュール２１を備えている。ＩＣモジュール２１は、１つ又は複数のＩＣチップ２２と、通信部としてのコンタクトパターン２３とを備える。ＩＣチップ２２とコンタクトパターン２３とは、互いに接続された状態でＩＣモジュール２１に形成されている。
【００２３】
コンタクトパターン２３は、導電性を有する金属などによりＩＣモジュール２１の表面に形成される。即ち、コンタクトパターン２３は、外部機器と接触可能に形成されている。コンタクトパターン２３は、金属により形成される面が複数のエリアに区切られて形成される。区切られた各エリアは、それぞれコンタクトパターン２３の端子として機能する。
【００２４】
ＩＣチップ２２は、ＣＰＵ２４、ＲＯＭ２５、ＲＡＭ２６、不揮発性メモリ２７、及びＳＷＰ通信インターフェース２９を備える。
【００２５】
ＣＰＵ２４は、ＩＣカード２０の全体の制御を司る制御手段として機能する。また、ＣＰＵ２４は、種々の判定を行う判定部として機能する。ＣＰＵ２４は、ＲＯＭ２５あるいは不揮発性メモリ２７に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、ＣＰＵ２４は、端末装置１０のカードリーダライタ１７から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。即ち、ＣＰＵ２４は、コマンド処理手段として機能する。
【００２６】
ＲＯＭ２５は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＯＭ２５は、製造段階で制御プログラム及び制御データなどを記憶した状態でＩＣカード２０内に組み込まれる。即ち、ＲＯＭ２５に記憶される制御プログラム及び制御データは、予めＩＣカード２０の仕様に応じて組み込まれる。
【００２７】
ＲＡＭ２６は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ２６は、ＣＰＵ２４の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ２６は、コンタクトパターン２３を介して端末装置１０と送受信するデータを一時的に格納する。また、ＲＡＭ２６は、ＣＰＵ２４が実行するプログラムを一時的に格納する。
【００２８】
不揮発性メモリ２７は、例えば、ＥＥＰＲＯＭあるいはフラッシュＲＯＭなどのデータの書き込み及び書換えが可能な不揮発性のメモリにより構成される。不揮発性メモリ２７は、ＩＣカード２０の運用用途に応じて制御プログラム及び種々のデータを格納する。
【００２９】
たとえば、不揮発性メモリ２７では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。ＣＰＵ２４は、不揮発性メモリ２７、または、ＲＯＭ２５に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【００３０】
ＳＷＰ通信インターフェース２９は、カードリーダライタ１７と通信するデータの送受信を行う。ＳＷＰ通信インターフェース２９は、例えば、ＥＴＳＩ  ＴＳ  １０２  ６１３により規定されているＳＷＰ通信を行う為の通信インターフェースとして機能する。ＳＷＰ通信インターフェース２９は、コンタクトパターン２３の所定の端子と、ＣＰＵ２４との間に接続される。即ち、ＣＰＵ２４は、ＳＷＰ通信インターフェース２９を用いて端末装置１０とＳＷＰ通信を行う事ができる。
【００３１】
図３は、ＳＷＰ通信の例について説明するための説明図である。
【００３２】
端末装置１０のカードリーダライタ１７は、制御部１７１、送信回路１７２、及び受信回路１７３などを備える。
【００３３】
制御部１７１は、送信回路１７２により送信するデータを一時的に格納する。制御部１７１は、送信回路１７２により送信するデータに基づいて、送信回路１７２の動作を制御する。また、制御部１７１は、受信回路１７３により受信するデータを一時的に格納する。さらに、制御部１７１は、受信回路１７３により受信したデータの認識を行う。
【００３４】
制御部１７１は、送信回路１７２により、ＩＣカード２０に対して種々のコマンドを入力する。また、制御部１７１は、受信回路１７３により、ＩＣカード２０から送信されるレスポンスを受信する。制御部１７１は、ＩＣカード２０から受信したデータに基づいて種々の処理を行う。
【００３５】
制御部１７１は、送信回路１７２、及び受信回路１７３の動作を制御する。制御部１７１は、送信回路１７２、及び受信回路１７３により送受信するデータを処理する。
【００３６】
またカードリーダライタ１７は、内部で通信路をプルアップしている。また、カードリーダライタ１７は、通信路を流れる電流を測定する機能を備えている。
【００３７】
ＩＣカード２０のＳＷＰ通信インターフェース２９は、制御部２９１、送信回路２９２、及び受信回路２９３などを備える。
【００３８】
制御部２９１は、送信回路２９２により送信するデータを一時的に格納する。制御部２９１は、送信回路２９２により送信するデータに基づいて、送信回路２９２の動作を制御する。
【００３９】
また、制御部２９１は、受信回路２９３により受信するデータを一時的に格納する。さらに、制御部２９１は、受信回路２９３により受信したデータの認識を行う。制御部２９１は、受信回路２９３により、端末装置１０から送信されるコマンドを受信する。制御部２９１は、受信回路２９３により受信するコマンドをＣＰＵ２４に伝送する。
【００４０】
ＣＰＵ２４は、受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。ＣＰＵ２４は、生成したレスポンスをＳＷＰ通信インターフェース２９に送信する。制御部２９１は、ＣＰＵ２４から受信するレスポンスを一時的に記憶する。制御部２９１は、記憶したレスポンスに基づいて送信回路２９２を制御する。これにより、ＳＷＰ通信インタ−フェース２９は、レスポンスを端末装置１０に送信することができる。
【００４１】
即ち、制御部２９１は、送信回路２９２、及び受信回路２９３の動作を制御する。また、制御部２９１は、送信回路２９２、及び受信回路２９３により送受信するデータを処理する。また、ＳＷＰ通信インターフェース２９は、通信路の電圧を監視する機能を備える。
【００４２】
カードリーダライタ１７の制御部１７１は、送信するデータの値に応じて通信路の電圧をＨｉｇｈレベルとＬｏｗレベルとで切り替えるように制御する。制御部１７１は、ＩＣカード２０に送信するデータに応じて、Ｈｉｇｈレベル状態の時間的な長さとＬｏｗレベルの状態の時間的な長さとの比率を調整する。ＩＣカード２０のＳＷＰ通信インターフェース２９は、通信路の電圧の変化に基づいて端末装置１０から送信されるデータを解釈する。
【００４３】
また、ＩＣカード２０のＳＷＰ通信インターフェース２９の制御部２９１は、端末装置１０に送信するデータに応じて、通信路を流れる電流を制御する。カードリーダライタ１７の制御部１７１は、通信路を流れる電流量の変化に基づいてＩＣカード２０から送信されるデータを解釈する。
【００４４】
図４に示すように、カードリーダライタ１７の送信回路１７２及び受信回路１７３は、電流測定部１７４、及び電源１７５を備えている。
【００４５】
電流測定部１７４は、通信路の電流を測定する。制御部１７１は、電流測定部１７４により検出する電流値に基づいてデータを取得する。例えば、制御部１７１は、通信路に電流が流れていると判定した場合「１」のビットデータを受信する。また、制御部１７１は、通信路に電流が流れていないと判定した場合「０」のビットデータを受信する。
【００４６】
電源１７５は、通信路に電圧を印加する。制御部１７１は、ＩＣカード２０に送信するデータに応じて通信路に印加する電圧を変化させるように送信回路１７２を制御する。
【００４７】
また、図４に示すように、ＳＷＰ通信インターフェース２９の送信回路２９２及び受信回路２９３は、電圧測定部２９４、定電流源２９５、定電流源２９６、及びスイッチ２９７を備えている。
【００４８】
電圧測定部２９４は、通信路の電圧を測定する。電圧測定部２９４は、電圧検知手段として機能する。制御部２９１は、電圧測定部により検出する通信路の電圧値に基づいて、データを取得する。
【００４９】
定電流源２９５及び２９６は、通信路に所定の値の電流を流すための定電流源である。定電流源２９６は、定電流源２９５より大きい値の電流を流すように設定されている。スイッチ２９７は、定電流源２９５及び２９６と、通信路との間に設けられる。スイッチ２９７は、通信路に接続する定電流源を定電流源２９５と定電流源２９６とで切り替える。
【００５０】
即ち、制御部２９１は、端末装置１０に送信するデータに基づいてスイッチ２９７を制御することにより、通信路と接続する定電流源を定電流源２９５と定電流源２９６とで切り替える。この結果、通信路に出力される電流の値は、２値のいずれかに変化する。これにより、ＳＷＰ通信インターフェース２９は、通信路を介して端末装置１０にデータを送信する。
【００５１】
従来のＩＣカード２０は、端末装置１０からコマンドを受け取るたびにレスポンスを行う。端末装置１０は、ＩＣカード２０から受信するコマンドに応じて、次に送信するコマンドを生成する。
【００５２】
しかし、例えば、レスポンスがＩＣカード２０において処理が正常に完了したか否かを示すレスポンスなどである場合、レスポンスは、コマンドの生成に用いるデータを含まない。レスポンスがコマンドの生成に用いるデータを含むレスポンスではない場合、端末装置１０は、ＩＣカード２０からのレスポンスを受信せずに次のコマンドを生成することができる。
【００５３】
本実施形態の端末装置１０は、ＩＣカード２０に対してコマンドを複数連続して送信する。ＩＣカード２０は、端末装置１０から複数連続したコマンドを受信する場合、複数連続したコマンドの最後のコマンドを受信した後にレスポンスを伝送する。また、端末装置１０は、連結コマンドに対するレスポンスをＩＣカード２０からまとめて受信することができる。
【００５４】
図５は、ＩＣカード２０と端末装置１０との間で伝送されるコマンド及びレスポンスの例について説明する為の説明図である。
【００５５】
ここでは、端末装置１０からＩＣカード２０に対して「ｓｅｌｅｃｔコマンド」、「ｖｅｒｉｆｙコマンド」、及び「ｒｅａｄコマンド」を送信する例について説明する。
【００５６】
「ｓｅｌｅｃｔコマンド」は、ＩＣカード２０に例えばファイルなどの論理チャネルを選択させるためのコマンドである。「ｓｅｌｅｃｔコマンド」は、選択する論理チャネルを示す情報を有する。ＩＣカード２０は、「ｓｅｌｅｃｔコマンド」を受信する場合、「ｓｅｌｅｃｔコマンド」が示す論理チャネルを選択する。また、ＩＣカード２０は、「ｓｅｌｅｃｔコマンド」が示す論理チャネルを選択する選択処理が正常に完了したか否かを示すレスポンスを生成する。
【００５７】
「ｖｅｒｉｆｙコマンド」は、ＩＣカード２０に検証を行わせるためのコマンドである。「ｖｅｒｉｆｙコマンド」は、検証に用いるデータ（検証データ）を有する。ＩＣカード２０は、「ｖｅｒｉｆｙコマンド」を受信する場合、「ｖｅｒｉｆｙコマンド」が有する検証データと自身が記憶するデータとで検証を行う。また、ＩＣカード２０は、「ｖｅｒｉｆｙコマンド」に基づく検証処理が正常に完了したか否かを示すレスポンスを生成する。
【００５８】
「ｒｅａｄコマンド」は、ＩＣカード２０にデータの読み出しを行わせるためのコマンドである。ＩＣカード２０は、「ｒｅａｄコマンド」を受信する場合、「ｒｅａｄコマンド」が示す位置に記憶されているデータを読み出す。
【００５９】
「ｒｅａｄコマンド」は、読み出すデータの単位を示す情報を有する。データの単位として、例えば、バイナリ、及びレコードなどがある。バイナリ単位でデータを読み出す場合、「ｒｅａｄコマンド」は、先頭からのオフセット値を示す情報を有する。ＩＣカード２０は、選択している論理チャネルにおいて、「ｒｅａｄコマンド」が示すオフセット値に基づいて読み出し位置を特定する。ＩＣカード２０は、特定した読み出し位置からデータを読み出す。
【００６０】
また、レコード単位でデータを読み出す場合、「ｒｅａｄコマンド」は、読み出すレコードを示すレコード番号を有する。ＩＣカード２０は、選択している論理チャネルにおいて、「ｒｅａｄコマンド」が示すレコード番号に基づいてレコードを特定する。ＩＣカード２０は、特定したレコードのデータを読み出す。
【００６１】
ＩＣカード２０は、「ｒｅａｄコマンド」に基づくデータの読み出し処理が正常に完了したか否かを示す情報と、読み出したデータとを有するレスポンスを生成する。
【００６２】
上記したように、「ｓｅｌｅｃｔコマンド」及び「ｖｅｒｉｆｙコマンド」に対するレスポンスは、ＩＣカード２０において処理が正常に完了したか否かを示すレスポンスである。
【００６３】
この為、端末装置１０は、「ｓｅｌｅｃｔコマンド」及び「ｖｅｒｉｆｙコマンド」を送信する場合、レスポンスを受信することなく次のコマンドを生成することができる。端末装置１０は、「ｓｅｌｅｃｔコマンド」及び「ｖｅｒｉｆｙコマンド」などのように、レスポンスを受信することなく次のコマンドを生成することができるコマンドを、次のコマンドと連結可能なコマンド（連結コマンド）と判断する。
【００６４】
例えば、端末装置１０は、「ｓｅｌｅｃｔコマンド」と「ｖｅｒｉｆｙコマンド」と「ｒｅａｄコマンド」とを連結コマンドとしてＩＣカード２０に送信することができる。図５に示すように、端末装置１０は、「ｓｅｌｅｃｔコマンド」と「ｖｅｒｉｆｙコマンド」と「ｒｅａｄコマンド」とを続けてＩＣカード２０に送信する。
【００６５】
端末装置１０は、送信する各コマンドが連結コマンドであるか否かを判断する。即ち、端末装置１０は、レスポンスを受信せずに次のコマンドを生成できるか否かをコマンドを送信するごとに判断する。連結コマンドをＩＣカード２０に送信する場合、端末装置１０は、ＩＣカード２０からのレスポンスを待たずに次のコマンドを生成し、ＩＣカード２０に送信する。
【００６６】
なお、端末装置１０は、連結コマンドであるか否かをコマンドの種類毎に予め設定する構成であってもよい。
【００６７】
ＩＣカード２０は、端末装置１０からコマンドを受信する場合、コマンドに応じた処理を実行し、レスポンスを生成する。さらに、ＩＣカード２０は、受信したコマンドが連結コマンドであるか否かを判断する。即ち、ＩＣカード２０は、レスポンスに含まれるデータが、端末装置１０においてコマンドの生成に用いるデータであるか否かを判定する。
【００６８】
レスポンスは、受信したコマンドの処理により生成したデータ（キャラクタ）と、コマンド処理後のＩＣカード２０の状態を示す情報（ステータスワード）とを有する。例えば、ＩＣカード２０は、コマンドに応じて読み出したデータをキャラクタに付加する。また、ＩＣカード２０は、正常終了、またはエラー終了などの情報をステータスワード（ＳＷ）に付加する。例えば、ＩＣカード２０は、受信したコマンドが、レスポンスのキャラクタにデータを付加するようなコマンドである場合、連結コマンドであると判断する。
【００６９】
受信したコマンドが連結コマンドであると判断する場合、ＩＣカード２０は、レスポンスをすぐに端末装置１０に送信する必要がないと判定する。例えば、ＩＣカード２０は、レスポンスに含まれるデータが、受信したコマンドに応じた処理を正常に完了したか否かを示す情報などである場合、受信したコマンドが連結コマンドであると判断する。
【００７０】
また、例えば、ＩＣカード２０は、受信したコマンドが連結コマンドではないと判断する場合、レスポンスをすぐに端末装置１０に送信すると判定する。この場合、ＩＣカード２０は、端末装置１０に返信していないレスポンスが存在するか否か判断する。端末装置１０に返信していないレスポンスが存在すると判断する場合、ＩＣカード２０は、端末装置１０に返信していないレスポンスを合せて端末装置１０に送信する。
【００７１】
なお、ＩＣカード２０は、連結コマンドであるか否かをコマンドの種類毎に予め設定する構成であってもよい。
【００７２】
図５に示すように、ＩＣカード２０は、「ｓｅｌｅｃｔコマンド」を受信する場合、レスポンスをすぐに端末装置１０に送信する必要がないと判定する。また、ＩＣカード２０は、「ｖｅｒｉｆｙコマンド」を受信する場合、レスポンスをすぐに端末装置１０に送信する必要がないと判定する。またさらに、ＩＣカード２０は、「ｒｅａｄコマンド」を受信する場合、レスポンスをすぐに端末装置１０に送信すると判定する。この場合、ＩＣカード２０は、「ｓｅｌｅｃｔコマンド」に対するレスポンスと、「ｖｅｒｉｆｙコマンド」に対するレスポンスと、「ｒｅａｄコマンド」に対するレスポンスと、を合せて端末装置１０に送信する。
【００７３】
なお、この場合、ＩＣカード２０は、レスポンスにおいて重複する情報は省いて送信する構成であってもよい。即ち、受信したコマンドに応じた処理を正常に完了したことを示す情報は、各レスポンスが有している。この為、ＩＣカード２０は、受信したコマンドに応じた処理を正常に完了したことを示す情報と、「ｒｅａｄコマンド」に応じて読み出したデータとをレスポンスとして端末装置１０に送信する。
【００７４】
上記したように、本実施形態の端末装置１０は、連結コマンドを送信する場合、送信したコマンドに対するレスポンスの受信を待たずに次のコマンドを生成し、ＩＣカード２０に送信する。
【００７５】
ＩＣカード２０は、受信したコマンドが連結コマンドである場合、すぐにレスポンスを端末装置１０に送信する必要がないと判断する。また、ＩＣカード２０は、受信したコマンドが連結コマンドでないと判断する場合、レスポンスをすぐに端末装置１０に送信すると判定する。この場合、ＩＣカード２０は、端末装置１０に返信していないレスポンスを併せて端末装置１０に送信する。
【００７６】
これにより、ＩＣカード２０は、レスポンスの送信処理を一部省略することができる。この為、通信の効率をあげることができる。また、端末装置１０は、連結コマンドを送信する場合、次のコマンドをＩＣカード２０からのレスポンスを受信せずに送信することができる。この結果、より効率的にコマンド処理を実行することができる携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システムを提供することができる。
【００７７】
なお、上記した実施形態では、「ｓｅｌｅｃｔコマンド」と、「ｖｅｒｉｆｙコマンド」と、「ｒｅａｄコマンド」とを例に挙げて説明したが、これらのコマンドに限定されるものではない。コマンドは如何なるコマンドであってもよい。
【００７８】
また、端末装置１０は、連結する各コマンドに番号を付すことにより、ＩＣカード２０においてエラーが発生したコマンドを認識することができる。
【００７９】
図６は、ＩＣカード２０と端末装置１０との間で伝送されるコマンド及びレスポンスの例について説明する為の説明図である。
【００８０】
本実施形態では、図５に示す例と同様に、端末装置１０からＩＣカード２０に対して「ｓｅｌｅｃｔコマンド」、「ｖｅｒｉｆｙコマンド」、及び「ｒｅａｄコマンド」を送信する例について説明する。
【００８１】
「ｓｅｌｅｃｔコマンド」、「ｖｅｒｉｆｙコマンド」、及び「ｒｅａｄコマンド」は、それぞれ図７に示すコマンドフレームを有する。
【００８２】
コマンドフレームは、送信するデータの本体であるキャラクタと、Ｓｔａｒｔ  ｏｆ  Ｆｒａｍｅ（ＳＯＦ）と、Ｅｎｄ  ｏｆ  Ｆｒａｍｅ（ＥＯＦ）とを備える。
【００８３】
ＳＯＦは、コマンドフレームの先頭を示す情報である。ＥＯＦは、フレームの最後尾を示す情報である。ＳＯＦ及びＥＯＦは、所定の論理値の組み合わせにより構成される信号である。ＩＣカード２０は、上記のＳＯＦ及びＥＯＦを受信する場合、コマンドフレームの先頭及び終端を認識する。
【００８４】
図７に示すように、コマンドフレームのキャラクタは、例えば４ｂｉｔのシーケンス番号を有する。シーケンス番号は、例えば連結コマンドにより連結されるコマンドにおける順番を示す情報である。端末装置１０は、例えば連続してＩＣカード２０に送信する複数のコマンドのうちの一番目のコマンドのシーケンス番号として「１」を示す情報を付加する。また、端末装置１０は、例えば連続してＩＣカード２０に送信する複数のコマンドのうちの二番目のコマンドのシーケンス番号として「２」を示す情報を付加する。また、例えば、端末装置１０は、送信するコマンドが他のコマンド連結されるコマンドではない場合、コマンドのシーケンス番号をブランクにする。
【００８５】
端末装置１０は、連結したコマンドを送信するごとにシーケンス番号を１づつ加算する。また、端末装置１０は、送信するコマンドが他のコマンド連結されるコマンドではない場合、シーケンス番号をリセットする。
【００８６】
ＩＣカード２０は、受信したコマンドのキャラクタのシーケンス番号を読み取ることにより、受信したコマンドが連結コマンドであるか否かを認識することができる。まつぁらに、ＩＣカード２０は、受信したコマンドのキャラクタのシーケンス番号を読み取ることにより、受信したコマンドが、連続して送信される複数のコマンドのうちの何番目のコマンドであるかを認識することができる。
【００８７】
図６に示すように、ＩＣカード２０は、「ｓｅｌｅｃｔコマンド」を受信する場合、レスポンスをすぐに端末装置１０に送信する必要がないと判定する。また、ＩＣカード２０は、「ｖｅｒｉｆｙコマンド」を受信する場合、レスポンスをすぐに端末装置１０に送信する必要がないと判定する。またさらに、ＩＣカード２０は、「ｒｅａｄコマンド」を受信する場合、レスポンスをすぐに端末装置１０に送信すると判定する。この場合、ＩＣカード２０は、「ｓｅｌｅｃｔコマンド」に対するレスポンスと、「ｖｅｒｉｆｙコマンド」に対するレスポンスと、「ｒｅａｄコマンド」に対するレスポンスと、を併せて端末装置１０に送信する。
【００８８】
連結された「ｓｅｌｅｃｔコマンド」、「ｖｅｒｉｆｙコマンド」、及び「ｒｅａｄコマンド」を正常に処理する場合、ＩＣカード２０は、図５の例と同様のレスポンスを端末装置１０に送信する。
【００８９】
また、連結された連結された「ｓｅｌｅｃｔコマンド」、「ｖｅｒｉｆｙコマンド」、及び「ｒｅａｄコマンド」のいずれかの処理においてエラーが発生する場合、ＩＣカード２０は、エラーが発生した事を示す情報と、エラーが発生したコマンドのシーケンス番号とを有するレスポンスを端末装置１０に送信する。
【００９０】
図８に示すように、レスポンスフレームは、ＳＯＦとキャラクタとＳＷ１とＳＷ２とＥＯＦとを有する。
【００９１】
ＳＷ１及びＳＷ２は、送られてきたコマンドについてＩＣカード２０側の処理後の状態を端末に知らせる情報である。即ち、ＩＣカード２０は、正常完了を示す情報、またはエラー情報などをＳＷ１及びＳＷ２に書き込む。
【００９２】
また、レスポンスフレームのキャラクタは、例えば４ｂｉｔのシーケンス番号を有する。ＩＣカード２０は、エラー情報をレスポンスフレームに記載する場合、エラーが発生したコマンドのシーケンス番号をレスポンスフレームのキャラクタのシーケンス番号に付加する。
【００９３】
端末装置１０は、エラーを示すレスポンスを受信する場合、レスポンスのキャラクタのシーケンス番号を読み出す。端末装置１０は、読み出したシーケンス番号が示すコマンドの処理中にＩＣカード２０においてエラーが発生したと認識する。
【００９４】
上記したように、本実施形態の端末装置１０は、複数のコマンドを連結させてＩＣカード２０に送信する場合、送信するコマンドにシーケンス番号を付加する。
【００９５】
ＩＣカード２０は、受信したコマンドの処理中にエラーが発生する場合、エラーが発生した旨を示す情報と、エラーが発生したコマンドのシーケンス番号とを有するレスポンスを端末装置１０に送信する。これにより、端末装置１０は、ＩＣカード２０においてエラーが発生する場合に、どのコマンドの処理中にエラーが発生したかを認識することができる。
【００９６】
なお、ＩＣカード２０は、受信するコマンドが連結コマンドであるか否かを判定し、受信するコマンドが連結コマンドである場合、コマンド処理を行わず次のコマンドを続けて受信する構成であってもよい。ＩＣカード２０は、連結コマンドではないコマンドを受信する場合、既に受信したコマンドに基づいて処理を実行する。ＩＣカード２０は、処理結果に基づいてレスポンスを生成し、端末装置１０に送信する。これにより、ＩＣカード２０は、レスポンスの生成及び送信を効率的に実行することができる。
【００９７】
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具現化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合わせてもよい。
【符号の説明】
【００９８】
１…ＩＣカード処理システム、１０…端末装置、１１…ＣＰＵ、１２…ＲＡＭ、１３…ＲＯＭ、１５…操作部、１７…カードリーダライタ、１８…スロット、１９…バス、２０…ＩＣカード、２１…ＩＣモジュール、２２…ＩＣチップ、２３…コンタクトパターン、２４…ＣＰＵ、２５…ＲＯＭ、２６…ＲＡＭ、２７…不揮発性メモリ、２９…ＳＷＰ通信インターフェース、１７１…制御部、１７２…送信回路、１７３…受信回路、１７４…電流測定部、１７５…電源、２９１…制御部、２９２…送信回路、２９３…受信回路、２９４…電圧測定部、２９５…定電流源、２９６…定電流源、２９７…スイッチ。
【図１】
2012043303.tif 000003
【図２】
2012043303.tif 000004
【図３】
2012043303.tif 000005
【図４】
2012043303.tif 000006
【図５】
2012043303.tif 000007
【図６】
2012043303.tif 000008
【図７】
2012043303.tif 000009
【図８】
2012043303.tif 000010