(57)【要約】【課題】電源電圧の状態に応じた処理が行えるＩＣカードを提供する。【解決手段】実施形態によれば、ＩＣカードは、インターフェースと、制御部と、検知部と、記憶部と、設定部とを有する。インターフェースは、外部装置と接続する。制御部は、インターフェースを介して外部装置から供給される電源電圧により動作する。検知部は、インターフェースを介して外部装置から供給される電源電圧値を検知する。記憶部は、ＩＣカードが動作可能な範囲において基準電圧値よりも低い電圧値に対応づけて実行を制限するコマンドを示す情報を記憶する。設定部は、外部装置から電源供給を受けてリセット処理を実行する場合、検知部が検知した電源電圧値に応じて実行を制限するコマンドを記憶部に記憶した情報に基づいて設定する。【選択図】図１
2013122690.tif 000002
【特許請求の範囲】
【請求項１】
外部装置から供給される電源電圧により動作するＩＣカードであって、
外部装置と接続するインターフェースと、
前記インターフェースを介して前記外部装置から供給される電源電圧により動作する制御部と、
前記インターフェースを介して前記外部装置から供給される電源電圧値を検知する検知部と、
当該ＩＣカードが動作可能な範囲において基準電圧値よりも低い電圧値に対応づけて実行を制限するコマンドを示す情報を記憶する記憶部と、
前記外部装置から電源供給を受けてリセット処理を実行する場合、前記検知部が検知した電源電圧値に応じて実行を制限するコマンドを前記記憶部に記憶した情報に基づいて設定する設定部と、
を有することを特徴とするＩＣカード。
【請求項２】
前記設定部により実行を制限するコマンドを設定した場合、前記検知部により検知した電源電圧の状態を示す情報を含む応答を前記外部装置へ送信する送信部を有する、
ことを特徴とする前記請求項１に記載のＩＣカード。
【請求項３】
前記リセット処理後に前記インターフェースにより端末装置から受信するコマンドが前記設定部により実行を制限することが設定されたコマンドである否かを判断する判断部と、
前記判断部が受信したコマンドが実行を制限するコマンドであると判断した場合、当該コマンドの処理を実行せずに、電源電圧による動作制限のため動作不可である旨を端末装置へ通知する処理手段と、を有する、
ことを特徴とする前記請求項１又は２の何れかに記載のＩＣカード。
【請求項４】
前記リセット処理を繰り返し実行した場合、前記検知部が検知する電源電圧値が不安定であれば、前記リセット処理を終了する、
ことを特徴とする前記請求項１乃至３の何れか１項に記載のＩＣカード。
【請求項５】
前記リセット処理を繰り返し実行した場合に前記検知部が検知する電源電圧値が不安定であれば、前記外部装置へ電源電圧が不安定であるため前記リセット処理を終了する旨を通知する、
ことを特徴とする前記請求項４に記載のＩＣカード。
【請求項６】
外部装置から供給される電源電圧により動作するＩＣカードであって、
外部装置と接続するインターフェースと、前記インターフェースを介して前記外部装置から供給される電源電圧により動作する制御部と、前記インターフェースを介して前記外部装置から供給される電源電圧値を検知する検知部と、当該ＩＣカードが動作可能な範囲において基準電圧値よりも低い電圧値に対応づけて実行を制限するコマンドを示す情報を記憶する記憶部と、前記外部装置から電源供給を受けてリセット処理を実行する場合、前記検知部が検知した電源電圧値に応じて実行を制限するコマンドを前記記憶部に記憶した情報に基づいて設定する設定部とを具備するモジュールと、
前記モジュールを有する本体と、
を有することを特徴とするＩＣカード。
【請求項７】
外部装置から供給される電源電圧により動作する携帯可能電子装置であって、
外部装置と接続するインターフェースと、
前記インターフェースを介して前記外部装置から供給される電源電圧により動作する制御部と、
前記インターフェースを介して前記外部装置から供給される電源電圧値を検知する検知部と、
当該携帯可能電子装置が動作可能な範囲において基準電圧値よりも低い電圧値に対応づけて実行を制限するコマンドを示す情報を記憶する記憶部と、
前記外部装置から電源供給を受けてリセット処理を実行する場合、前記検知部が検知した電源電圧値に応じて実行を制限するコマンドを前記記憶部に記憶した情報に基づいて設定する設定部と、
を有することを特徴とする携帯可能電子装置。
【請求項８】
外部装置から供給される電源電圧により動作するＩＣカードの制御方法であって、
当該ＩＣカードの制御部が動作可能な範囲において基準電圧値よりも低い電圧値に対応づけて実行を制限するコマンドを示す情報を記憶部に記憶しておき、
前記外部装置から電源供給を受けてリセット処理を実行する場合、前記外部装置から供給される電源電圧値を検知し、
前記検知した電源電圧値に応じて実行を制限するコマンドを前記記憶部に記憶した情報に基づいて設定する、
を有することを特徴とするＩＣカードの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明に係る実施形態は、ＩＣカード、携帯可能電子装置、および、ＩＣカードの制御方法に関する。
【背景技術】
【０００２】
従来、携帯可能電子装置の一例としてのＩＣカードは、供給される電源電圧が十分でなくても動作範囲内であれば、負荷の少ない初期応答などの動作が可能となる。しかしながら、供給されている電源電圧が十分でなければ、初期応答などを実行できたＩＣカードであっても、負荷の大きい処理を実行できないことがある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ＩＳＯ／ＩＥＣ  ７８１６−３
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この発明の一形態は、電源電圧の状態に応じた処理を行えるＩＣカード、携帯可能電子装置および携帯可能電子装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
この発明の一形態としてのＩＣカードは、インターフェースと、制御部と、検知部と、記憶部と、設定部とを有する。インターフェースは、外部装置と接続する。制御部は、インターフェースを介して外部装置から供給される電源電圧により動作する。検知部は、インターフェースを介して外部装置から供給される電源電圧値を検知する。記憶部は、ＩＣカードが動作可能な範囲において基準電圧値よりも低い電圧値に対応づけて実行を制限するコマンドを示す情報を記憶する。設定部は、外部装置から電源供給を受けてリセット処理を実行する場合、検知部が検知した電源電圧値に応じて実行を制限するコマンドを記憶部に記憶した情報に基づいて設定する。
【図面の簡単な説明】
【０００６】
【図１】図１は、実施の形態に係る携帯可能電子装置としてのＩＣカードの構成例を示すブロック図である。
【図２】図２は、ＩＣカードと通信する端末装置の構成例を示す図である。
【図３】図３は、ランク設定テーブルの構成例を示す図である。
【図４】図４は、ＡＴＲの構成例を示す図である。
【図５】図５は、ＡＴＲにおけるヒストリカルバイトの構成例を示す図である。
【図６】図６は、ヒストリカルバイトにおけるコンパクトＴＬＶのデータオブジェクトの定義例を示す図である。
【図７】図７は、ＩＣカードにおける起動処理の流れを説明するためのフローチャートである。
【図８】図８は、ＩＣカードにおけるコマンド処理の流れを概略的に説明するためのフローチャートである。
【発明を実施するための形態】
【０００７】
以下、実施の形態について図面を参照して詳細に説明する。  
図１は、携帯可能電子装置としてのＩＣカード１と端末装置２とを有するＩＣカードシステムの構成例を示すブロック図である。  
図１に示すＩＣカードシステムは、ＩＣカード１と端末装置２とが双方向にデータの送受信を行う通信システムである。たとえば、ＩＣカードシステムは、端末装置２がＩＣカード１を装着した状態で運用される形態を想定するものとする。このような運用形態において、ＩＣカード１と端末装置２とは、たとえば、ＳＷＰ通信などの全２重通信によりデータ通信を行う。
【０００８】
ＩＣカード１は、端末装置２から供給される電源電圧、および、動作用のクロック信号により動作する。たとえば、上記ＩＣカード１は、上記端末装置２と物理的、電気的に接触して通信を行う接触式の携帯可能電子装置（接触式ＩＣカード）である。ただし、上記ＩＣカード１は、アンテナ及び変復調回路などを含む無線通信部によって、上記端末装置２と非接触の状態で無線通信を行う非接触式の携帯可能電子装置（非接触式ＩＣカード）であっても良い。さらには、上記ＩＣカード１は、非接触式ＩＣカードとしての通信機能と接触式ＩＣカードとしての通信機能とを有する複合型のＩＣカード（デュアルインターフェースＩＣカード）であっても良い。なお、本実施の形態では、主として、ＩＣカードが接触式ＩＣカードであることを想定して説明する。ただし、非接触式ＩＣカードと接触式ＩＣカードとは、端末装置２との通信方式等が異なるだけである。このため、以下に説明する実施の形態は、非接触式ＩＣカードにも同様に適用できる。
【０００９】
端末装置２からの電源電圧及び動作用のクロック信号により動作可能となったＩＣカード１は、端末装置２から供給されるコマンドに応じて種々の処理を行う。言い換えると、端末装置２は、ＩＣカード１が動作可能となる電源電圧及び動作クロックを供給しつつ、用途あるいは運用形態などに応じた処理を要求するコマンドをＩＣカード１に対して供給する。ＩＣカード１は、端末装置２から供給されたコマンドに応じた処理を実行し、実行した処理結果などを示すデータをレスポンスとして端末装置２へ送信する。
【００１０】
図１に示すように、上記ＩＣカード１は、プロセッサ（ＣＰＵ）１１、プログラムメモリ１２、ワーキングメモリ１３、データメモリ１４、通信制御部１５、電源部１６、電圧検知部１７、コプロセッサ１８、および、インターフェース２０などを有する。  
上記ＩＣカード１は、カード状の本体Ｃにより構成される。上記ＩＣカード１を形成するカード状の本体Ｃには、１つあるいは複数のＩＣチップ１ａとインターフェース２０とが内蔵される。上記ＩＣチップ１ａは、プロセッサ（ＣＰＵ）１１、プログラムメモリ１２、ワーキングメモリ１３、データメモリ１４、通信制御部１５および電源部１６などを有している。上記ＩＣチップ１ａと上記インターフェース２０とは、接続された状態でモジュール化される。ＩＣチップ１ａとインターフェース２０とを有するモジュールＭは、当該ＩＣカード１を形成するカード状の本体Ｃ内に埋設される。
【００１１】
上記ＣＰＵ１１は、ＩＣカード１全体の制御を司る。上記ＣＰＵ１１は、制御部として機能するプロセッサである。上記ＣＰＵ１１は、上記プログラムメモリ１２あるいはデータメモリ１４に記憶されている制御プログラムおよび制御データなどに基づいて動作する。たとえば、上記ＣＰＵ１１は、上記プログラムメモリ１２に記憶されている制御プログラムを実行することにより、端末装置２との通信制御を行ったり、端末装置２から与えられるコマンドに応じた処理を行ったりする。
【００１２】
上記プログラムメモリ１２は、読み出し専用のメモリ（ＲＯＭ：リードオンリーメモリ）により構成される。上記プログラムメモリ１２は、当該ＩＣカード１の仕様に応じた動作を司る制御プログラムおよび制御データなどを記憶する。  
上記ワーキングメモリ１３は、揮発性のメモリ（ＲＡＭ；ランダムアクセスメモリ）により構成される。上記ワーキングメモリ１３は、データを一時保管するバッファメモリとして機能する。例えば、上記ワーキングメモリ１３には、端末装置２との通信処理において、送受信されるデータを一時的に保管する通信バッファとして利用可能である。また、上記ワーキングメモリ１３は、種々の書込みデータなどを一時的に保持するメモリとしても利用される。
【００１３】
上記データメモリ（不揮発性メモリ）１４は、データの書き込みが可能な不揮発性のメモリである。上記データメモリ１４は、例えば、ＥＥＰＲＯＭあるいはフラッシュメモリなどにより構成される。上記データメモリ１４には、当該ＩＣカード１の使用目的に応じた種々の情報（アプリケーションプログラムおよび運用データなど）が書込まれる。当該ＩＣカード１が複数の使用目的に使用される場合、上記データメモリ１４には、各使用目的に応じた複数のアプリケーションが記憶される。また、データメモリ１４は、設定データなども記憶される。たとえば、後述するランク設定テーブル１４ａは、データメモリ１４内に設けられる。
【００１４】
上記通信制御部１５は、上記インターフェース２０を介して端末装置２とのデータ通信を制御するものである。当該ＩＣカード１が接触式ＩＣカードである場合、通信制御部１５は、端末装置２と物理的・電気的に接触するコンタクト部としてのインターフェース２０を介してデータを送受信する。なお、非接触型のＩＣカードであれば、上記通信制御部１５は、インターフェース２０としてのアンテナにより送受信するデータを変調あるいは復調する。
【００１５】
上記電源部１６は、当該ＩＣカード１の各部を動作させるための電力およびクロックパルスを供給する。当該ＩＣカード１が接触型のＩＣカードである場合、上記電源部１６は、インターフェース２０を介して外部装置から直接的に供給される電力およびクロックパルスを各部へ供給する。なお、当該ＩＣカードが非接触型のＩＣカードである場合、上記電源部１６は、上記インターフェース２０としてのアンテナにより受信した電波から電力およびクロックパルスを生成し、当該ＩＣカード内の各部に供給する。  
電圧検知部１７は、電源部１６が各部に供給する電源電圧を検知する。たとえば、電圧検知部１７は、たとえば、所定の基準電圧値に対して＋１０％〜−１０％の範囲（最低限の動作が可能な範囲）で電源の電圧値を検知する。ＣＰＵ１１は、電圧検知部１７の検知結果に基づいてＩＣカードの動作用の基準電圧値を設定する。また、ＣＰＵ１１は、電圧検知部１７が検知する電源電圧値に応じて実行可能なコマンドを制限する制御も行う。  
コプロセッサ１８は、各種データの暗号化・復号化を行うものである。コプロセッサ１８による暗号化・複合化の処理は、負荷の大きい処理であって、所定の基準電圧値よりも低い電圧値であれば、エラーとなる可能性が高い処理である。
【００１６】
次に、端末装置２の構成について説明する。  
上記端末装置２は、ＩＣカード１を動作させるための電源を供給するとともに、当該ＩＣカード１とのデータ通信を行う。たとえば、本実施の形態に係る端末装置２は、携帯電話機などの電子装置が想定される。ただし、端末装置２は、携帯電話機に限定されるものではなく、ＩＣカード１の通信方式に対応するカードリーダライタを具備する電子装置であれば良い。たとえば、端末装置２は、ＩＣカード１の通信方式に対応するカードリーダライタを具備するコンピュータなどであっても良い。
【００１７】
たとえば、端末装置２としての携帯電話機は、各ユーザが所持するＩＣカード１を装着した状態で携帯電話機としての通信が利用可能となる運用形態が想定される。また、ＩＣカード１は、端末装置２としての携帯電話機に設けられたＩＣカード用のソケットに装着される。携帯電話機のＩＣカード用のソケットに装着された状態で、携帯電話機のインターフェースとしてのコンタクト部とＩＣカード１のインターフェースとが接触してデータ通信が可能となる。また、端末装置２は、ＩＣカード１に物理的に接触しているコンタクト部を介して当該ＩＣカード１に動作用の電力およびクロックパルスを供給する。
【００１８】
図２は、端末装置２の一例としての携帯電話機の構成例を示すブロック図である。  
図２に示す構成例では、端末装置２としての携帯電話機は、制御部３１、ＲＡＭ３２、ＲＯＭ３３、不揮発性メモリ３４、ＩＣカード用のインターフェース（ＩＣカードインターフェース）３５、アンテナ３７、通信部３８、音声部３９、振動部４０、表示部４１、操作部４２および電源部４３などを有する。
【００１９】
上記制御部３１は、端末装置２全体の制御を司るものである。上記制御部３１は、ＣＰＵ、内部メモリ、各種のインターフェースなどを有する。また、上記制御部３１は、上記表示部４１の表示を制御する表示制御機能、ＰＬＬ（Phase Locked Loop）回路、データストリーム経路切換え、ＤＭＡ（Direct Memory Access）コントローラ、割り込みコントローラ、タイマ、ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）、秘匿、ＨＤＬＣ（High-level Data Link Control procedure）フレーミング、ディバイスコントローラなどの機能を有する。
【００２０】
上記ＲＡＭ３２は、作業用のデータを記憶するための揮発性メモリである。ＲＡＭ３２は、ＩＣカード１との通信設定情報として、通信確立処理において設定する設定データを記憶する。たとえば、ＲＡＭ３２は、ＩＣカード１との通信に適用するウインドウサイズの設定値などの通信設定値を記憶する。また、ＲＡＭ３２は、端末装置２がＩＣカード１に対して指定したデータの再送回数およびデータの再送間隔などの情報を記憶しても良い。上記ＲＯＭ３３は、制御プログラムおよび制御データなどが記憶されている不揮発性メモリである。上記制御部３１は、上記ＲＯＭ３３に記憶されている制御プログラムを実行することにより、当該端末装置２の制御を実現している。
【００２１】
上記不揮発性メモリ３４は、種々のデータが記憶される書き換え可能な不揮発性メモリである。上記不揮発性メモリ３４には、種々のアプリケーションプログラム（アプリケーション）、制御データ、および、ユーザデータなどが記憶される。上記制御部３１は、上記不揮発性メモリ３４に記憶されているアプリケーションプログラムを実行することにより、種々の機能を実現する。
【００２２】
上記ＩＣカードインターフェース３５は、ＩＣカード１が装着されるインターフェースである。上記ＩＣカードインターフェース３５は、上記制御部３１に接続されている。これにより、上記制御部３１は、上記ＩＣカードインターフェース３５を介して上記ＩＣカード１とのデータ通信が可能となっている。
【００２３】
上記通信部３８は、通信用のアンテナ３７を介して通話データあるいはデータ通信用のデータを電波で送受信する。上記音声部３９は、音声の入出力を行う。上記振動部４０は、当該端末装置２全体を振動させる振動機構により構成される。上記表示部４１は、上記制御部３１により表示の表示内容などが制御される。上記操作部４２は、キーボードなどにより構成され、ユーザによる操作指示が入力される。上記電源部４３は、バッテリーなどにより構成され、当該端末装置２内の各部に電源を供給する。また、上記電源部４３は、上記ＩＣカードインターフェース３５を介して接続されたＩＣカード１にも電源を供給する機能も有している。
【００２４】
次に、ＩＣカード１が端末装置２から供給される電源電圧について説明する。  
ＩＣカード１の電源部１６は、端末装置２から印加された電圧を電源電圧としてＩＣカード１内の各部へ供給する。電圧検知部１７は、電源部１６が供給する電源電圧の値を検知する。たとえば、ＩＣカード１は、規定の電圧値（基準電圧値）を動作電圧として動作するものとする。ＩＣカード１が動作する基準電圧値は、複数種類であっても良い。本実施形態では、ＩＣカード１の動作用の基準電圧値（所定の基準電圧値）は、第１基準値（クラスＡ：例えば、５．０ｖ）、第２基準値（クラスＢ：例えば、３．０ｖ）、および、第３基準値（クラスＣ：例えば、１．８ｖ）の３つがあるものを想定する。
【００２５】
また、ＩＣカード１の各部は、基準電圧値に対して＋１０％〜−１０％の範囲の電圧値で動作が可能であるものとする。ただし、基準電圧値に対して−３％までの電圧値が正常値であり、各種の処理の動作が保証されるものとする。これに対し、電源電圧値が所定の基準電圧値から−３％〜−１０％の電圧値では、負荷の小さい処理は、実行可能であるか、負荷の大きい処理は、電圧値が低ければ低いほど、エラーとなる可能性が高くなるものとする。
【００２６】
電圧検知部１７は、少なくとも各基準電圧値に対して、＋１０％〜−１０％の範囲の電圧値が検知できるものとする。従って、ＩＣカード１のＣＰＵ１１は、電圧検知部１７が検知する電源部１６の電圧値によって、基準電圧値（クラス）を設定できる。ＣＰＵ１１は、起動処理（リセット処理）において、電圧検知部１７が検知する電圧値に対応する基準電圧値を動作電圧としてセット（クラス設定）し、電源電圧のクラスを示す情報を端末装置２へのレスポンス（ＡＴＲ：Answer to Reset）として出力する。また、電源電圧が基準電圧値の−１０％よりも低ければ、ＩＣカード１内の各部が動作しないため、ＣＰＵ１１は、起動処理に対するレスポンス（ＡＴＲ）を出力しない（無応答となる）。
【００２７】
端末装置２は、ＩＣカード１からのＡＴＲを受信すると、ＡＴＲに付加されている情報から基準電圧値の設定（クラス設定）を確認し、ＩＣカード１に印加している電圧と同一であれば起動完了し、コマンド処理などの動作を続行する。また、ＩＣカード１からのＡＴＲが受信できない場合、端末装置２は、ＩＣカード１に印加する電圧を変更するなどしてＩＣカード１に対して起動処理をリトライさせる。
【００２８】
また、ＩＣカード１のＣＰＵ１１は、電源電圧が基準電圧値に対して−１０％までの値であれば、リセット処理を実行し、ＡＴＲを出力する。ただし、実際の電源電圧が基準電圧値よりも低い電圧値（例えば、基準電圧値から−３％〜−１０％の電圧値）である場合、ＡＴＲを出力することはできても、負荷の大きい処理を実施できないことがある。このため、ＣＰＵ１１は、電圧検知部１７が検知する電源電圧の値をランク分けし、ランクに応じて特定のコマンドの実行を制限する。電源電圧値のランクに応じて制限されるコマンドは、ランク設定テーブル１４ａにより設定しておくものとする。
【００２９】
次に、ランク設定テーブル１４ａについて説明する。  
図３は、ランク設定テーブル１４ａの例を示す図である。  
図３に示すように、ランク設定テーブル１４ａは、電源電圧の状態をランク分けで表している。各ランクは、基準電圧値を基準とした減少率によって分けられている。ここでは、ＩＣカード１が基準電圧値に対して−１０％まで低電圧で動作するものとする。図３に示すランク設定テーブル１４ａでは、電源電圧が基準電圧値から−３％までの電圧値である場合、電源電圧の状態は、正常な状態としてランク外とする。電源電圧の状態がランク外（正常値）である場合、ＩＣカード１は、処理の実行制限がなく、端末装置２から与えられる全てのコマンドに対して処理が実行可能となる。
【００３０】
電源電圧が基準電圧値の−３％〜−６％までの電圧値である場合、電源電圧の状態は、負荷の高い一部の処理の実行を制限するランクＡとする。電源電圧の状態がランクＡである場合、ＩＣカード１は、端末装置２から与えられるコマンドのうち、ランクＡに対応づけた各コマンドに対する処理を実行不可とする。たとえば、図３に示すランク設定テーブル１４ａの例では、ランクＡに対応づけてコプロ系のコマンドに対する処理が実行不可となるように設定されている。
【００３１】
また、電源電圧が基準電圧値の−６％から−９％までの電圧値である場合、電源電圧の状態は、ランクＡで制限される処理とランクＡで制限される処理よりも負荷が小さい処理とを含む各処理の実行を制限するランクＢとする。電源電圧の状態がランクＢである場合、ＩＣカード１は、端末装置２から与えられるコマンドのうち、ランクＢに対応づけた各コマンドに対する処理を実行不可とする。たとえば、図３に示すランク設定テーブル１４ａの例では、ランクＢに対応づけてコプロ系のコマンドとライト系のコマンドとに対する処理が実行不可となるように設定されている。
【００３２】
また、電源電圧が基準電圧値の−９％から−１０％までの電圧値である場合、電源電圧の状態は、ランクＡ及びランクＢで制限される処理とランクＢで制限される処理よりも負荷の小さい処理とを含む各処理の実行を制限するランクＣとする。電源電圧の状態がランクＣである場合、ＩＣカード１は、端末装置２から与えられるコマンドのうち、ランクＣに対応づけた各コマンドに対する処理を実行不可とする。たとえば、図３に示すランク設定テーブル１４ａの例では、ランクＣに対応づけてリード系以外のコマンドに対する処理が実行不可となるように設定されている。
【００３３】
なお、ランク設定テーブル１４では、特定のランク（例えば、ランクＣ）に対応づけて、全てのコマンドに対する処理の実行を制限するようにしても良い。これは、実質的にＩＣカードが全ての処理を不可とするものであり、端末装置との通信そのものをＩＣカードから遮断するようにしても良い。この場合、ＩＣカードは、ＡＴＲの出力自体は可能な状態を想定している。このため、ＩＣカードは、電源電圧の状態により処理が不能である旨のレスポンスを端末装置に通知してから通信を遮断するようにしても良い。
【００３４】
次に、ＩＣカード１がリセット処理の終了時に端末装置２へ送信するレスポンスとしてのＡＴＲ（Answer to Reset）について説明する。  
図４は、ＡＴＲの構成（フォーマット）例を示す図である。  
ＡＴＲは、ＩＣカード１が端末装置２へリセット処理の完了を通知するためのレスポンスである。したがって、ＩＣカードにおける電源電圧の状態を示す情報をＡＴＲに付加すれば、ＩＣカード１は、リセット処理の完了通知とともに、ＩＣカード内の電源電圧の状態を示す情報を端末装置２へ通知できる。本実施形態では、ＩＣカード１は、リセット処理の完了を示すＡＴＲに、ＩＣカード内の電源電圧の状態を示す情報（ランク情報）を付加して端末装置２へ送信するようになっている。
【００３５】
図４に示す構成例において、ＡＴＲのフレームは、「ＴＳ」、「Ｔ０」、「インターフェースバイト（Interface bytes）」、「ヒストリカルバイト（Historical bytes）」、「ＴＣＫ（Check byte）」により構成される。「ＴＳ」は、イニシャルキャラクター（Initial character）を示すものであり、ＡＴＲに必須の情報である。「Ｔ０」は、フォーマットバイト（Format byte）を示す情報であり、ＡＴＲに必須の情報である。「インターフェースバイト」は、ＩＣカードの特性を示す値を提示するものである。たとえば、「インターフェースバイト」には、プロトコルに依らない特性を示す情報と指示されたプロトコルの特定を示す情報とがある。「ヒストリカルバイト」は、主として、カード操作方法を主体としたカードの特徴を示す情報が含まれる。たとえば、本実施形態では、「ヒストリカルバイト」には、電源電圧のランクを示す情報（ランク情報）が付加される。「ＴＣＫ」は、チェックバイトである。たとえば、「ＴＣＫ」は、Ｔ０からヒストリカルバイトの最終バイトまでの各バイトの排他的論理和である。
【００３６】
図５は、ヒストリカルバイトの構成（フォーマット）例を示す図である。  
図５に示す構成例では、ヒストリカルバイトのフレームは、「Ｔ１」、「Ｔ２」、「Ｔ３」で構成されている。ヒストリカルバイトは、たとえば、「Ｔ１」から「Ｔｋ」（例えば、ｋの最大値は１５とする）までの各バイトで構成される。図５に示す例において、「Ｔ１」はカテゴリインディケーター（Category Indicator）である。図５に示す例では、「Ｔ１」が「８０」になっている。「Ｔ２」がコンパクトＴＬＶ(COMPACT-TLV)のデータオブジェクト(data object)列であり、「Ｔ３」がスタータスインフォメーション(Status information)である。
【００３７】
図６は、図５の「Ｔ２」に格納するコンパクトＴＬＶのデータオブジェクトの定義例を示す図である。たとえば、図５に示す例では、ＡＴＲにおけるヒストリカルバイトの「Ｔ２」が「８１」であれば、ヒストリカルバイトの「Ｔ３」がＬＣＳ（ライフサイクルステータス：Life Cycle Status）を示す情報となる。本実施形態では、ＬＣＳに電源電圧の基準電圧値に対するランク付けを示すランク情報を追加する例を想定して説明する。
【００３８】
たとえば、図５に示す例では、ＡＴＲにおいて、ヒストリカルバイトの「Ｔ２」が「８１」となり、ヒストリカルバイトの「Ｔ３」には、電源電圧の状態が正常（ランク外）であれば、電源電圧値が正常（ランク外）であることを示す「００」を追加する。また、電源電圧の状態が第１基準値（クラスＡ）であれば、ヒストリカルバイトの「Ｔ３」には電源電圧値がクラスＡであることを示す「０Ａ」を追加する。また、電源電圧の状態が第２基準値（クラスＢ）であれば、ヒストリカルバイトの「Ｔ３」には電源電圧値がクラスＢであることを示す「０Ｂ」を追加する。また、電源電圧の状態が第３基準値（クラスＣ）であれば、ヒストリカルバイトの「Ｔ３」には電源電圧値がクラスＣであることを示す「０Ｃ」を追加する。
【００３９】
なお、上述した例では、ＡＴＲには、ＩＣカードにおける電源電圧の状態を示すランク情報をヒストリカルバイトに付加するものとしたが、ランク情報の代わりに実行を制限するコマンドを示す情報をＡＴＲに付加するようにしても良い。この場合であっても、電源電圧の状態に応じて実行を制限するコマンドは、ランク設定テーブル１４ａを参照することにより設定可能である。
【００４０】
次に、ＩＣカード１における起動（リセット）処理について説明する。  
図７は、ＩＣカード１における起動処理の流れを説明するためのフローチャートである。  
端末装置２から電源電圧の供給が開始されると、ＩＣカード１では、電源部１６が端末装置２から供給された電圧を各部に電源電圧として供給することにより電源を投入する（ステップＳ１１）。
【００４１】
電源が投入されると、ＩＣカード１のＣＰＵ１１は、端末装置２からインターフェース２０を介して供給される電圧に応じて、電源部１６が各部へ供給している電源電圧の値を電圧検知部１７により検知する（ステップＳ１２）。電圧検知部１７により電源電圧値を検知すると、ＣＰＵ１１は、電圧検知部１７が検知した電圧値と所定の基準電圧値とを比較することにより、電源電圧値がＩＣカードを起動させることが可能な電圧値であるか否かを判断する（ステップＳ１３）。
【００４２】
たとえば、電源電圧値が複数の基準電圧値（例えば、３つの基準電圧値）のうち何れかの基準電圧値に対して所定の動作許容範囲（例えば、＋１０％〜−１０％の範囲）内の値であると判断した場合、ＣＰＵ１１は、電源電圧値が動作許容範囲となる基準電圧値を選択し、選択した基準電圧値での起動が可能であると判断する。電源電圧値が各基準電圧値の所定の動作許容範囲外であると判断した場合、ＣＰＵ１１は、電源電圧値が起動処理を実行できない電圧値であると判断する。
【００４３】
電源電圧値が起動できない電圧値であると判断した場合（ステップＳ１３、ＮＯ）、ＣＰＵ１１は、起動処理のリトライが可能か否かを判断する（ステップＳ１４）。たとえば、ＣＰＵ１１は、リセット処理として所定回数分のリトライを行うようにしても良い。また、ＣＰＵ１１は、電源電圧の安定性によりリセット処理をリトライするかリセット処理を中断するかを判断するようにしても良い。この場合、ＣＰＵ１１は、リセット処理をリトライする際の電源電圧値をメモリ（例えば、ワーキングメモリ１３）に記憶しておき、繰り返し実施するリセット処理における電源電圧値の変動が大きい場合（電源電圧が不安定な場合）に、リセット処理のリトライを行わないようにすれば良い。
【００４４】
また、リセット処理のリトライを実行しない場合（つまり、リセット処理を中断する場合）、ＣＰＵ１１は、端末装置２に対して無応答であっても良いし、リセット処理が実行できない理由を含むレスポンスを端末装置２へ送信するようにしても良い。後者の場合、ＩＣカード１は、たとえば、電源電圧値が基準電圧値でない旨、あるいは、電源電圧が不安定である旨などのリセット処理を中断する理由を示す情報を付加したレスポンスを端末装置２へ通知するようにすれば良い。これにより、端末装置２から供給される電源電圧値が基準電圧値の動作許容範囲でない場合、あるいは、端末装置２から供給される電源電圧が不安定である場合、ＩＣカード１がＩＣカード自身の判断でリセット処理を中断し、端末装置２との通信を遮断するようにできる。
【００４５】
電源電圧値が起動可能な電圧値（電源の電圧値が基準電圧値の動作許容範囲内）であると判断した場合（ステップＳ１３、ＹＥＳ）、ＣＰＵ１１は、電源電圧値に応じて選択した基準電圧値を基準として、電源電圧の状態を示すランクを判定する（ステップＳ１５）。ＣＰＵ１１は、電圧検知部１７が検知する電源の電圧値とランク設定テーブル１４ａに記憶した各ランクの判定基準とにより、電源電圧の状態を示すランクを決定する。
【００４６】
たとえば、ランク設定テーブル１４ａが図３に示すような判定基準である場合、電源電圧値が基準電圧値から−３％までの電圧値であれば、ＣＰＵ１１は、電源電圧の状態をランク外（正常）と判断する。また、電源電圧が基準電圧値の−３％〜−６％までの電圧値であれば、ＣＰＵ１１は、電源電圧の状態をランクＡと判断する。また、電源電圧が基準電圧値の−６％から−９％までの電圧値であれば、ＣＰＵ１１は、電源電圧の状態をランクＢと判断する。また、電源電圧が基準電圧値の−９％から−１０％までの電圧値であれば、ＣＰＵ１１は、電源電圧の状態をランクＣと判断する。
【００４７】
電源電圧の状態を示すランクを決定すると、ＣＰＵ１１は、当該ランクを示すランク情報を付加したＡＴＲを作成する（ステップＳ１６）。たとえば、ＣＰＵ１１は、電源電圧の状態を示すランク情報を、図５に示すようなＡＴＲのヒストリカルバイトに追加する。ランク情報を付加したＡＴＲを作成すると、ＣＰＵ１１は、インターフェース２０を介して端末装置２へ作成したＡＴＲを送信する（ステップＳ１７）。
【００４８】
このＡＴＲを受信した端末装置２では、ＩＣカード１に印加した電源電圧値とＩＣカード１が指定したクラスの基準電圧値とが一致するか否かなどを確認する。また、ＡＴＲを受信した端末装置２は、ＩＣカード１から通知された電源電圧の状態を示すランクにより、当該ＩＣカード１が実行を制限しているコマンドを特定できる。たとえば、端末装置２では、ＩＣカード１における電源電圧の状態を示すランクに対応づけて実行が制限されるコマンドを示す情報を不揮発性メモリ３４に記憶しておくことにより、ＩＣカード１から通知されるランクに応じて実行が制限されるコマンドを特定できる。
【００４９】
端末装置２へＡＴＲを正常に出力できた場合（ステップＳ１８、ＹＥＳ）、ＩＣカード１のＣＰＵ１１は、電圧検知部１７による検知した電圧値に基づいて選択した基準電圧値を動作用の電圧値と確定し、当該基準電圧値を動作用の電圧値として設定する（ステップＳ１９）。さらに、ＣＰＵ１１は、当該基準電圧値に対する電源電圧の状態を示すランクに応じて実行を制限すべき処理（コマンド）が存在するか否かを判断する（ステップＳ２０）。たとえば、ランク外である場合、ＣＰＵ１１は、実行を制限するコマンドを設定することなく、リセット処理を終了する。また、ランクＡ、Ｂ又はＣである場合、ＣＰＵ１１は、ランク設定テーブル１４ａを参照して、電源電圧値に対するランクに応じて実行を制限するコマンドを設定し（ステップＳ２１）、リセット処理を終了する。
【００５０】
以上の処理によれば、ＩＣカードは、基準電圧値よりも低い電源電圧値に対するランク付けと各ランクに応じて実行を制限するコマンドとを示す設定情報をメモリに設定しておき、端末装置から電源供給を受けてリセット処理を実行する場合、電圧検知部により検知した電源電圧値とメモリに記憶した設定情報とに基づいて電源電圧値の状態に応じて実行を制限するコマンドを設定する。
【００５１】
これにより、電源電圧値が低いために負荷の大きいコマンドに対応する処理が実行不能となって、ＩＣカードが無応答となるなどの不安な状態になることを事前に防止でき、端末装置との通信を安定化させることができる。
【００５２】
また、ＩＣカードは、電源電圧値の状態を示すランクに応じて実行を制限するコマンドを設定した場合、電源電圧の状態を示すランク情報を端末装置へのレスポンスに付加して通知する。これにより、端末装置側でも、ＩＣカードにおける電源電圧の状態を判別することができる。また、端末装置では、電源電圧の状態を示すランク情報によって、当該ＩＣカードが実行を制限しているコマンドが判るようにすることもできる。
【００５３】
また、ＩＣカードは、リセット処理を行うごとに端末装置から供給される電源電圧値を検知し、リセット処理を連続して実行した場合に、端末装置から供給される電源電圧値の変動を判断することにより、端末装置から供給される電源電圧値が不安定な場合にリセット処理を強制的に終了したり、端末装置との通信をＩＣカード側から遮断したりすることができる。
【００５４】
なお、上述したような電源電圧値の検知結果に応じたランク判定とランクに応じたコマンドの実行制限の設定とは、リセット処理においてだけでなく、適宜行うようにしても良い。つまり、電源状態に応じて実行を制限したコマンドが存在する場合であっても、リセット処理後、電源電圧の状態が改善すれば（例えば、電源電圧値が正常になれば）、コマンドの実行制限を解除するようにでき、逆に、電源電圧値が低下すればその電圧値に応じて新たにコマンドの実行制限を設定することもできる。
【００５５】
次に、ＩＣカード１におけるコマンド処理について説明する。  
図８は、ＩＣカード１におけるコマンド処理の流れを概略的に説明するためのフローチャートである。  
以下に説明するコマンド処理は、上述したリセット処理などにより電源電圧の状態を示すランクに応じて実行が制限されるコマンドが設定されるＩＣカードであることを想定するものとする。すなわち、端末装置２からコマンドを受信した場合（ステップＳ３１、ＹＥＳ）、ＣＰＵ１１は、コマンドの実行制限が設定されているか否かを判断する（ステップＳ３２）。コマンドの実行制限が設定されている場合（ステップＳ３２、ＹＥＳ）、ＣＰＵ１１は、受信したコマンドが実行を制限されているコマンドであるか否かを判断する（ステップＳ３３）。
【００５６】
コマンドの実行制限が設定されていない場合（ステップＳ３２、ＮＯ）、あるいは、端末装置２から受信したコマンドが実行を制限されているコマンドでないと判断した場合（ステップＳ３３、ＮＯ）、ＣＰＵ１１は、受信したコマンドに応じて処理を実行し（ステップＳ３４）、受信したコマンドの実行結果を示すレスポンスを端末装置２へ送信する（ステップＳ３５）。
【００５７】
また、端末装置２から受信したコマンドが実行を制限されているコマンドであると判断した場合（ステップＳ３３、ＹＥＳ）、ＣＰＵ１１は、端末装置２から受信したコマンドの実行を中止する（ステップＳ３６）。コマンドの実行制限に基づいて受信したコマンドの実行を中止した場合、ＣＰＵ１１は、受信したコマンドが電源電圧の状態により実行を制限しているコマンドであるため実行を終始した旨のレスポンスを端末装置２へ送信する（ステップＳ３７）。
【００５８】
以上の処理によれば、ＩＣカードは、受信したコマンドが電源電圧の状態に応じて実行が制限されたコマンドであれば、当該コマンドの実行を中止し、電源電圧の状態に応じた動作制限により動作を中止したことをレスポンスとして端末装置へ返す。この結果として、ＩＣカードは、電源電圧の状態が原因でコマンドが実行不能となって無応答などの不安な状態に陥らず、端末装置との通信を安定して継続することができる。
【００５９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６０】
１…ＩＣカード、Ｃ…本体、Ｍ…モジュール、１ａ…ＩＣチップ、２…端末装置、１１…プロセッサ（ＣＰＵ）、１２…プログラムメモリ、１３…ワーキングメモリ、１４…データメモリ、１４ａ…ランク設定テーブル、１５…通信制御部、１６…電源部、１７…電圧検知部、１８…コプロセッサ、２０…インターフェース。
【図１】
2013122690.tif 000003
【図２】
2013122690.tif 000004
【図３】
2013122690.tif 000005
【図４】
2013122690.tif 000006
【図５】
2013122690.tif 000007
【図６】
2013122690.tif 000008
【図７】
2013122690.tif 000009
【図８】
2013122690.tif 000010