近接通信を行うシステムとしては、例えば、IC(Integrated Circuit)カードシステムが広く知られている。ICカードシステムにおいては、リーダ/ライタ(Reader/Writer)が電磁波を発生することにより、いわゆるRF(Radio Frequency)フィールド(磁界)を形成する。そして、リーダ/ライタに、ICカードが近づくと、ICカードは、電磁誘導によって、電源の供給を受けるとともに、リーダ/ライタとの間でデータ伝送を行う。
図1は、従来のICカードシステム(システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは、問わない)の一例の構成を示している。
図1において、ICカードシステムは、ホストコンピュータ1、リーダ/ライタ2、および(非接触)ICカード3から構成されている。
ホストコンピュータ1は、リーダ/ライタ2を制御する。リーダ/ライタ2は、アンテナ2Aを有し、ホストコンピュータ1の制御にしたがい、アンテナ2Aから電磁波を出力することで、リーダ/ライタ2に近接する位置にあるICカード3と近接通信を行う。
ICカード3は、アンテナ3A、復調部11、データ処理部12、およびメモリ13から構成されている。
アンテナ3Aは、閉ループのコイルを構成しており、リーダ/ライタ2から送信されてくる信号を受信する。即ち、アンテナ3Aが、リーダ/ライタ2に近づくと、リーダ/ライタ2のアンテナ2Aが出力する電磁波による電磁誘導によって、アンテナ2Aに電流が流れる。
復調部11は、アンテナ3Aで受信された信号(アンテナ3Aに流れる電流)を、例えば、ASK(Amplitude Shift Keying)復調し、その結果得られる復調データとしての、例えばマンチェスタ符号を、データ処理部12に供給する。即ち、リーダ/ライタ2は、例えば、データをマンチェスタ符号に符号化し、そのマンチェスタ符号によってキャリアをASK変調した信号を送信するようになっており、復調部11は、そのようにしてリーダ/ライタ2から送信されてくる信号をASK復調することで、マンチェスタ符号を得て、データ処理部12に供給する。
データ処理部12は、復調部11からのマンチェスタ符号を復号し、その結果得られるデータ(コマンドを含む)に基づき、データをメモリ13に記憶させ、あるいは、メモリ13からデータを読み出す等の所定の処理を行う。
メモリ13は、例えば、不揮発性のメモリで、データ処理部12の制御にしたがい、データを記憶する。
以上のように構成されるICカードシステムでは、リーダ/ライタ2は、ホストコンピュータ1の制御にしたがい、アンテナ2Aから電磁波を出力することで、ポーリングのためのポーリングコマンドを送信している。
そして、ICカード3が、リーダ/ライタ2と近接した状態となると、リーダ/ライタ2のアンテナ2Aから出力されている電磁波による電磁誘導によって、ICカード3のアンテナ3Aに電流が流れる。アンテナ3Aに電流が流れると、ICカード3では、図示せぬ電源回路が、アンテナ3Aに流れる電流から電源を得て、ICカード3を構成する必要なブロックに供給する。これにより、ICカード3は、動作することが可能な状態となる。
そして、アンテナ3Aに流れる電流としての信号は、復調部11においてASK復調され、その結果得られるマンチェスタ符号が、データ処理部12に供給される。データ処理部12は、復調部11からのマンチェスタ符号を復号し、その結果得られるデータを処理する。
なお、データ処理部12は、例えば、データをメモリ13に記憶させる処理、メモリ13からデータを読み出す処理、マンチェスタ符号の符号化処理と復号処理、その他の各種の処理を行う。
また、ICカード3からリーダ/ライタ2にデータが送信される場合には、ICカードにおいて、リーダ/ライタ2に送信するデータ(を符号化したマンチェスタ符号)にしたがい、リーダ/ライタ2側から、ICカード3のアンテナ3Aを見たときのインピーダンスを変化させる負荷変調が行われる。
次に、図2は、図1の復調部11の構成例を示している。
復調部11は、検波回路21、2値化回路22、およびDPLL(Digital Phase Lock Loop)回路23から構成されている。
検波回路21は、アンテナ3Aに流れる電流を検波、即ち、ASK復調し、その結果得られる信号を、2値化回路22に供給する。
2値化回路22は、検波回路21からの信号を2値化することにより、2値化データとしての、例えばマンチェスタ符号を得て、DPLL回路23に供給する。
DPLL回路23は、リーダ/ライタ2から送信されてくるデータの通信速度(伝送レート)に対応したクロックを生成し、そのクロックに同期して、2値化回路22からのマンチェスタ符号を抽出(捕捉)して、その結果得られる、リーダ/ライタ2から送信されてきたデータの通信速度に対応するデータを、クロックとともに、データ処理部12(図1)に供給する。
ここで、データ処理部12は、DPLL回路23から供給されるクロックに同期して動作し、DPLL回路23から供給されるデータの処理等を行う。
以上のようなICカードシステムにおいて、リーダ/ライタ2とICカード3とは、以前は、ある固定の通信速度で通信を行うようになっていたが、最近では、通信速度を変更することが可能となっている。
図3および図4を参照して、リーダ/ライタ2とICカード3とが通信速度を変更して行う通信の処理について説明する。
リーダ/ライタ2は、図3のステップS1において、ポーリングのためのポーリングコマンドを、あらかじめ定められた通信速度であるX[bps(bit per seconds)]で送信している。
ICカード3は、X[bps]の通信速度で通信を開始するように設定されており、リーダ/ライタ2に近接すると、ステップS11において、リーダ/ライタ2がX[bps]の通信速度で送信しているポーリングコマンドを受信する。
ICカード3は、X[bps]の通信速度で送信されたポーリングコマンドを受信すると、ステップS12において、X[bps]の通信速度での通信が可能であることを表すメッセージACK(acknowledge)を、X[bps]の通信速度で送信し、リーダ/ライタ2は、ステップS2において、ICカード3からのメッセージACKを受信する。
メッセージACKを受信したリーダ/ライタ2は、ステップS3において、通信速度をX[bps]から、そのX[bps]とは異なるY[bps]に変更することを指示するメッセージを、X[bps]の通信速度で送信し、ICカード3は、ステップS13において、リーダ/ライタ2からの、通信速度を変更することを指示するメッセージを受信する。
ICカード3は、Y[bps]の通信速度での通信が可能であれば、ステップS14において、通信速度の変更が可能であることを表すメッセージACKを、X[bps]の通信速度で送信し、リーダ/ライタ2は、ステップS4において、ICカード3からのメッセージACKを受信する。
その後、リーダ/ライタ2とICカード3は、通信速度をX[bps]からY[bps]に変更する処理を行い、リーダ/ライタ2は、ステップS5において、ポーリングコマンドを、変更後の通信速度であるY[bps]で送信する。ICカード3は、ステップS15において、リーダ/ライタ2がY[bps]の通信速度で送信したポーリングコマンドを受信し、ステップS16において、Y[bps]の通信速度での通信が可能であることを表すメッセージACKを、Y[bps]の通信速度で送信する。
リーダ/ライタ2は、ステップS6において、ICカード3からのメッセージACKを受信し、その後、リーダ/ライタ2とICカード3とは、Y[bps]の通信速度で通信(必要なデータの変換)を行う。
以上のように、リーダ/ライタ2において、ステップS1乃至S6の処理が行われるとともに、ICカード3において、ステップS11乃至S16の処理が行われ、その後、リーダ/ライタ2とICカード3とは、Y[bps]の通信速度でのデータのやりとりを行うことが可能となる。
従って、リーダ/ライタ2とICカード3とにおいては、通信を開始するときの通信速度X[bps]をあらかじめ定めておく必要がある。さらに、リーダ/ライタ2とICカード3とにおいて、あらかじめ定められた通信速度X[bps]以外の通信速度Y[bps]で通信を行うには、あらかじめ定められた通信速度X[bps]で通信を開始してから、通信速度をY[bps]に変更する必要があり、通信速度Y[bps]での通信が可能となるまでに、ある程度の時間を要する。
そして、リーダ/ライタ2とICカード3とにおいて、あらかじめ定められた通信速度X[bps]以外の通信速度Y[bps]で通信を行う場合、通信速度をX[bps]からY[bps]に変更する手続中に通信エラー(通信不良)が生じると、図4に示すように、通信速度X[bps]で通信を開始してから、通信速度Y[bps]での通信が可能となるまでに、さらに時間を要することになる。
即ち、図4においては、リーダ/ライタ2は、ステップS21において、図3のステップS1と同様に、ポーリングコマンドを、あらかじめ定められたX[bps]の通信速度で送信し、ICカード3は、ステップS31において、リーダ/ライタ2がX[bps]の通信速度で送信しているポーリングコマンドを受信する。
ICカード3は、X[bps]の通信速度で送信されたポーリングコマンドを受信すると、ステップS32において、X[bps]の通信速度での通信が可能であることを表すメッセージACKを、X[bps]の通信速度で送信し、リーダ/ライタ2は、ステップS22において、ICカード3からのメッセージACKを受信する。
メッセージACKを受信したリーダ/ライタ2は、ステップS23において、通信速度をX[bps]から、そのX[bps]とは異なるY[bps]に変更することを指示するメッセージを、X[bps]の通信速度で送信し、ICカード3は、ステップS33において、リーダ/ライタ2からの、通信速度を変更することを指示するメッセージを受信する。
ICカード3は、Y[bps]の通信速度での通信が可能であれば、ステップS34において、通信速度の変更が可能であることを表すメッセージACKを、X[bps]の通信速度で送信し、リーダ/ライタ2は、ステップS24において、ICカード3からのメッセージACKを受信する。
ここで、例えば、リーダ/ライタ2による、ステップS23の、通信速度を変更することを指示するメッセージの送信中に通信エラーが生じた場合、ICカード3は、ステップS33において、リーダ/ライタ2からのメッセージを正常に受信することができない。
また、例えば、ICカード3による、ステップS34のメッセージACKの送信中に通信エラーが生じた場合、リーダ/ライタ2は、ステップS24において、ICカード3からのメッセージACKを正常に受信することができない。
いずれにしても、リーダ/ライタ2は、通信速度の変更が可能であることを表すメッセージACKを得ることができなため、ステップS25において、再び、ポーリングコマンドを、あらかじめ定められたX[bps]の通信速度で送信し、ICカード3は、ステップS35において、リーダ/ライタ2がX[bps]の通信速度で送信したポーリングコマンドを受信する。
ICカード3は、X[bps]の通信速度で送信されたポーリングコマンドを受信すると、ステップS36において、X[bps]の通信速度での通信が可能であることを表すメッセージACKを、X[bps]の通信速度で送信し、リーダ/ライタ2は、ステップS26において、ICカード3からのメッセージACKを受信する。
メッセージACKを受信したリーダ/ライタ2は、ステップS27において、通信速度をX[bps]から、そのX[bps]とは異なるY[bps]に変更することを指示するメッセージを、X[bps]の通信速度で送信し、ICカード3は、ステップS37において、リーダ/ライタ2からの、通信速度を変更することを指示するメッセージを受信する。
ICカード3は、Y[bps]の通信速度での通信が可能であれば、ステップS38において、通信速度の変更が可能であることを表すメッセージACKを、X[bps]の通信速度で送信し、リーダ/ライタ2は、ステップS28において、ICカード3からのメッセージACKを受信する。
その後、リーダ/ライタ2とICカード3は、通信速度をX[bps]からY[bps]に変更する処理を行い、リーダ/ライタ2は、ステップS29において、ポーリングコマンドを、変更後の通信速度であるY[bps]で送信する。ICカード3は、ステップS39において、リーダ/ライタ2がY[bps]の通信速度で送信したポーリングコマンドを受信し、ステップS40において、Y[bps]の通信速度での通信が可能であることを表すメッセージACKを、Y[bps]の通信速度で送信する。
リーダ/ライタ2は、ステップS30において、ICカード3からのメッセージACKを受信し、その後、リーダ/ライタ2とICカード3とは、Y[bps]の通信速度で通信を行う。
以上のように、通信エラーが生じると、リーダ/ライタ2は、ポーリングコマンドを、あらかじめ定められたX[bps]の通信速度で送信することから処理をやり直すため、通信速度X[bps]で通信を開始してから、通信速度Y[bps]での通信が可能となるまでに、さらに時間を要することになる。
なお、特許文献1には、データ伝送の物理層特性を規定する伝送制御パラメータと、端末装置からの活性化要求に応答するための応答データとを記憶手段に記憶させておき、活性化要求に対して、記憶手段に記憶された応答データを、同じく記憶手段に記憶された伝送制御パラメータに基づく伝送速度で送信するICカードが開示されている。
以下、図面を参照して、本発明の実施の形態について説明する。
図5は、本発明を適用したICカードシステムの一実施の形態の構成例を示している。なお、図中、図1のICカードシステムと対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図5のICカードシステムは、ホストコンピュータ1、リーダ/ライタ2、およびICカード3を備える点で、図1のICカードシステムと共通する。さらに、図5のICカードシステムでは、ICカード3が、データ処理部12とメモリ13を備える点で、図1のICカード3と共通する。但し、図5のICカードシステムでは、ICカード3が、復調部11に代えて、復調部51を備える点で、図1のICカード3と相違する。
図6は、図5の復調部51の構成例を示している。なお、図中、図2の復調部11と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図6の復調部51は、検波回路21および2値化回路22を備える点で、図2の復調部11と共通するが、DPLL回路23に代えて、複数であるM個のDPLL回路631,632,・・・,63Mが設けられ、かつ、クロック検出回路61およびセレクタ64が新たに設けられている点で、図2の復調部11と相違する。なお、図6において、M個のDPLL回路631,632,・・・,63Mは、それぞれ、NCO(Number ControlOscillator)621,622,・・・,62Mを内蔵している。
クロック検出回路61は、リーダ/ライタ2から信号(電磁波)が送信されてくることによりアンテナ3Aに流れる電流(信号)から、リーダ/ライタ2からの信号のキャリアの周波数のクロックを生成し、DPLL回路631乃至63Mそれぞれが内蔵するNCO621乃至62Mに供給する。例えば、ソニー株式会社が開発したFeliCa(ソニー株式会社の登録商標)と呼ばれる技術方式では、リーダ/ライタ2からの信号のキャリアの周波数は、13.56MHzである。
ここで、以下、適宜、クロック検出回路61が生成するクロックを、システムクロックという。
DPLL回路63mが内蔵するNCO62m(m=1,2,・・・,M)は、クロック検出回路61から供給されるシステムクロックをm/Nの分周比で分周し、その結果得られるクロックを、DPLL回路63m内部に出力する。ここで、分周比m/Nの分母Nは整数である。また、以下、適宜、NCO62mが出力するクロックを、基準クロックという。
DPLL回路63mには、2値化回路22から2値化データ(例えば、マンチェスタ符号)が供給される。DPLL回路63mは、2値化回路22からの2値化データと、NCO62mが出力する基準クロックとに基づき、2値化回路22の出力から2値化データを抽出する(捕捉する)ためのクロックとしてのデータクロックを生成し、2値化データとともに、セレクタ64に出力する。
即ち、DPLL回路63mは、2値化回路22からの2値化データと、DPLL回路63m自身が出力するデータクロックとの位相差を検出し、その位相差に応じて、NCO62mで基準クロックの位相を調整する。さらに、DPLL回路63mは、その位相の調整後の基準クロックを、データクロックとして、そのデータクロックに同期して、2値化回路22からの2値化データを捕捉することにより、データクロックに対応するデータ(2値化データ)を抽出する。
ここで、ICカードシステムでは、ほとんどの場合、データの通信速度の逓倍(整数倍)がキャリアの周波数となる値が、データの通信速度として採用される。そこで、図5のICカードシステムにおいても、データの通信速度の逓倍がキャリアの周波数となる値が、データの通信速度として採用されていることとして、図6の実施の形態では、NCO62mにおいて、キャリアの周波数のシステムクロックを分周することにより、データの通信速度に対応する基準クロックを得て、さらに、DPLL回路63mにおいて、NCO62mで得られた基準クロックを用いて、データの通信速度に対応するデータクロックを生成するようになっている。
例えば、いま、キャリアの周波数が、上述したように13.56MHzであり、NCO62mの分周比m/Nの分母が64であるとすると、DPLL回路631は、約211kbps(212kbps)≒13.56MHz/64の通信速度のデータにロックするDPLL回路となる。また、DPLL回路632は、約424kbps≒13.56MHz×2/64の通信速度のデータにロックするDPLL回路となる。以下、同様に、DPLL回路63mは、13.56MHz×m/64の通信速度のデータにロックするDPLL回路となる。
DPLL回路63mは、上述したように、NCO62mが出力する基準クロックから得られるデータクロックに同期して抽出された2値化データ(データクロック(に対応する通信速度)に対応する2値化データ)を出力する他、さらに、その2値化データから、所定の同期コードを検知して、検知信号を出力する。即ち、リーダ/ライタ2から送信されてくるデータには、SYNCコードと呼ばれる、同期をとるのに用いられる同期コードが含まれている。DPLL回路63mは、自身が生成(出力)するデータクロックに同期して抽出した2値化データを参照してSYNCコードを検知し、SYNCコードを検知することができた場合には、その旨を表す検知信号を、セレクタ64に供給する。
セレクタ64は、DPLL回路631乃至DPLL回路63Mのうちの、ICカード3の通信相手であるリーダ/ライタ2から送信されてくるデータの通信速度に対応するDPLL回路63mが出力するデータクロックと、そのDPLL回路63mが出力する2値化データとを選択し、データ処理部12に供給する。
即ち、セレクタ64は、DPLL回路631乃至DPLL回路63Mのうちの、検知信号をセレクタ64に供給したDPLL回路63mが出力するデータクロックおよび2値化データを選択し、データ処理部12に供給する。
次に、リーダ/ライタ2とICカード3との間では、フレームと呼ばれる単位で、データがやりとりされる。
図7は、フレームのフォーマットの例を示している。
フレームは、その先頭から、プリアンブルフィールド、同期フィールド、ペイロードフィールド、CRC(Cyclic Redundancy Checking)フィールドが順次配置されて構成される。
プリアンブルフィールドは、例えば、6バイトの0x00がプリアンブルとして配置される。なお、0xは、その後に続く値が16進数であることを表す。
同期フィールドには、例えば、2バイトの0xB24Dまたは0x4DB2がSYNCコードとして配置される。
ペイロードフィールドには、ペイロードとしての実データ(コマンドを含む)が配置される(含められる)。
CRCフィールドには、例えば、ペイロードフィールドに配置されたペイロードに対して計算されたCRCコードが配置される。
次に、図8を参照して、図5のICカードシステムの動作について説明する。
図5のICカードシステムにおいては、例えば、ホストコンピュータ1に、リーダ/ライタ2とICカード3との間の通信の通信速度が設定されており、ホストコンピュータ1は、その通信速度で、ポーリングコマンドを送信するように、リーダ/ライタ2を制御する。
従って、例えば、ホストコンピュータ1に、X[bps]の通信速度が設定されている場合、ホストコンピュータ1は、ポーリングコマンドを、通信速度X[bps]で送信するように、リーダ/ライタ2を制御し、これにより、リーダ/ライタ2は、図8のステップS61において、ポーリングコマンドを図7のペイロードフィールドに含めたフレームを、通信速度X[bps]で送信する。
ポーリングコマンドを含むフレームを送信しているリーダ/ライタ2に対して、ICカード3が近接すると、ICカード3は、ステップS71において、リーダ/ライタ2がX[bps]の通信速度で送信しているポーリングコマンドを含むフレームを受信する。
ICカード3は、X[bps]の通信速度で送信されたポーリングコマンドを含むフレームを受信すると、ステップS72において、X[bps]の通信速度での通信が可能であることを表すメッセージACKを図7のペイロードに含むフレームを、X[bps]の通信速度で送信する。
リーダ/ライタ2は、ステップS62において、ICカード3からのメッセージACKを含むフレームを受信し、その後、リーダ/ライタ2とICカード3とは、X[bps]の通信速度で通信を行う。
次に、図9および図10を参照して、図5のICカード3の動作について説明する。
ICカード3がリーダ/ライタ2と近接した状態となると、リーダ/ライタ2のアンテナ2Aから出力されている電磁波による電磁誘導によって、ICカード3のアンテナ3Aに電流が流れる。アンテナ3Aに電流が流れると、ICカード3では、図示せぬ電源回路が、アンテナ3Aに流れる電流から電源を得て、ICカード3を構成する必要なブロックに供給する。これにより、ICカード3は、動作することが可能な状態となる。
ICカード3が動作することが可能な状態となると、復調部51(図6)において、クロック検出回路61は、アンテナ3Aに流れる電流(信号)から、リーダ/ライタ2からの信号のキャリアの周波数のシステムクロックを生成し、M個のDPLL631乃至63Mに供給する。
DPLL63m内のNCO62mは、クロック検出回路61から供給されるシステムクロックをm/Nの分周比で分周し、その結果得られる基準クロック(システムクロックをm/Nの分周比で分周したクロック)を、DPLL回路63m内部に出力する。
一方、復調部51(図6)において、検波回路21は、アンテナ3Aに流れる電流(信号)を検波し、その結果得られる信号を、2値化回路22に供給する。2値化回路22は、検波回路21からの信号を2値化することにより、2値化データとしての、例えばマンチェスタ符号を得て、DPLL回路631乃至63Mに供給する。
DPLL回路63mは、以上のように、NCO62mによる基準クロックの出力と、2値化回路22からの2値化データの供給とが開始されると、動作を開始する。
即ち、DPLL回路63mは、図9のフローチャートに示すように、まず最初に、ステップS41において、2値化回路22からの2値化データと、NCO62mからの基準クロックとに基づくデータクロックの生成と、そのデータクロックに同期した2値化データの抽出を開始する。
即ち、DPLL回路63mは、2値化回路22からの2値化データと、DPLL回路63m自身が出力するデータクロックとの位相差を検出し、その位相差が0になるように、NCO62mからの基準クロックの位相を調整する。さらに、DPLL回路63mは、その位相の調整後の基準クロックを、データクロックとして、そのデータクロックに同期して、2値化回路22の出力からデータクロックに同期した2値化データを抽出し、データクロックとともにセレクタ64に出力する。
そして、ステップS41からステップS42に進み、DPLL回路63mは、2値化回路22の出力から抽出した2値化データから、SYNCコードを検知(捕捉)したかどうかを判定する。即ち、ステップS41でデータクロックの生成と2値化データの抽出(捕捉)を開始したDPLL回路63mは、ステップS42において、その2値化データに、SYNCコードが存在するかどうかを判定する。
ステップS42において、SYNCコードが検知されていないと判定された場合、ステップS43をスキップして、ステップS42に戻る。
また、ステップS42において、SYNCコードが検知されたと判定された場合、即ち、DPLL回路63mが生成しているデータクロックが、リーダ/ライタ2から送信されてきたデータの通信速度に対応し(一致し)、これにより、そのデータクロックに同期して抽出(サンプリング)された2値化データから、SYNCコードを捕捉することができた場合、ステップS43に進み、DPLL回路63mは、SYNCコードが検知されたことを表す検知信号を、セレクタ64に出力して、ステップS42に戻る。
次に、図10のフローチャートを参照して、ICカード3の復調部51(図6)を構成するセレクタ64の動作と、データ処理部12の動作とについて説明する。
なお、以下、適宜、DPLL回路63mが出力するデータクロックを、データクロックRmと記載する。
セレクタ64は、ステップS511において、DPLL回路631から検知信号の供給を受けたかどうか、即ち、DPLL回路631においてSYNCコードが検知されたかどうかを判定する。ステップS511において、DPLL回路631から検知信号の供給を受けたと判定された場合、ステップS521に進み、セレクタ4は、DPLL回路631が出力するデータクロックR1と2値化データとを選択し、データ処理部12に供給して、ステップS53に進む。
また、ステップS511において、DPLL回路631から検知信号の供給を受けていないと判定された場合、ステップS512に進み、セレクタ64は、DPLL回路632から検知信号の供給を受けたかどうか、即ち、DPLL回路632においてSYNCコードが検知されたかどうかを判定する。ステップS512において、DPLL回路632から検知信号の供給を受けたと判定された場合、ステップS522に進み、セレクタ4は、DPLL回路632が出力するデータクロックR2と2値化データとを選択し、データ処理部12に供給して、ステップS53に進む。
以下、同様にして、セレクタ64は、ステップS51mにおいて、DPLL回路63mから検知信号の供給を受けたかどうかを判定し、DPLL回路63mから検知信号の供給を受けていないと判定した場合、ステップS51m+1に進み、DPLL回路63m+1から検知信号の供給を受けたかどうかを判定することを繰り返す。そして、ステップS51Mにおいて、DPLL回路63Mから検知信号の供給を受けていないと判定された場合、ステップS511に戻り、以下、同様の処理が繰り返される。
一方、ステップS51mにおいて、DPLL回路63mから検知信号の供給を受けたと判定された場合、ステップS52mに進み、セレクタ64は、DPLL回路63mが出力するデータクロックRmと2値化データとを選択し、データ処理部12に供給して、ステップS53に進む。
ステップS53では、データ処理部12は、セレクタ64から供給されるデータクロックRm、即ち、リーダ/ライタ2の通信速度に対応するデータクロックに同期して動作し、セレクタ64から供給される2値化データの復号(例えば、マンチェスタ符号の復号)等の処理を行って、ステップS511に戻る。
以上のように、ICカード3の復調部51では、複数のDPLL回路631乃至63Mにおいて、リーダ/ライタ2から送信されてくるデータから、複数の通信速度それぞれに対応する2値化データ(データクロックR1乃至RMそれぞれに同期した2値化データ)を抽出して出力し、セレクタ64において、DPLL回路631乃至63Mが出力する2値化データのうちの、リーダ/ライタ2から送信されてくるデータの通信速度に対応する2値化データ(リーダ/ライタ2から送信されてくるデータの通信速度に対応するデータクロックに同期して抽出された2値化データ)を選択し、リーダ/ライタ2から送信されてくるデータを処理するデータ処理部12に供給するので、あらかじめ設定された通信速度で通信を開始し、その後、通信速度を、所望の通信速度に変更するといった手順を経ずに、所望の通信速度での近接通信を迅速に行う(即座に開始する)ことができる。
即ち、例えば、図8の実施の形態では、ホストコンピュータ1に、X[bps]の通信速度が設定されており、ホストコンピュータ1が、リーダ/ライタ2を制御することにより、リーダ/ライタ2とICカード3との間で、通信速度がX[bps]での通信を開始することとしたが、リーダ/ライタ2とICカード3との間では、X[bps]の他、X[bps]と異なるY[bps]の通信速度で通信を開始することが可能である。
具体的には、例えば、ホストコンピュータ1に、X[bps]と異なるY[bps]の通信速度が設定されている場合、ホストコンピュータ1は、ポーリングコマンドを、通信速度Y[bps]で送信するように、リーダ/ライタ2を制御する。
この場合、リーダ/ライタ2とICカード3との間では、図11に示すように、通信が行われる。
即ち、リーダ/ライタ2は、ステップS81において、ポーリングコマンドを図7のペイロードフィールドに含めたフレームを、通信速度Y[bps]で送信する。
ポーリングコマンドを含むフレームを送信しているリーダ/ライタ2に対して、ICカード3が近接すると、ICカード3は、ステップS91において、リーダ/ライタ2がY[bps]の通信速度で送信しているポーリングコマンドを含むフレームを受信する。即ち、ICカード3の復調部51(図6)では、セレクタ64が、通信速度Y[bps]に対応するデータクロックRmに同期して2値化データを抽出しているDPLL回路63mが出力する2値化データを選択して、データ処理部12に供給するので、ICカード3では、リーダ/ライタ2がY[bps]の通信速度で送信してくるポーリングコマンドを正常に処理することができる。
ICカード3は、Y[bps]の通信速度で送信されたポーリングコマンドを含むフレームを受信すると、ステップS92において、Y[bps]の通信速度での通信が可能であることを表すメッセージACKを図7のペイロードに含むフレームを、Y[bps]の通信速度で送信する。
リーダ/ライタ2は、ステップS82において、ICカード3からのメッセージACKを含むフレームを受信し、その後、リーダ/ライタ2とICカード3とは、Y[bps]の通信速度で通信を行う。
以上のように、図5のICカードシステムによれば、所望の通信速度での近接通信を即座に開始することができるので、例えば、ある短い時間内にすべての処理が終了することが重要な、駅の自動改札機などのアプリケーションに容易に適用することができる。
次に、図12は、図5のICカード3を構成する復調部51の他の構成例を示している。なお、図中、図6の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図12の復調部51は、基本的には、図6の復調部51と同様に構成されている。但し、図12の復調部51には、検知信号出力端子711および712、データ出力端子721および722、検知信号入力端子731,732,733、および734、並びに、データ入力端子741,742,743、および744が、外部に露出する形で、新たに設けられている。
なお、図12では、図が煩雑になるのを避けるために、M=2としてある。
検知信号出力端子71mには、DPLL回路63mが出力する検知信号が供給されるようになっている。データ出力端子72mには、DPLL回路63mが出力するデータクロックRmと2値化データが供給されるようになっている。
検知信号入力端子731乃至734と、データ入力端子741乃至744とは、セレクタ64に接続されている。検知信号入力端子731乃至734には、外部から検知信号を入力することができ、データ入力端子741乃至744には、外部からデータクロックと2値化データを入力することができるようになっている。
そして、図12では、セレクタ64は、復調部51が内蔵するDPLL回路631と632それぞれが出力する2値化データ等の他、さらに、外部からデータ入力端子741乃至744それぞれを介して入力される2値化データ等を選択の対象として、それらの2値化データ等の中から、1つの2値化データ等を選択して、データ処理部12に供給するようになっている。
即ち、セレクタ64は、復調部51が内蔵するDPLL回路63mから検知信号の供給を受けた場合、そのDPLL回路63mが出力するデータクロックRmと2値化データを選択して、データ処理部12に供給する。
また、セレクタ64は、外部から検知信号入力端子73i(i=1,2,3,4)を介して検知信号の供給を受けた場合、外部からデータ入力端子74iを介して入力されるデータクロックと2値化データを選択して、データ処理部12に供給する。
従って、図12の復調部51によれば、復調部51自身で得られたデータクロックと2値化データのみならず、他の復調部で得られたデータクロックと2値化データを、データ処理部12に供給して処理させることができる。
即ち、図12において、他の復調部である復調部91は、復調部51と同様に構成されており、アンテナ3Aに対応するアンテナ90、検知信号出力端子711と712に対応する検知信号出力端子811と812、データ出力端子721と722に対応するデータ出力端子821と822、検知信号入力端子731,732,733,734に対応する検知信号入力端子831,832,833,834、データ入力端子741,742,743,744に対応するデータ入力端子841,842,843,844を有している。
いま、図12において点線で示すように、復調部91の検知信号出力端子811を、復調部51の検知信号入力端子731に、復調部91の検知信号出力端子812を、復調部51の検知信号入力端子732に、それぞれ接続するとともに、復調部91のデータ出力端子821を、復調部51のデータ入力端子741に、復調部91のデータ出力端子822を、復調部51のデータ入力端子742に、それぞれ接続した場合、セレクタ64には、復調部51が内蔵するDPLL回路631が出力するデータクロックR1および2値化データと、復調部51が内蔵するDPLL回路632が出力するデータクロックR2および2値化データとが供給されるとともに、復調部91からも、DPLL回路631と同様に構成されるDPLL回路(図示せず)が出力するデータクロックR1および2値化データと、DPLL回路632と同様に構成されるDPLL回路(図示せず)が出力するデータクロックR2および2値化データとが供給される。
即ち、セレクタ64には、4セットのデータクロックおよび2値化データが供給される。
そして、セレクタ64は、4セットのデータクロックおよび2値化データのうちの、検知信号の供給があったデータクロックおよび2値化データを選択して、データ処理部12に供給する。
即ち、セレクタ64は、復調部51が内蔵するDPLL回路631から検知信号の供給があった場合、そのDPLL回路631が出力するデータクロックR1および2値化データを選択し、また、復調部51が内蔵するDPLL回路632から検知信号の供給があった場合、そのDPLL回路632が出力するデータクロックR2および2値化データを選択する。さらに、セレクタ64は、復調部91の、DPLL回路631と同様に構成されるDPLL回路から検知信号の供給があった場合、そのDPLL回路が出力するデータクロックR1および2値化データを選択し、また、復調部91の、DPLL回路632と同様に構成されるDPLL回路から検知信号の供給があった場合、そのDPLL回路が出力するデータクロックR2および2値化データを選択する。
ここで、復調部91は、上述したように、復調部51と同様に構成されるので、アンテナ3Aと90とで同一の電磁波を受信したとしたならば、復調部51と91とでは、同一のデータクロックと2値化データを得ることができる。従って、復調部51のセレクタ64において、復調部51自身で得られたデータクロックおよび2値化データと、復調部91で得られたデータクロックおよび2値化データを対象として、データ処理部12に供給するデータクロックと2値化データを選択することにより、いわゆるダイバシティ受信を実現することができる。
即ち、近年においては、携帯電話機の高機能化が進み、ICカードの機能を内蔵する携帯電話機が普及しつつある。携帯電話機は、大雑把には、略平板形状をしているが、そのような平板形状の携帯電話機に、ICカードの機能を内蔵させる場合、一般に、平板形状の広い面内に、アンテナが設けられる。
例えば、復調部51(ひいては、データ処理部12およびメモリ13も)を1チップのICチップで構成し、携帯電話機に内蔵させた場合、携帯電話機の、アンテナ3Aが設けられた面をリーダ/ライタ2に向けて、携帯電話機がリーダ/ライタ2に近づけられたときには、リーダ/ライタ2が出力する電磁波による電磁誘導によってアンテナ3Aに電流が流れるので、ICチップは、リーダ/ライタ2との間で通信を行うことができる。
一方、携帯電話機の、アンテナ3Aが設けられた面と対向する面をリーダ/ライタ2に向けて、携帯電話機がリーダ/ライタ2に近づけられたときには、携帯電話機が有する多数の金属部品等の導電性がある部品によって、リーダ/ライタ2が出力する電磁波がシールドされ、その結果、アンテナ3Aに電磁誘導による電流が(ほとんど)流れず、ICチップは、リーダ/ライタ2との間で通信を行うことができなくなることが生じうる。
そこで、携帯電話機に、さらに、復調部91としてのICチップを内蔵させ、そのアンテナ90を、アンテナ3Aが設けられた面に対向する面に設けるようにする。この場合、携帯電話機の、アンテナ3Aが設けられた面と対向する面をリーダ/ライタ2に向けて、携帯電話機がリーダ/ライタ2に近づけられたときには、その面に設けられたアンテナ90に、リーダ/ライタ2が出力する電磁波による電磁誘導によって電流が流れ、その結果、ICチップは、リーダ/ライタ2との間で通信を行うことができる。
即ち、携帯電話機の、アンテナ3Aが設けられた面をリーダ/ライタ2に向けて、携帯電話機がリーダ/ライタ2に近づけられたときには、復調部51においてデータクロックと2値化データを得ることができ、データ処理部12は、復調部51において得られた2値化データの処理を行うことができる。一方、携帯電話機の、アンテナ3Aが設けられた面と対向する面、つまり、アンテナ90が設けられた面をリーダ/ライタ2に向けて、携帯電話機がリーダ/ライタ2に近づけられたときには、復調部91においてデータクロックと2値化データを得ることができ、データ処理部12は、復調部91において得られた2値化データの処理を行うことができる。
なお、図12の実施の形態では、復調部51には(復調部91も同様)、復調部91の他、復調部51と同様に構成されるもう1つの他の復調部で得られるデータクロックと2値化データを入力することができるようになっており、即ち、最大で、2つの復調部を接続し、その2つの復調部のそれぞれで得られるデータクロックと2値化データを入力することができるようになっており、その中から、データ処理部12に供給するデータクロックと2値化データを選択することができるようになっている。
但し、復調部51に接続する復調部の数は、2つに限定されるものではなく、3以上にすることが可能である。
また、携帯電話機には、復調部51と91の両方ではなく、復調部51のみを内蔵させ、復調部51のアンテナ3Aを、平板形状の携帯電話機の、広い第1の面と、その第1の面に対向する第2の面とに引き回すようにすることで、第1の面と第2の面のいずれの面がリーダ/ライタ2に向けられても、リーダ/ライタ2と携帯電話機との間で近接通信を行うことが可能とすることができる。しかしながら、アンテナ3Aを流れる信号(電流)はアナログ信号であるから、アンテナ3Aを第1と第2の2つの面に引き回しするにあたっては、いわばシビアな設計が要求される。
これに対して、携帯電話機に、復調部51と91の両方を設け、復調部51と復調部91とを接続して、復調部91で得られるデータクロックと2値化データを、復調部51に供給する場合には、復調部51のアンテナ3Aを第1の面に設けるとともに、復調部91のアンテナ90を第2の面に設ければ良いので、上述の、アンテナ3Aを第1の面と第2の面の両方に引き回す場合に比較して、それほどシビアな設計は要求されない。さらに、復調部91から復調部51に供給されるデータクロックと2値化データは、ディジタル信号であるから、復調部91から復調部51に対してデータクロックと2値化データを供給するための配線の引き回しにも、それほどシビアな設計は要求されない。
次に、図13は、図5のICカード3を構成する復調部51のさらに他の構成例を示している。なお、図中、図6の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図13の復調部51は、検波回路21、2値化回路22、およびクロック検出回路61を備える点で、図6の復調部51と共通するが、M個のDPLL回路631乃至63Mとセレクタ64に代えて、1つのDPLL回路101が設けられている点で、図6の復調部51と相違する。
DPLL回路101は、M個のNCO621乃至62Mとセレクタ102を内蔵しており、NCO621乃至62Mそれぞれが出力する基準クロックの中からセレクタ102で選択された基準クロックと、2値化回路22が出力する2値化データとに基づき、データクロックを生成するとともに、そのデータクロックに同期して、2値化回路22の出力から2値化データを抽出して、データクロックとともに、データ処理部12に供給する
即ち、セレクタ102には、NCO621乃至62Mそれぞれから基準クロックが供給されるようになっている。セレクタ102は、NCO621乃至62Mの中から1つのNCO62mを選択し、そのNCO62mが出力する、データクロックとなる基準クロックを出力する。そして、DPLL回路101は、2値化回路22からの2値化データと、DPLL回路101自身が出力するデータクロックとの位相差を検出し、その位相差に応じて、セレクタ102で選択されたNCO62mが出力する基準クロックの位相を調整する。さらに、DPLL回路101は、その位相の調整後の基準クロックを、データクロックとして、そのデータクロックに同期して、2値化回路22の出力から2値化データを抽出し、データクロックとともに、データ処理部12に出力する。
図13の復調部51が、図5のICカード3に採用される場合、リーダ/ライタ2では、ポーリングコマンドをペイロードに含むフレームだけについては、図7のフォーマットのフレームに代えて、図14のフォーマットのフレームが採用される。
ここで、図7のフレームでは、1セットのプリアンブルフィールドと同期フィールドが設けられているのに対して、図14のフレームでは、NCO621乃至62Mの数に等しいMセットのプリアンブルフィールドと同期フィールドが設けられている。
図13の復調部51において、セレクタ102は、2値化回路22が出力する2値化データとしての図14のフレームにおけるMセットのプリアンブルフィールドと同期フィールドのうちの、mセット目のプリアンブルフィールドと同期フィールドがDPLL回路102に供給されるタイミングで、NCO62mが出力する基準クロックを選択する。
そして、DPLL回路101は、セレクタ102が選択したNCO62mからの基準クロックの位相を調整して得られるデータクロックRmに同期して、2値化回路22の出力から2値化データを抽出し、その2値化データを対象として、同期フィールドのSYNCコードの検知を行う。
DPLL回路101において、NCO62mからの基準クロックを用いて得たデータクロックRmに同期して抽出された2値化データから、SYNCコードを検知することができなかった場合、セレクタ102は、2値化回路22が出力する2値化データとしての図14のフレームにおけるMセットのプリアンブルフィールドと同期フィールドのうちの、m+1セット目のプリアンブルフィールドと同期フィールドがDPLL回路102に供給されるのを待って、NCO62m+1が出力する基準クロックを選択し、以下、同様の処理を行う。
一方、DPLL回路101において、NCO62mからの基準クロックを用いて得たデータクロックRmに同期して抽出された2値化データから、SYNCコードを検知(捕捉)することができた場合、即ち、NCO62mからの基準クロックを用いて得たデータクロックRmが、リーダ/ライタ2からのデータの通信速度に対応したデータクロックである場合、DPLL回路101は、NCO62mからの基準クロックを用いて得たデータクロックRmと、そのデータクロックRmに同期して抽出された2値化データとの、データ処理部12への出力を開始する。
この場合、データ処理部12は、DPLL回路101から供給されるデータクロックRm、即ち、リーダ/ライタ2の通信速度に対応するデータクロックRmに同期して動作し、DPLL回路101から供給される2値化データの復号(例えば、マンチェスタ符号の復号)等の処理を行う。
従って、図14の復調部51を有するICカード3であっても、リーダ/ライタ2から送信されてくるデータの通信速度での近接通信を迅速に行う(即座に開始する)ことができる。
ここで、本明細書においてフローチャートを参照して説明した処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、必要に応じて、並列的あるいは個別に実行することが可能である。
また、本実施の形態では、本発明をICカードシステムに適用した場合について説明したが、本発明は、その他、例えば、ICカードの機能を有するICチップその他の近接通信を行う装置に適用可能である。
さらに、本実施の形態では、変調方式として、ASKを採用したが、変調方式は、ASKに限定されるものではなく、例えば、PSK(Phase Shift Keying)変調やQAM(Quadrature Amplitude Modulation)変調その他であっても良い。
また、データを符号化する符号も、マンチェスタ符号に限定されるものではなく、その他、例えば、モディファイドミラーや、NRZ(Non Return to Zero)等であっても良い。
さらに、キャリアの周波数も、13.56MHzに限定されるものではない。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
1 ホストコンピュータ, 2 リーダ/ライタ, 2A アンテナ, 3 ICカード, 3A アンテナ, 12 データ処理部, 13 メモリ, 21 検波回路, 22 2値化回路, 61 クロック検出回路, 621乃至62M NCO, 631乃至63M DPLL回路, 64 セレクタ