(57)【要約】【課題】より高い利便性を備えるＩＣカード、携帯可能電子装置、及びＩＣカードのリーダライタを提供する。【解決手段】一実施形態に係るＩＣカードは、電力を蓄える第１のバッテリと、前記第１のバッテリの電力を用いて搬送波を出力する第１の搬送波出力部と、を備える外部機器と非接触通信を行うＩＣカードであって、電力を蓄える第２のバッテリと、前記第２のバッテリの電力を用いて搬送波を出力し、前記外部機器に電力を供給する第２の搬送波出力部と、前記第１のバッテリの残量を示す情報を取得するバッテリ残量読出部と、前記第１のバッテリの残量と前記第２のバッテリの残量とを比較する比較部と、を具備する。【選択図】      図２
2014063334.tif 000002
【特許請求の範囲】
【請求項１】
電力を蓄える第１のバッテリと、前記第１のバッテリの電力を用いて搬送波を出力する第１の搬送波出力部と、を備える外部機器と非接触通信を行うＩＣカードであって、
電力を蓄える第２のバッテリと、
前記第２のバッテリの電力を用いて搬送波を出力し、前記外部機器に電力を供給する第２の搬送波出力部と、
前記第１のバッテリの残量を示す情報を取得するバッテリ残量読出部と、
前記第１のバッテリの残量と前記第２のバッテリの残量とを比較する比較部と、
を具備するＩＣカード。
【請求項２】
前記比較部による比較の結果に基づいて、前記搬送波の出力の切替を要求する搬送波切替要求部をさらに具備する請求項１に記載のＩＣカード。
【請求項３】
前記搬送波切替要求部は、前記第２の搬送波出力部が搬送波を出力しており、且つ、前記第２のバッテリの残量が前記第１のバッテリの残量より小さい場合、前記第１の搬送波出力部から搬送波を出力するように前記外部機器に対して前記搬送波の出力の切替を要求する、請求項２に記載のＩＣカード。
【請求項４】
前記各部を備えるＩＣモジュールと、
前記ＩＣモジュールが配設される本体と、
を具備する請求項１に記載のＩＣカード。
【請求項５】
電力を蓄える第１のバッテリと、前記第１のバッテリの電力を用いて搬送波を出力する第１の搬送波出力部と、を備える外部機器と非接触通信を行う携帯可能電子装置であって、
電力を蓄える第２のバッテリと、
前記第２のバッテリの電力を用いて搬送波を出力し、前記外部機器に電力を供給する第２の搬送波出力部と、
前記第１のバッテリの残量を示す情報を取得するバッテリ残量読出部と、
前記第１のバッテリの残量と前記第２のバッテリの残量とを比較する比較部と、
を具備する携帯可能電子装置。
【請求項６】
電力を蓄える第１のバッテリと、前記第１のバッテリの電力を用いて搬送波を出力する第１の搬送波出力部と、を備えるＩＣカードと非接触通信を行うリーダライタであって、
電力を蓄える第２のバッテリと、
前記第２のバッテリの電力を用いて搬送波を出力し、前記外部機器に電力を供給する第２の搬送波出力部と、
前記第１のバッテリの残量を示す情報を取得するバッテリ残量読出部と、
前記第１のバッテリの残量と前記第２のバッテリの残量とを比較する比較部と、
を具備するＩＣカードのリーダライタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣカード、携帯可能電子装置、及びカードリーダライタに関する。
【背景技術】
【０００２】
一般的に、携帯可能電子装置として用いられるＩＣカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたＩＣモジュールとを備えている。ＩＣモジュールは、ＩＣチップを有している。ＩＣチップは、電源が無い状態でもデータを保持することができるＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）またはフラッシュＲＯＭなどの不揮発性メモリと、種々の演算を実行するＣＰＵと、ＣＰＵの処理に利用されるＲＡＭメモリなどを有している。
【０００３】
ＩＣカードは、非接触通信によりデータの送受信を行うことができる。このような非接触通信を行うＩＣカードは、ＩＣチップとアンテナとを備えている。ＩＣカードは、ＩＣカードを処理するＩＣカード処理装置のリーダライタから出力された磁界をカード内のアンテナにより受け取り、電磁誘導により起電させることにより動作する。また、ＩＣカードは、非接触通信により処理装置からコマンドを受信した場合、受信したコマンドに応じてアプリケーションを実行する。これにより、ＩＣカードは、種々の機能を実現することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１１８６４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、ＩＣカード処理装置は、ＩＣカードにコマンドを送信する能動側（アクティブ）として機能する。また、ＩＣカードは、受信したコマンドに応じて処理を行う受動側（パッシブ）として機能する。しかし、近年、能動側として機能するＩＣカードが望まれている。
【０００６】
ＩＣカード同士で非接触通信を行なう為には、いずれかのＩＣカードが搬送波を出力する必要がある。この為、バッテリを備えるＩＣカードがある。しかし、バッテリの残量が不足した場合、能動側と受動側とで通信を行なうことができなくなるという課題がある。
【０００７】
そこで、より高い利便性を備えるＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
一実施形態に係るＩＣカードは、電力を蓄える第１のバッテリと、前記第１のバッテリの電力を用いて搬送波を出力する第１の搬送波出力部と、を備える外部機器と非接触通信を行うＩＣカードであって、電力を蓄える第２のバッテリと、前記第２のバッテリの電力を用いて搬送波を出力し、前記外部機器に電力を供給する第２の搬送波出力部と、前記第１のバッテリの残量を示す情報を取得するバッテリ残量読出部と、前記第１のバッテリの残量と前記第２のバッテリの残量とを比較する比較部と、を具備する。
【図面の簡単な説明】
【０００９】
【図１】図１は、一実施形態に係るＩＣカード処理システムについて説明するための図である。
【図２】図２は、一実施形態に係るＩＣカードについて説明するための図である。
【図３】図３は、一実施形態に係るＩＣカードについて説明するための図である。
【図４】図４は、一実施形態に係るＩＣカードについて説明するための図である。
【図５】図５は、一実施形態に係るＩＣカードについて説明するための図である。
【図６】図６は、一実施形態に係るＩＣカードについて説明するための図である。
【図７】図７は、一実施形態に係るＩＣカードについて説明するための図である。
【図８】図８は、一実施形態に係るＩＣカードについて説明するための図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、一実施形態に係るＩＣカード、携帯可能電子装置、及びカードリーダライタについて詳細に説明する。
【００１１】
本実施形態に係る携帯可能電子装置（ＩＣカード）２０及びＩＣカードを処理する処理装置（端末装置）１０は、例えば、非接触通信の機能を備える。これにより、端末装置１０と、ＩＣカード２０またはＩＣカード３０とは、互いにデータの送受信を行うことができる。
【００１２】
端末装置１０は、ＩＣカード２０またはＩＣカード３０に対してコマンドを送信する。ＩＣカード２０及びＩＣカード３０は、端末装置１０から送信されたコマンドに応じて処理を実行し、レスポンスを端末装置１０に送信する。この場合、端末装置１０が能動側として機能し、ＩＣカード２０及び３０が受動側として機能する。
【００１３】
また、ＩＣカード２０及びＩＣカード３０は、端末装置１０と同様に、他のＩＣカードに対してコマンドを送信する能動側の機能も備える。例えば、ＩＣカード２０が能動側として機能し、ＩＣカード３０が受動側として機能すると仮定する。この場合、ＩＣカード２０は、ＩＣカード３０に対してコマンドを送信し、ＩＣカード３０からレスポンスを受信するＩＣカードのリーダライタとして機能する。ＩＣカード３０は、ＩＣカード２０から送信されたコマンドに応じて処理を実行し、レスポンスをＩＣカード２０に送信する。このように、ＩＣカード２０及び３０は、非接触で他のＩＣカードと通信し、コマンド処理を実行させることができる。
【００１４】
図１は、一実施形態に係るＩＣカード処理システム１の構成例を示す。  
ＩＣカード処理システム１は、ＩＣカード２０を処理する端末装置１０、ＩＣカード２０、及びＩＣカード３０・・・を備える。なお、端末装置１０とＩＣカード２０とは、上記したように非接触通信により互いに種々のデータを送受信することができる。また、端末装置１０とＩＣカード３０とは、非接触通信により互いに種々のデータを送受信することができる。また、ＩＣカード２０及びＩＣカード３０は、他のＩＣカードと非接触通信により互いに種々のデータを送受信することができる。なお、ＩＣカード２０とＩＣカード３０とは同様の構成を備える。
【００１５】
端末装置１０は、ＩＣカード２０及び３０と通信を行なう為の共振部を備える。共振部は、例えば所定の共振周波数を有するアンテナを有する。共振部は、送信するデータに応じて磁界を発生させる。これにより、端末装置１０は、通信可能範囲に存在するＩＣカード２０及び３０に対してデータを非接触で送信することができる。また、共振部は、空間中に搬送波を出力する。これにより、端末装置１０は、空間中のＩＣカード２０及び３０に対して電力を供給することができる。
【００１６】
また、共振部は、磁界を検知し、検知した磁界に応じてデータを生成する。これにより、共振部は、データを非接触で受信することができる。これにより、端末装置１０は、ＩＣカード２０または３０から送信された元のデータを取得することができる。
【００１７】
図２は、一実施形態に係るＩＣカード２０の構成例を示す。  
図２に示すように、ＩＣカード２０は、例えば、矩形状の本体２１と、本体２１内に内蔵されたＩＣモジュール２２とアンテナ共振回路（共振部）２４とを備える。ＩＣモジュール２２は、ＩＣチップ２３を備える。ＩＣモジュール２２が本体２１に設置された場合、本体２１に設置された共振部２４とＩＣモジュール２２のＩＣチップ２３とが接続される。
【００１８】
なお、本体２１は、少なくとも共振部２４が配設されるＩＣモジュール２２を設置可能な形状であれば、矩形状に限らず如何なる形状であっても良い。
【００１９】
ＩＣチップ２３は、ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７、不揮発性メモリ２８、送受信部２９、電源部３１、及びロジック部３２などを備える。ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７、不揮発性メモリ２８、送受信部２９、及びロジック部３２は、バスを介して互いに接続されている。
【００２０】
共振部２４は、端末装置１０、またはＩＣカード３０などの外部機器と通信を行うためのインターフェースである。共振部２４は、例えば、ＩＣモジュール２２内に所定の形状で配設される金属線により構成されるアンテナを備える。
【００２１】
ＩＣカード２０は、外部機器に送信するデータに応じてアンテナにより磁界を発生させる。これにより、ＩＣカード２０は、外部機器に対してデータを送信することができる。また、ＩＣカード２０は、電磁誘導によりアンテナに発生する誘導電流に基づいて外部機器から送信されたデータを認識する。これにより、ＩＣカード２０は、外部機器から送信されたデータを受信することができる。
【００２２】
ＣＰＵ２５は、ＩＣカード２０全体の制御を司る制御部として機能する。ＣＰＵ２５は、ＲＯＭ２６あるいは不揮発性メモリ２８に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、ＣＰＵ２５は、外部機器から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。また、ＣＰＵ２５は、外部機器に実行させるコマンドを生成することができる。
【００２３】
ＲＯＭ２６は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＯＭ２６は、製造段階で制御プログラム及び制御データなどを記憶した状態でＩＣカード２０内に組み込まれる。即ち、ＲＯＭ２６に記憶される制御プログラム及び制御データは、予めＩＣカード２０の仕様に応じて組み込まれる。
【００２４】
ＲＡＭ２７は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ２７は、ＣＰＵ２５の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ２７は、共振部２４を介して受信したデータを一時的に格納する。またＲＡＭ２７は、共振部２４を介して外部機器に送信するデータを一時的に格納する。またさらに、ＲＡＭ２７は、ＣＰＵ２５が実行するプログラムを一時的に格納する。
【００２５】
不揮発性メモリ２８は、例えば、ＥＥＰＲＯＭなどのデータの書き込み及び書き換えが可能なフラッシュメモリを備える。不揮発性メモリ２８は、例えば、制御用のプログラム、制御データ、アプリケーション、個人情報、暗号鍵などのセキュリティ情報、及びアプリケーションに用いられるデータなどを記憶する。
【００２６】
送受信部２９は、外部機器に送信するデータに対して符号化、負荷変調などの信号処理を行う。例えば、送受信部２９は、外部機器に送信するデータの変調（増幅）を行う。送受信部２９は、信号処理を施したデータを共振部２４に送信する。
【００２７】
また、送受信部２９は、共振部２４により受信する信号に対して復調、及び復号を行う。例えば、送受信部２９は、共振部２４により受信する信号の解析を行う。これにより、送受信部２９は、２値の論理データを取得する。送受信部２９は、解析したデータをバスを介してＣＰＵ２５に送信する。
【００２８】
電源部３１は、端末装置１０またはＩＣカード３０などから出力された電波、特にキャリア波に基づいて電力を生成する。即ち、電源部３１は、共振部２４により空間中の搬送波を受け取り、電磁誘導により電力を生成することができる。さらに、電源部３１は、動作クロックを生成する。電源部３１は、発生させた電力及び動作クロックをＩＣカード２０の各部に電力を供給する。ＩＣカード２０の各部は、電力の供給を受けた場合、動作可能な状態になる。
【００２９】
また、電源部３１は、バッテリ３１ａを備える。バッテリ３１ａは、例えば、物質の化学反応または物理反応によって電気エネルギーを取り出す電池を備える。また、バッテリ３１ａは、供給された電力を蓄えるコンデンサ、または充電池を備える構成であってもよい。
【００３０】
例えば、電源部３１は、空間中に出力されたキャリア波（搬送波）に基づいて電力を生成し、生成した電力をバッテリ３１ａに充電することができる。また、電源部３１は、バッテリ３１ａに充電されている電力を共振部２４に供給することができる。これにより、ＩＣカード２０は、バッテリ３１ａに充電されている電力を用いて搬送波を共振部２４から空間中に出力することができる。これにより、ＩＣカード２０は、空間中の他のＩＣカード（例えばＩＣカード３０）に対して電力を供給することができる。
【００３１】
またさらに、電源部３１は、バッテリ３１ａに充電されている電力の量を検出することができる。電源部３１は、検出した値に応じて、バッテリ３１ａに充電されている電力の量を示す情報をＣＰＵ２５に供給することができる。
【００３２】
ロジック部３２は、演算処理をハードウエアにより行う演算部である。例えば、ロジック部３２は、外部機器からのコマンドに基づいて、暗号化、復号、及び乱数の生成などの処理を行う。例えば、ＩＣカード２０が相互認証コマンドを受信した場合、ロジック部３２は、乱数を生成し、生成した乱数をＣＰＵ２５に伝送する。
【００３３】
ＣＰＵ２５は、自身が受動側（パッシブ）である場合、送受信部２９により受信したコマンドに応じた処理（コマンド処理）を実行することができる。ＣＰＵ２５は、例えば、送受信部２９により受信したコマンドに応じて、読み出し、書き込みなどのＩＳＯ／ＩＥＣ７８１６で規定された種々のコマンドに応じた処理を実行することができる。
【００３４】
また、ＣＰＵ２５は、自身が能動側（アクティブ）である場合、送受信部２９により端末装置１０、または他のＩＣカード３０にコマンドを送信することができる。また、ＣＰＵ２５は、端末装置１０、または他のＩＣカード３０から送信されたレスポンスを解析し、端末装置１０、または他のＩＣカード３０における処理結果を認識することができる。
【００３５】
ＩＣカード２０は、一次発行と二次発行とにより発行される。ＩＣカード２０は、一次発行において、不揮発性メモリ２８に種々のデータを格納する為のファイルをコマンドに応じて創成する。これにより、不揮発性メモリ２８には、Ｍａｓｔｅｒ  Ｆｉｌｅ（ＭＦ）、Ｄｅｄｉｃａｔｅｄ  Ｆｉｌｅ（ＤＦ）、及びＥｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＥＦ）などが創成される。
【００３６】
ＭＦは、ファイル構造の根幹となるファイルである。ＤＦは、ＭＦの下位に創成される。ＤＦは、アプレット及びアプレットが有するコンポーネントなどをグループ化して格納するファイルである。ＥＦは、ＤＦの下位に創成される。ＥＦは、様々なデータを格納するためのファイルである。また、ＭＦの直下にＥＦが置かれる場合もある。
【００３７】
ＥＦには、Ｗｏｒｋｉｎｇ  Ｅｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＷＥＦ）とＩｎｔｅｒｎａｌ  Ｅｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＩＥＦ）などの種類がある。ＷＥＦは、作業用ＥＦであり、個人情報などを格納する。ＩＥＦは、内部ＥＦであり、例えば、セキュリティのための暗号鍵（暗証番号）などのデータを記憶する。
【００３８】
二次発行では、ＥＦに例えば顧客データなどの個別データが格納される。これにより、ＩＣカード２０が運用可能な状態になる。即ち、ＣＰＵ２５は、不揮発性メモリ２８、または、ＲＯＭ２６に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【００３９】
なお、上記したようにＩＣカード３０は、ＩＣカード２０と同様の構成を備える。この為、ＩＣカード２０及びＩＣカード３０は、端末装置１０から供給された搬送波をバッテリに充電することができる。
【００４０】
さらに、ＩＣカード２０またはＩＣカード３０のいずれかが能動側として機能した場合、他のＩＣカードにコマンド処理を実行させることができる。なお、ここでは、ＩＣカード２０が能動側であり、ＩＣカード３０が受動側である場合の例について説明する。また、ここでは、最初にＩＣカード２０が搬送波を出力している例について説明する。
【００４１】
能動側であるＩＣカード２０は、ＩＣカード３０に初期応答要求コマンド及び選択コマンド（総じて初期設定コマンドと称する）などを送信することにより、通信に関する種々の設定をＩＣカード３０に対して行なう。
【００４２】
ＩＣカード２０は、ＩＣカード３０の検知を行なう為に、初期応答要求コマンドを生成する。初期応答要求コマンドは、例えば、コマンドが初期応答要求コマンドであることを示すパラメータ、応用分野を特定する為のパラメータ、コマンドの種類及びアンチコリジョンの方法などの属性情報を示すパラメータ、アンチコリジョンのスロットの数を示すパラメータ、及び巡回冗長検査符号などを有する。
【００４３】
ＩＣカード２０は、生成した初期応答要求コマンドを共振部２４により繰り返し空間中の通信可能範囲に送信する。また、ＩＣカード２０は、通信可能範囲にキャリア波（搬送波）を供給する。
【００４４】
ＩＣカード３０は、ＩＣカード２０の通信可能範囲内に進入した場合、ＩＣカード２０からの搬送波により活性化されてアイドル状態になる。即ち、ＩＣカード２０は、通信可能範囲内のＩＣカード３０に搬送波を供給する。さらに、ＩＣカード３０は、初期応答要求コマンドを受信する。
【００４５】
ＩＣカード３０は、受信した初期応答要求コマンドを解析する。これにより、ＩＣカード３０は、初期応答要求コマンドの各種のパラメータの値をそれぞれ認識する。ＩＣカード３０は、認識したパラメータの値に基づいて処理を実行する。ＩＣカード３０は、処理結果に応じて初期応答要求コマンドに対するレスポンス（初期応答）を生成する。
【００４６】
初期応答は、レスポンスが初期応答要求コマンドに対するレスポンス（初期応答）であることを示すパラメータ、擬似固有ＩＣカード（ＰＩＣＣ）識別子、応用データは、ＩＣカード３０にどのようなアプリケーションが書き込まれているかを示す応用データ、ＩＣカード３０がサポートするプロトコルを示すプロトコル情報、及び巡回冗長検査符号を生成する。
【００４７】
例えば、ＩＣカード３０は、初期応答要求コマンドを受信した場合、上記したような情報を含む初期応答を生成する。なお、プロトコル情報は、ＩＣカード３０がサポートする通信速度を示す情報（通信速度情報）を含む。さらに、プロトコル情報は、通信速度情報、最大フレーム長、プロトコルタイプ、フレーム待ち時間係数、応用データ符号化、及びフレームオプションなどを有する。
【００４８】
最大フレーム長は、ＩＣカード３０が受信可能な最大フレーム長を示す。プロトコルタイプは、ＩＣカード３０がサポートしているプロトコルタイプを示す。フレーム待ち時間係数は、ＩＣカード２０から送信されたコマンド（コマンドを含むフレーム）の最後からＩＣカード３０が応答を開始するまでの最大時間を示す。応用データ符号化は、ＩＣカード３０がサポートする符号化の形式を示す。フレームオプションは、ＩＣカード３０がノードアドレス（ＮＡＤ）をサポートしているか、カード識別子（ＣＩＤ）をサポートしているかを示す。
【００４９】
ＩＣカード３０は、生成した初期応答要求コマンドに対するレスポンス（初期応答）をＩＣカード２０に送信する。
【００５０】
ＩＣカード２０は、初期応答要求コマンドに対するレスポンス（初期応答）を受信した場合、受信したレスポンスを解析する。これにより、ＩＣカード２０は、自身の通信可能範囲内にＩＣカード３０が存在することを認識する。
【００５１】
また、ＩＣカード２０は、レスポンスに含まれる通信速度情報を確認し、ＩＣカード３０によりサポートされている通信速度を認識する。さらにＩＣカード２０は、ＩＣカード３０に設定させる通信速度を示す情報、及びＩＣカード３０を特定する為の識別情報を有する選択コマンドを生成する。ＩＣカード２０は、選択コマンドをＩＣカード３０に送信する。
【００５２】
ＩＣカード３０は、選択コマンドを受信した場合、選択コマンドを解析する。これにより、ＩＣカード３０は、選択コマンドに含まれていたＩＣカード２０により指定された通信速度、及び識別情報を認識する。
【００５３】
ＩＣカード３０は、認識した識別情報と自身が保有している識別情報とを比較し、一致した場合、後続の処理を行う。この場合、ＩＣカード３０は、選択コマンドにより指定された通信速度を自身に設定する。具体的には、ＩＣカード３０は、選択コマンドにより指定された通信速度を示す通信速度設定情報をＲＡＭ２７、または不揮発性メモリ２８上の所定の記憶領域に記憶することにより、通信速度を設定する。ＩＣカード３０は、ＲＡＭ２７、または不揮発性メモリ２８に記憶されている通信速度設定情報が示す通信速度に応じてレスポンスの送信、及び受信したコマンドの解析を行う。
【００５４】
また、ＩＣカード３０は、取得した識別情報と自身が保有している識別情報とが一致しない場合、処理を終了する。
【００５５】
通信速度の設定が完了した場合、ＩＣカード３０は、選択コマンドに対するレスポンスを生成し、生成したレスポンスをＩＣカード２０に送信する。なお、この場合、ＩＣカード３０は、標準の通信速度で解析可能な状態でレスポンスをＩＣカード２０に送信する。ＩＣカード３０は、選択コマンドに対するレスポンスを送信した後、上記の処理により設定した通信速度に応じてレスポンスの送信、及び受信したコマンドの解析を行う。
【００５６】
ＩＣカード２０は、選択コマンドに対するレスポンスを受信した場合、レスポンスを解析することにより、ＩＣカード３０の選択が正常に完了したことを認識する。これ以降ＩＣカード２０は、ＩＣカード３０に設定した通信速度でコマンドの送信、及び受信したレスポンスの解析を行う。
【００５７】
上記の処理により、ＩＣカード２０とＩＣカード３０との間で通信路が確立される。以降、ＩＣカード３０は、ＩＣカード２０から送信されるコマンドに基づいて、種々のコマンド処理を実行することができる。
【００５８】
ＩＣカード２０は、ＩＣカード３０に処理を実行させるためのコマンドを送信する。ＩＣカード３０は、コマンドを受信した場合、受信したコマンドを解析する。ＩＣカード３０は、解析したコマンドに基づいてコマンド処理を実行し、レスポンスを生成する。ＩＣカード３０は、生成したレスポンスをＩＣカード２０に送信する。
【００５９】
なお、ＩＣカード２０とＩＣカード３０とは、所定の形式のフレームを送受信することにより、コマンドレスポンスを行う。
【００６０】
図３は、ＩＣカード２０及びＩＣカード３０の処理の例を示す。なお、本実施形態は、ＩＣカード２０とＩＣカード３０とがＩＳＯ／ＩＥＣ１４４４３により規定されたブロックフォーマットにより非接触通信を行う例を示す。  
ＩＣカード２０及びＩＣカード３０は、コマンドとレスポンスとを送受信し、初期設定を行う。これにより、ＩＣカード２０とＩＣカード３０との間で通信プロトコルが活性化される。この結果、ＩＣカード３０は、ＩＣカード２０から送信されたコマンドに応じて種々の処理を実行することができる。
【００６１】
ＩＣカード２０とＩＣカード３０とは、ＩＳＯ／ＩＥＣ１４４４３により規定されている通信フォーマットに応じたフレームのデータを送受信する。例えば、ＩＳＯ／ＩＥＣ１４４４３では、フレームの形式としてＩ−ｂｌｏｃｋ（Ｉｎｆｏｒｍａｔｉｏｎ  ｂｌｏｃｋ：情報ブロック）、Ｒ−ｂｌｏｃｋ（Ｒｅｃｅｉｖｅ  ｒｅａｄｙ  ｂｌｏｃｋ：受信準備完了ブロック）、Ｓ−ｂｌｏｃｋ(Ｓｕｐｅｒｖｉｓｏｒｙ  ｂｌｏｃｋ：管理ブロック)などのブロック伝送方式が規定されている。
【００６２】
Ｉ−ｂｌｏｃｋ、Ｒ−ｂｌｏｃｋ、及びＳ−ｂｌｏｃｋは、それぞれ異なる役割を有する。Ｉ−ｂｌｏｃｋ（Ｉブロック）は、アプリケーション層で使用する情報を伝達するためのフォーマットである。通常のデータ読出し、書き込みには、Ｉ−ｂｌｏｃｋが用いられる。
【００６３】
Ｒ−ｂｌｏｃｋ（Ｒブロック）は、肯定応答または否定応答を伝達するためのフォーマットである。Ｒ−ｂｌｏｃｋには、Ｒ−ｂｌｏｃｋ（ＡＣＫ）及びＲ−ｂｌｏｃｋ（ＮＡＣ）などの種類がある。Ｒ−ｂｌｏｃｋ（ＡＣＫ）は、次のコマンドを要求するときに用いられる。また、Ｒ−ｂｌｏｃｋ（ＮＡＣ）は、受信したコマンドの再送を要求するときに用いられる。
【００６４】
Ｓ−ｂｌｏｃｋ（Ｓブロック）は、ＩＣカード２０とＩＣカード３０との間で制御情報を交換する為のフォーマットである。Ｓ−ｂｌｏｃｋは、処理時間の延長要求、ＩＣカードを非活性化させる命令（Ｄｅｓｅｌｅｃｔ）として用いられる。
【００６５】
図４は、ブロックフォーマットの例を示す。ＩＳＯ／ＩＥＣ１４４４３により規定されているブロックフォーマットを準拠したフレームは、例えば、プロローグフィールド、情報フィールド、およびエピローグフィールドなどのフィールドを有する。Ｉ−ｂｌｏｃｋ、Ｒ−ｂｌｏｃｋ、及びＳ−ｂｌｏｃｋは、いずれもこの図４に示されたブロックフォーマットを準拠している。
【００６６】
プロローグフィールドは、Ｐｒｏｔｏｃｏｌ  Ｃｏｎｔｒｏｌｌ  Ｂｙｔｅ（ＰＣＢ）、Ｃａｒｄ  ＩＤｅｎｔｉｆｉｅｒ（ＣＩＤ）、及びＮｏｄｅ  Ａｄｄｒｅｓｓ（ＮＡＤ）などのデータを有する。
【００６７】
プロトコル制御バイトであるＰＣＢは、データ伝送の制御に必要な情報を相手側の機器（外部機器）に伝達することができる。例えば、ＰＣＢは、このフレームがＩ−ｂｌｏｃｋであるか、Ｒ−ｂｌｏｃｋであるか、またはＳ−ｂｌｏｃｋであるかを示す情報を有する。
【００６８】
カード識別子であるＣＩＤは、処理対称のＩＣカードを指定するためのデータである。ＩＣカード２０及びＩＣカード３０は、固有のＣＩＤをＲＯＭ２６または不揮発性メモリ２８内に記憶している。能動側であるＩＣカード２０は、初期設定でＩＣカード３０からＣＩＤを取得する。ＩＣカード２０は、処理対象のＩＣカード３０のＣＩＤをプロローグフィールドのＣＩＤにセットする。
【００６９】
ＩＣカード３０は、コマンドを受信した場合、プロローグフィールドのＣＩＤの値と、自身のＣＩＤの値とが一致した場合、受信したコマンドに応じた処理を実行する。  
ノードアドレスであるＮＡＤは、異なる論理接続を構築するためのデータである。
【００７０】
情報フィールドは、例えば、コマンドのデータ本体、アプリケーションデータ、または状態情報などを有するＩｎｆｏｒｍａｔｉｏｎ（ＩＮＦ）を備える。ＩＣカード３０は、情報フィールドに格納されているデータに応じて種々の処理を実行する。なお、情報フィールドは、省略されてもよい。
【００７１】
エピローグフィールドは、例えば、ＣＲＣなどの通信エラーをＩＣカード３０に検知させる為のエラー検出符号を備える。エラー検出符号は、エピローグフィールド及び情報フィールドのデータに基づいて算出された値である。受動側の機器は、エピローグフィールド及び情報フィールド内のデータと、エラー検出符号とに基づいて、通信エラーを検知することができる。
【００７２】
能動側であるＩＣカード２０は、ＩＣカード３０との通信の確立後、コマンドを生成し、ＩＣカード３０に処理を実行させるためのコマンドを送信する。なお、ＩＣカード２０は、Ｉ−ｂｌｏｃｋのコマンドをＩＣカード３０に送信する。
【００７３】
ＩＣカード３０は、コマンドを受信した場合、受信したコマンドを解析する。ＩＣカード３０は、解析したコマンドに基づいてコマンド処理を実行し、レスポンスを生成する。ＩＣカード３０は、生成したレスポンスをＩＣカード２０に送信する。なお、ＩＣカード３０は、Ｉ−ｂｌｏｃｋのレスポンスをＩＣカード２０に送信する。
【００７４】
上記したように、本例では、最初にＩＣカード２０がＩＣカード３０に対して搬送波を供給している。しかし、搬送波を供給している側のバッテリの残量が不足した場合、通信が途絶える可能性がある。そこで、ＩＣカード２０は、所定の条件下で搬送波の切替を相手側であるＩＣカード３０に対して要求する。
【００７５】
図３に示されるように、ＩＣカード２０は、バッテリ残量読出コマンドをＩＣカード３０に送信する（ステップＳ１１）。バッテリ残量読出コマンドは、相手側のＩＣカード３０のバッテリの残量の検出及び検出値に応じた情報の返送を要求するコマンドである。
【００７６】
ＩＣカード３０は、バッテリ残量読出コマンドを受信した場合、自身のバッテリ３１ａの残量を検出する。さらに、ＩＣカード３０は、検出したバッテリ３１ａの残量を示す情報を生成する。ＩＣカード３０は、例えばバッテリ３１ａの残量を「バッテリレベル１」、「バッテリレベル２」、「バッテリレベル３」、及び「バッテリレベル４」の４段階で検出する。示す情報を生成する。ＩＣカード３０は、検出したバッテリレベルを示す情報（バッテリレベル情報）をレスポンスに付加し、ＩＣカード２０に送信する（ステップＳ１２）。
【００７７】
図５は、バッテリ残量読出コマンドに対するＩ−ｂｌｏｃｋのレスポンスの一部の例を示す。図５は、Ｉ−ｂｌｏｃｋのレスポンスのＣＩＤの構造の例を示す。
【００７８】
バッテリ残量読出コマンドに対するレスポンスのＣＩＤは、１バイトのデータであり、第１ビットｂ１乃至第８ビットｂ８を有する。第１ビットｂ１乃至第４ビットｂ４は、ＩＣカード３０の識別情報を示す。
【００７９】
第７ビットｂ７及び第８ビットｂ８は、バッテリレベル情報である。第７ビットｂ７及び第８ビットｂ８が「００」である場合、バッテリレベルが「バッテリレベル１」であることが示される。第７ビットｂ７及び第８ビットｂ８が「０１」である場合、バッテリレベルが「バッテリレベル２」であることが示される。第７ビットｂ７及び第８ビットｂ８が「１０」である場合、バッテリレベルが「バッテリレベル３」であることが示される。第７ビットｂ７及び第８ビットｂ８が「１１」である場合、バッテリレベルが「バッテリレベル４」であることが示される。
【００８０】
ＩＣカード３０は、検出したバッテリレベルに応じて、第７ビットｂ７及び第８ビットｂ８の値を設定する。
【００８１】
ＩＣカード２０は、ＩＣカード３０から送信されたバッテリ残量読出コマンドに対するレスポンスを受信した場合、受信したレスポンスを解析する。これにより、ＩＣカード２０は、ＩＣカード３０のバッテリレベルを認識することができる。さらに、ＩＣカード２０は、自身のバッテリ３１ａのバッテリレベルを検出する。なお、ＩＣカード２０のバッテリレベルをＢＡＴ１、ＩＣカード３０のバッテリレベルをＢＡＴ２と表記する。
【００８２】
ＩＣカード２０は、自身のバッテリレベルＢＡＴ１と、ＩＣカード３０のバッテリレベルＢＡＴ２とを比較する（ステップＳ１３）。これにより、ＩＣカード２０は、自身のバッテリレベルＢＡＴ１と、ＩＣカード３０のバッテリレベルＢＡＴ２とのどちらが大きいか判断する。さらに、自身のバッテリレベルＢＡＴ１よりＩＣカード３０のバッテリレベルＢＡＴ２が大きいと判断した場合、ＩＣカード２０は、搬送波の切替をＩＣカード３０に対して要求する。
【００８３】
この場合、ＩＣカード２０は、ＩＣカード３０に搬送波の出力を要求する搬送波切替要求コマンドを生成する（ステップＳ１４）。ＩＣカード２０は、生成した搬送波切替要求コマンドをＩＣカード２０に送信する（ステップＳ１５）。
【００８４】
例えば、ＩＣカード２０は、所定の間隔でバッテリ残量読出しコマンドＩＣカード３０に送信する。これにより、ＩＣカード２０は、所定間隔で自身のバッテリ残量と相手側のバッテリ残量とを比較することができる。
【００８５】
なお、ＩＣカード２０は、Ｉ−ｂｌｏｃｋ、Ｒ−ｂｌｏｃｋ、またはＳ−ｂｌｏｃｋのいずれかのブロックフォーマットで搬送波切替要求コマンドをＩＣカード３０に送信する。
【００８６】
Ｉ−ｂｌｏｃｋのフレームは、プロローグフィールド、情報フィールド、およびエピローグフィールドを備えている。Ｉ−ｂｌｏｃｋの搬送波切替要求コマンドは、通常のフォーマットのコマンドが情報フィールドに付加される。即ち、この場合、情報フィールドに付加されたコマンドのＣＬＡ及びＩＮＳによりコマンドが搬送波切替要求コマンドであることが示される。
【００８７】
図６は、Ｒ−ｂｌｏｃｋの搬送波切替要求コマンドの例を示す。例えば、ＩＣカード２０は、Ｒ−ｂｌｏｃｋフォーマットで搬送波切替要求コマンドを生成する。なお、Ｒ−ｂｌｏｃｋのフレームは、プロローグフィールド、およびエピローグフィールドを備えており、情報フィールドを備えていない。
【００８８】
Ｒ−ｂｌｏｃｋの搬送波切替要求コマンドのＰＣＢは、１バイトのデータであり、第１ビットｂ１乃至第８ビットｂ８を有する。第１ビットｂ１は、このコマンドのブロック番号を示す。
【００８９】
第２ビットｂ２は、搬送波切替要求の有無を示す。即ち、第２ビットｂ２は、このＰＣＢを含むフレームが搬送波切替要求コマンドであるか否かを示す。本例では、第２ビットｂ２が「０」である場合、このＰＣＢを含むフレームが搬送波切替要求コマンドであることが示される。また、第２ビットｂ２が「１」である場合、このＰＣＢを含むフレームが搬送波切替要求コマンドではないことが示される。なお、第２ビットｂ２の「０」と「１」の割り当ては逆であってもよい。
【００９０】
第３ビットｂ３は、規定値である。第４ビットｂ４は、ＣＩＤの有無を示す。第５ビットｂ５は、このＰＣＢを含むフレームがＲ−ｂｌｏｃｋ（ＡＣＫ）であるかＲ−ｂｌｏｃｋ（ＮＡＣ）であるかを示す。第６ビットｂ６は、規定値である。
【００９１】
第７ビットｂ７と第８ビットｂ８は、このＰＣＢを含むフレームがＲ−ｂｌｏｃｋ、Ｉ−ｂｌｏｃｋ，またはＳ−ｂｌｏｃｋであるかを示す。例えば、第８ビットｂ８が「１」であり、第７ビットｂ７が「０」である場合、このＰＣＢを含むフレームがＲ−ｂｌｏｃｋであることが示される。
【００９２】
即ち、端末装置１０は、ＰＣＢの第８ビットｂ８を「１」、第７ビットｂ７を「０」、第５ビットｂ５を「０」、第２ビットｂ２を「０」にそれぞれ設定することにより、Ｒ−ｂｌｏｃｋの搬送波切替要求コマンドを生成することができる。
【００９３】
図７は、Ｓ−ｂｌｏｃｋの搬送波切替要求コマンドの例を示す。なお、Ｓ−ｂｌｏｃｋのフレームは、プロローグフィールド、情報フィールド、およびエピローグフィールドを備えている。
【００９４】
Ｓ−ｂｌｏｃｋの搬送波切替要求コマンドのＰＣＢは、１バイトのデータであり、第１ビットｂ１乃至第８ビットｂ８を有する。
【００９５】
第１ビットｂ１は、搬送波切替要求の有無を示す。即ち、第１ビットｂ１は、このＰＣＢを含むフレームが搬送波切替要求コマンドであるか否かを示す。本例では、第１ビットｂ１が「１」である場合、このＰＣＢを含むフレームが搬送波切替要求コマンドであることが示される。また、第１ビットｂ１が「０」である場合、このＰＣＢを含むフレームが搬送波切替要求コマンドではないことが示される。なお、第１ビットｂ１の「０」と「１」の割り当ては逆であってもよい。
【００９６】
第２ビットｂ２及び第３ビットｂ３は、規定値である。第４ビットｂ４は、ＣＩＤの有無を示す。第５ビットｂ５及び第６ビットｂ６は、このコマンドがＷＴＸ（Ｗａｉｔｉｎｇ  Ｔｉｍｅ ｅＸｔｅｎｓｉｏｎ：延長時間指示）であるか、ＩＣカード２０を非活性化させる為の命令（Ｄｅｓｅｌｅｃｔ）であるかを示す。
【００９７】
第７ビットｂ７と第８ビットｂ８は、このＰＣＢを含むフレームがＩ−ｂｌｏｃｋ、Ｒ−ｂｌｏｃｋ，またはＳ−ｂｌｏｃｋであるかを示す。例えば、第８ビットｂ８が「１」であり、第７ビットｂ７が「１」である場合、このＰＣＢを含むフレームがＳ−ｂｌｏｃｋであることが示される。
【００９８】
即ち、ＩＣカード２０は、ＩＣカード３０に搬送波の切替を指示する場合、ＰＣＢの第８ビットｂ８を「１」に設定し、第７ビットｂ７を「１」に設定し、且つ第１ビットｂ１を「１」に設定する。ＩＣカード２０は、このように設定した搬送波切替要求コマンドをＩＣカード３０に送信する。
【００９９】
ＩＣカード３０は、コマンドを受信した場合、受信したコマンドのＰＣＢを解析する。これにより、ＩＣカード３０は、受信したコマンドが搬送波切替要求コマンドであることを認識する。ＩＣカード３０は、搬送波切替要求コマンド受信した場合、搬送波の出力を開始する（ステップＳ１６）。
【０１００】
ＩＣカード２０は、磁界の変化を検出することにより、ＩＣカード３０から搬送波が出力されたことを認識する（ステップＳ１７）。さらに、ＩＣカード２０は、搬送波の出力を停止する（ステップＳ１８）。この場合、ＩＣカード２０は、ＩＣカード３０から出力された搬送波により電力を生成して動作する。
【０１０１】
例えば、ＩＣカード２０は、Ｉ−ｂｌｏｃｋのコマンドを生成し、ＩＣカード３０に送信する（ステップＳ１９）。ＩＣカード３０は、ＩＣカード２０から受け取ったコマンドに応じてコマンド処理を実行する。ＩＣカード３０は、コマンド処理の結果に応じたレスポンスをＩＣカード２０に送信する（ステップＳ２０）。
【０１０２】
また、この後も、ＩＣカード２０は、所定のタイミングでＩＣカード３０にバッテリ残量読出しコマンドを送信することにより、ＩＣカード２０とＩＣカード３０とでバッテリ残量を比較することができる。さらに、搬送波を出力しているＩＣカード３０が、ＩＣカード２０よりバッテリレベルが低い場合、ＩＣカード２０は、再度搬送波切替要求コマンドをＩＣカード３０に送信する。さらに、ＩＣカード２０は、搬送波の出力を開始する。
【０１０３】
ＩＣカード３０は、搬送波を出力している状態で搬送波切替要求コマンドを受信した場合、搬送波の出力を停止する。
【０１０４】
図８は、能動側であるＩＣカード２０の処理の例を示す。  
ＩＣカード２０は、自身のバッテリ３１ａのバッテリレベルＢＡＴ１を検出する（ステップＳ２１）。ＩＣカード２０は、バッテリ残量読出コマンドをＩＣカード３０に送信する（ステップＳ２２）。さらに、ＩＣカード２０は、バッテリ残量読出コマンドに対するレスポンスをＩｃカード３０から受信する。
【０１０５】
ＩＣカード２０は、ＩＣカード３０から送信されたバッテリ残量読出コマンドに対するレスポンスを受信した場合、受信したレスポンスを解析する。これにより、ＩＣカード２０は、ＩＣカード３０のバッテリレベルＢＡＴ２を認識する（ステップＳ２３）。
【０１０６】
ＩＣカード２０は、自身のバッテリレベルＢＡＴ１と、ＩＣカード３０のバッテリレベルＢＡＴ２とを比較する（ステップＳ２４）。自身のバッテリレベルＢＡＴ１よりＩＣカード３０のバッテリレベルＢＡＴ２が大きいと判断した場合、ＩＣカード２０は、搬送波切替要求コマンドをＩＣカード３０に送信する（ステップＳ２５）。
【０１０７】
さらに、ＩＣカード２０は、ＩＣカード３０からの搬送波の出力を逐次検出する（ステップＳ２６）。ＩＣカード２０は、ＩＣカード３０から搬送波が出力されたことを検出した場合、搬送波の出力を停止する（ステップＳ２７）。
【０１０８】
上記の処理により、ＩＣカード２０とＩＣカード３０とは、互いのバッテリレベルに応じて搬送波の出力元を互いに切り替えることができる。これにより、通信を行なう１対のＩＣカードのどちらかのバッテリの残量不足により通信が途絶えることを防ぐことができる。
【０１０９】
また、ＩＣカードは、ＢＡＴ１とＢＡＴ２との差に応じて、搬送波の出力レベルを指定する構成であってもよい。これにより、搬送波の出力側に、搬送波を最低限のレベルで出力するように指定することができる。この結果、搬送波の出力側のＩＣカードのバッテリの消費を遅らせることができる。
【０１１０】
この結果、より高い利便性を備えるＩＣカード、携帯可能電子装置、及びＩＣカードのリーダライタを提供することができる。
【０１１１】
なお、上記したＩＣカードは、ＢＡＴ１とＢＡＴ２との比較を能動側が行う構成として説明したが、この構成に限定されない。受動側のＩＣカードがＢＡＴ１とＢＡＴ２との比較を行う構成であってもよい。
【０１１２】
例えば、ＩＣカード２０が能動側であり、ＩＣカード３０が受動側であるとする。この場合、ＩＣカード２０は、ＩＣカード２０のバッテリのレベルＢＡＴ１を含むコマンドをＩＣカード３０に送信する。
【０１１３】
ＩＣカード３０は、受信したコマンドをからＩＣカード２０のバッテリレベルＢＡＴ１を認識することができる。ＩＣカード３０は、自身のバッテリレベルＢＡＴ２と、認識したＢＡＴ１とを比較する。ＩＣカード３０は、ＢＡＴ１＜ＢＡＴ２であり且つＩＣカード２０が搬送波を出力している状態、または、ＢＡＴ２＜ＢＡＴ１あり且つＩＣカード３０が搬送波を出力している状態、である場合、搬送波の切替が必要である旨のレスポンスをＩＣカード２０に送信する。
【０１１４】
ＩＣカード２０は、搬送波の切替が必要である旨のレスポンスを受け取った場合に、搬送波切替要求コマンドをＩＣカード３０に送信する。この構成によっても、ＩＣカード２０とＩＣカード３０とは、互いのバッテリレベルに応じて搬送波の出力元を互いに切り替えることができる。
【０１１５】
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
【０１１６】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【０１１７】
１…ＩＣカード処理システム、１０…端末装置、２０…ＩＣカード、２１…本体、２２…ＩＣモジュール、２３…ＩＣチップ、２４…共振部、２５…ＣＰＵ、２６…ＲＯＭ、２７…ＲＡＭ、２８…不揮発性メモリ、２９…送受信部、３０…ＩＣカード、３１…電源部、３１ａ…バッテリ、３２…ロジック部。
【図１】
2014063334.tif 000003
【図２】
2014063334.tif 000004
【図３】
2014063334.tif 000005
【図４】
2014063334.tif 000006
【図５】
2014063334.tif 000007
【図６】
2014063334.tif 000008
【図７】
2014063334.tif 000009
【図８】
2014063334.tif 000010