以下、本発明の実施形態を図面により説明する。
図1は本発明による通信機能付きICカード装置の第1の実施形態を示す構成図であって、1は携帯電話、2は携帯電話のメイン回路、3はコンパニオンチップ、4は接触ICカード、5は非接触通信用アンテナ、6は同調用コンデンサ、7はメイン回路用端子、8はICカード用端子である。
同図において、携帯電話1には、接触ICカード4が搭載されており、また、非接触通信用アンテナ5が接続されたコンパニオンチップ3が設けられている。この非接触通信用アンテナ5に並列に共振周波数を調整するための同調用コンデンサ5が接続されている。このコンパニオンチップ3には、メイン回路用端子7とICカード用端子8とが設けられており、このメイン回路用端子7によって携帯電話1のメイン回路2が、また、このICカード用端子8によって携帯電話機1に搭載された接触ICカード4が夫々、コンバニオンチップ3に接続されている。
図2は図1におけるコンパニオンチップ3の一具体例を示すブロック図であって、7aは外部接続端子、7bは非接触電源検出端子、7cは外部接続用BUSY(ビジー)端子、7dは外部接続用切替禁止端子、10は切替回路、11は接触ICカード制御回路、12は送受信回路、13はデータバッファ、14はRF(無線周波)検波/変調回路、15は電源生成回路、16は電源切替端子、17はクロック生成回路、18はアンテナ端子であり、図1に対応する部分には同一符号を付けている。
同図において、コンパニオンチップ3には、外部接続用端子7aと非接触電源検出端子7bと外部接続用BUSY端子7cと外部接続用切替禁止端子7dとが設けられており、これら端子7a〜7dは図1でのメイン回路用端子7をなしていてメイン回路2(図1)に接続されている。また、アンテナ端子18は非接触通信用アンテナ5(図1)に接続されている。
コンパニオンチップ3内では、外部接続用端子7aのRST(リセット)端子とCLK(クロック)端子とIO(入出力)端子とが切替回路10に接続されており、電源端子が電源切替回路16に接続され、GND(接地)端子が接地されている。また、非接触電源検出端子7bは電源切替回路7bに接続され、外部接続用BUSY端子7cと外部接続用切替禁止端子7dとは切替回路10に接続されている。コンパニオンチップ3には、外部接続用端子7aにより、メイン回路2からクロックやリセットパルス,電源電圧が供給され、また、メイン回路2との間でデータのやり取りを行なう。
切替回路10は、また、ICカード用端子8により、接触ICカード4と接続されている。このICカード用端子8は、接触ICカード4の電源端子に接続される端子と、RST端子に接続される端子と、CLK端子に接続される端子と、IO端子に接続される端子と、GND端子に接続される端子と、増設IOに接続される端子とからなっている。かかるICカード用端子8により、切替回路10から接触ICカード4に電源電圧やリセットパルス,クロックが供給され、切替回路10と接触ICカード4との間でデータのやり取りが行なわれ、接触ICカード4が接地される。なお、接触ICカード4の増設IO端子は、IO端子とは別のプロトコルで切替回路10,接触ICカード4間のデータのやり取りを行なうためのものである。
非接触通信用アンテナ5(図1)は、アンテナ端子18により、RF検波/変調回路14に接続されている。このRF検波/変調回路14は、非接触通信するデータをRF変調して非接触通信用アンテナ5に供給し、この非接触通信用アンテナ5で受信したRF信号を検波し、送受信回路12に供給する。電源生成回路15は、非接触通信用アンテナ5で高周波のRF信号を受信すると、その一部がRF検波変調回路14から供給され、このRF信号を基に電源電圧を生成する。この電源生成回路15で生成された電源電圧は、電源切替回路16を介して接触ICカード制御回路11や送受信回路などに供給され、また、さらに、切替回路10とICカード用端子8とを介して接触ICカード4に供給することができる。また、外部接続用端子7aを介してメイン回路2(図1)から電源電圧も、上記と同様、電源切替回路16を介して接触ICカード制御回路11や送受信回路などに供給され、さらに、切替回路10とICカード用端子8とを介して接触ICカード4に供給することができる。電源切替回路16は、電源電圧が外部接続用7aから供給されるか、電源生成回路15から供給されるかを判断(検出)する機能を備えており、電源生成回路15から電源電圧が供給されるときには、これを検出して非接触電源検出端子7bからメイン回路2にその旨を通知する情報を送り、また、切替回路10にも通知する。
接触ICカード4は、外部接続用端子7a,切替回路10及びICカード用端子8を介してメイン回路2から制御されるが、非接触通信用アンテナ5で非接触通信を行なうときには、切替回路10及びICカード用端子8を介して接触ICカード制御回路11から制御される。接触ICカード4がメイン回路2によって制御されるときには、接触ICカード4の増設IO端子が“L(低レベル)”に設定され、ISO7816仕様の接触式ICカードの通信制御手順に従って制御されるが、非接触通信の際に接触ICカード制御回路11によって制御されるときには、接触ICカード4の増設IO端子が“H(高レベル)”に設定され、ISO14443仕様の手順に従って制御される。
かかる構成によると、切替回路10が外部接続用端子7aを選択し、接触ICカード4がメイン回路2に接続されるときには、これら間で接触通信が行なわれ、切替回路10が接触ICカード制御回路11側を選択し、接触ICカード4が接触ICカード制御回路11と接続されるときには、非接触通信用アンテナ5により、非接触通信を行なうことができる。これら接触通信と非接触通信とでは、互いにプロトコルが異なるものであり、ここで、接触通信の場合には、上記のように、接触式のICカードに対して規定されているISO7816仕様に準拠し、非接触通信の場合には、非接触式のICカードに対して規定されているISO14443仕様に準拠する。
次に、図2に示すコンパニオンチップ3の動作について説明するが、まず、メイン回路2から接触ICカード4を制御する場合の動作について説明する。
この場合には、メイン回路2は、コンパニオンチップ3を活性化するために、外部接続用端7aの電源端子,CLK端子,RST端子及びIO端子にISO7816仕様の接触式ICカードの通信制御手順に従って信号を供給する。コンパニオンチップ3では、切替回路10は、電源生成回路15から電源切替回路16に電源供給がなされていないことが電源切替回路16から通知されているときには、接触ICカード4側に切り替わり、コンパニオンチップ3がこの接触ICカード4とデータ通信をすることができるようにする。切替回路10のかかる切替えタイミングは外部接続用端子7aの電源端子に電源電圧が供給された時点であって、このことが電源切替回路16から通知されると、切替回路10が上記の切替え動作を行なう。
切替回路10のこの切替え動作により、外部接続用端子7aのRST端子,CLK端子及びIO端子が夫々ICカード4のRST端子,CLK端子及びIO端子に接続されることになる。また、このようなメイン回路2からの制御の場合には、切替回路10は、かかる切替えとともに、接触ICカード4の増設IO端子を“L”に設定し、接触ICカード4に外部接続用端子7a、従って、メイン回路2と接続したことを通知する。
これ以降は、ISO7816仕様に従う手順で接触ICカード4のCLK端子,IO端子及びRST端子が処理される。ICカード4では、その増設IO端子が“L”の状態であることから、ISO7816仕様に従う活性化処理が開始されたことを検知し、これに応答してISO7816仕様に従うATR(Anser to Reset)を送出し、接触式のICカードとして処理を開始する。
切替回路10は、ICカード4からこのATRを取得すると、外部接続用端子7aからメイン回路2に出力する。メイン回路2は、このATRを受けると、コンパニオンチップ3の外部接続用端子7aのIO端子にISO7816仕様に従うコマンドデータを出力する。このコマンドデータは、切替回路10を介し、IO端子からICカード4に供給される。ICカード4はそのIO端子から入力されたこのコマンドデータを処理し、その応答としてISO7816仕様に従うレスポンスデータとしてIO端子から出力する。このレスポンスデータは、切替回路10及び外部接続用端子7aのIO端子を介してメイン回路2に返される。
このようにして、メイン回路2は、必要な処理を終えると、ISO7816仕様に従う手順で電源を切断する非活性化処理を行なう。これにより、切替回路10を介して、ICカード用端子8のRST端子,CLK端子及びIO端子が同様に非活性化処理となる。ICカード4は、この非活性化処理を検出すると、その動作を終了する。同時に、コンパニオンチップ3も動作を停止する。
以上のように、接触ICカード4に対してメイン回路2から制御が行なわれるが、この制御動作をメイン回路2から見ると、コンパニオンチップ3があたかも通常のISO7816仕様に従うICカード(即ち、接触ICカード)と見える動作を行なっていることになる。
メイン回路2は、必要に応じて、コンパニオンチップ3を介してICカード4に所定の処理を実行させることができる。例えば、図3(a)に示すように、携帯電話1が他の携帯電話機と通話するための携帯電話ネットワーク100に接続されたデータ管理サーバ101から電文を取得する場合、取得した電文中の所望のデータを接触ICカード4に書き込んだり、また、このデータ管理サーバ101の指示により、接触ICカード4に書き込まれているデータを読み出すようにすることもできる。
このような場合には、メイン回路2がデータ管理サーバ101から取得した電文から所望のデータを抽出し、このデータをコンパニオンチップ3にISO7816仕様に従う手順で書き込みの処理を行なうと、上記のような制御動作が行なわれて、接触ICカード4にこのデータが書き込まれる。また、データ管理サーバ101から送られた電文の中にデータ読込み指令があると、メイン回路2がこのデータ読込み指令を抽出し、コンパニオンチップ3を介して接触ICカード4に送る。接触ICカード4はこの指令に該当するデータをコンパニオンチップ3を介してメイン回路2に送り、メイン回路2は取り込んだこのデータをデータ管理サーバ101に携帯電話ネットワーク100を介して送信する。
なお、かかる動作もISO7816仕様に従う手順で行なわれるものであり、接触ICカード4の増設IO端子も“L”に保持されている。
以上の動作は単にデータの読み書きを行なうものであるが、データ管理サーバ101や接触ICカード4とで相互に暗号化機能や復号化機能,署名生成機能,署名検証機能を夫々持たせ、これら機能を使用することにより、相互認証や暗号通信や暗号鍵交換などの暗号処理を行なうようにしてもよいことは勿論である。
次に、コンパニオンチップ3が非活性化処理によって動作を停止しているときに、非接触用アンテナ端子5でISO14443仕様に従うキャリア電波を受信した場合の制御動作について説明する。
非接触用アンテナ端子5でキャリア電波が受信されると、その受信RF信号がRF検波/変調回路14に供給される。RF検波/変調回路14では、このRF信号が検波されるのであるが、このRF信号は電源生成回路15にも供給され、検波され、安定化されて必要な電圧値の電源電圧が生成される。この電源電圧は電源切替回路16に供給される。このとき、コンパニオンチップ3が非活性化処理によって動作を停止しているので、外部接続用端子7aの電源端子を介してこの電源切替回路16にメイン回路2から電源電圧が供給されていない。このような場合には、電源切替回路16は、電源生成回路15から供給される電源電圧を切替回路10や接触ICカード制御回路11,送受信回路12などのコンパニオンチップ3の各部に供給するとともに、これとほぼ同時に、非接触電源検出端子7bを“H”として、電源生成回路15から電源電圧が供給されていることをメイン回路2に通知し、同様の通知を切替回路10に対しても行なう。
RF検波/変調回路14は、また、受信したRF信号をクロック生成回路17にも供給する。このとき、外部接続用端子7aのCLK端子からクロックが入力されていないので、クロック生成回路211は供給されたRF信号からISO14443仕様に従う動作用のクロックを生成し、切替回路10や接触ICカード制御回路11,送受信回路12などのコンパニオンチップ3の各部に供給する。
切替回路10は、電源生成回路15から電源電圧が供給されているという通知を電源切替回路16から受けると、接触ICカード制御回路11を接触ICカード4に接続するように切り替わる。これにより、接触ICカード制御回路11からの接触ICカード4のリセット制御やクロック制御,電源制御が可能となる。また、これとほぼ同時に、切替回路10は外部接続用BUSY端子7cを“H”にし、接触ICカード4が非接触通信に利用中であることをメイン回路2に通知する。
接触ICカード制御回路11は、切替回路10によって接触ICカード4に接続されるとともに、この切替回路10に対して電源制御を行ない、電源切替回路16から供給される電源電圧をIO端子から接触ICカード4に供給する。また、このとき、切替回路10では、接触ICカード4の増設IO端子を“H”とする。その後、接触ICカード制御回路11はリセット制御,クロック制御を行なって、ISO14443仕様に従う手順で活性化処理を行ない、接触ICカード4にクロックを供給し、また、そのRST端子を制御する。
接触ICカード4は、この活性化処理に従って動作を開始するが、その増設IO端子が“H”となっているため、応答として、ISO7816仕様で定義されたATRではなく、動作開始を伝える1バイトのデータ“Ox3B"のみを出力して活性化される。切替回路10は、このデータ“Ox3B"を接触ICカード制御回路11に渡す。接触ICカード制御回路11は、このデータ“Ox3B"により、接触ICカード4が正しく活性化されたことを認識する。
その後、アンテナ端子18からの受信RF信号は、RF検波/変調回路14で検波されて送受信回路12に供給され、この受信信号に含まれるISO14443仕様のデータ列のコマンドデータが検出されてデータバッファ13に蓄えられる。データバッファ212にISO14443仕様で定義されるデータサイズ分のデータが蓄積されると、送受信回路12はコマンドデータの受信が完了したことを接触ICカード制御回路11に通知する。接触ICカード制御回路11は、この通知をうけると、送受信回路12を介してデータバッファ13からこのコマンドデータを取り込み、切替回路10を介して接触ICカード4に送る。
接触ICカード4では、このコマンドデータがそのIO端子から入力されるが、このとき、その増設IO端子が“H”の状態にあるので、IO端子から入力されたコマンドデータを非接触通信で受信されたISO14443仕様に従うデータと解釈し、これに対して必要な応答データを作成する。この応答データは接触ICカード4のIO端子から出力され、切替回路10を介して接触ICカード制御回路11に供給される。接触ICカード制御回路11は、この応答データをデータバッファ13に転送するとともに、送受信回路12に対して返信応答処理を指示する制御を行なう。送受信回路12は、この指示に従って、データバッファ13から応答データを取り込む。この応答データはRF検波/変調回路14でISO14443仕様に従って変調されてRF信号となり、アンテナ端子18から非接触用アンテナ5に供給されて、キャリア電波として送信される。
非接触通信用アンテナ5での上記のコマンドデータの受信が終わっても、このコマンドデータに対する応答データの送信が終了するまでは、非接触通信用アンテナ5からクロックのみからなるキャリア電波が受信されており、これが電源生成回路15に供給されるとともに、クロック生成回路17にも供給されている。このため、応答データの送信が終了するまで、電源生成回路15で安定した電源電圧が生成されてコンパニオンチップ3の各部に供給されているし、また、ISO14443仕様に準拠したクロックがクロック生成回路17で生成されてコンパニオンチップ3の各部に供給されている。
応答データの送信が終了すると、非接触通信用アンテナ5からのISO14443仕様に従うキャリア電波の受信も終了し、これにより、電源生成回路15から電源電圧が供給されなくなるし、また、クロック生成回路17でのクロックの生成も終了する。これに伴って接触ICカード4もコンパニオンチップ3も非活性化状態となって動作を停止し、また、接触ICカード4の増設IO端子も“L”となる。
以上の動作は、上記コマンドデータの送信側からみると、コンパニオンチップ3があたかも通常のISO14443仕様に従う非接触ICカードと見える動作を行なっていることになる。
ところで、上記のコマンドデータの送信側として、図3(b)に示すように、非接触ICカードリーダライタ103を備えた端末制御装置104とすることができる。上記の動作では、端末制御装置104が非接触ICカードリーダライタ103からコマンドデータを乗せたキャリア電波105を送信し、応答データをキャリア電波106で非接触ICカードリーダライタ103に返すものである。このことからして、携帯電話1は非接触通信機能を備えていることになる。
また、端末制御装置104は、必要に応じて、非接触ICカードリーダライタ103を制御することにより、コンパニオンチップ3を介して接触ICカード4に処理を実行させることができる。例えば、端末制御装置104が所望のデータをコンパニオンチップ3にISO14443仕様に従う手順で書き込みの処理を行なうと、接触ICカード4にこのデータが書き込まれることになるし、また、端末制御装置104がコンパニオンチップ3を介して接触ICカード4からデータを読み込むこともでき、これにより、端末制御装置104は読み込んだデータに対して必要な処理を施すことができる。
なお、以上の動作は単にデータの読み書きをするものであったが、端末制御装置104や接触ICカード4に夫々暗号化機能や復号化機能,署名生成機能,署名検証機能を持たせ、これらを用いて相互認証や暗号通信や暗号鍵交換などの暗号処理を行なうこともできる。
次に、メイン回路2によってコンパニオンチップ3が活性化処理され、外部接続用端子7aからの信号で処理動作を実行中に、非接触通信用アンテナ5で非接触ICカードリーダライタ103(図3)からのISO14443仕様に従うキャリア電波105が受信された場合の動作を説明する。
RF検波/変調回路14は、非接触通信用アンテナ5で非接触ICカードリーダライタ103(図3(b))からのキャリア電波105を受信することによってアンテナ端子18から入力される受信RF信号を検波するとともに、電源生成回路15にも供給する。電源生成回路15はこのRF信号を検波して安定な電源電圧を生成し、電源切替回路16に供給する。電源切替回路16は、このとき、外部接続用端子7aの電源端子から電源電圧が供給されているので、電源生成回路15から供給された電源電源電圧を選択せず、そのまま外部接続用端子7aの電源端子から供給される電源電圧をそのままコンバニオンチップ3の各部に供給し続ける。しかし、電源切替回路16は、外部接続用端子7aの電源端子からの電源電圧をそのままコンバニオンチップ3の各部に供給し続けても、電源生成回路15が電源電圧が供給されたことを検知し、非接触電源検出端子7bを“H”として、この旨をメイン回路2に通知するとともに、切替回路10にも通知する。従って、電源切替回路16からのかかる通知は、非接触通信用アンテナ5で非接触通信が行なわれるか否かの通知ということになる。
RF検波/変調回路14は、また、受信RF信号をクロック生成回路17にも供給し、ISO14443仕様に準拠したクロックを生成させる。このクロックはコンパニオンチップ3の各部に供給される。
また、切替回路10は、電源切替回路16から電源生成回路15からの電源電圧が供給されているという電源切替回路16からの通知により、非接触通信用アンテナ5による非接触通信が開始したと認識して、接触ICカード4の接続を外部接続用端子7a、従って、メイン回路2側から接触ICカード制御回路11側に切り替える。また、切替回路10は、これとほぼ同時に、外部接続用BUSY端子7cを“H”として、接触ICカード4が非接触通信に利用中であることをメイン回路2に通知し、さらに、接触ICカード4の増設IO端子を“H”とする。外部接続用端子7aからの信号で処理動作を実行中の接触ICカード4は、増設IO端子が“H”となったことを検出すると、現在の状態を内部のメモリに記録して保持する。
しかる後、接触ICカード制御回路11は、接触ICカード4を制御可能とするために、接触ICカード4のRST端子のみを利用してISO7816仕様で定義されるウォームリセットを発生する。接触ICカード4は、このウォームリセットに従う動作を開始するが、その増設IO端子が“H”となっているため、ISO7816仕様で定義されたATRではなく、動作開始を伝える1バイトのデータ“Ox3B”のみを出力して活性化される。切替回路10は、この1バイトのデータを接触ICカード制御回路11に送り、接触ICカード制御回路11は、この1バイトのデータを受けることにより、接触ICカード4が正しく活性化されたことを認識する。
一方、アンテナ端子18からの受信RF信号は、RF検波/変調回路14で検波された後、送受信回路12に供給されてキャリア電波に乗せられて受信されたISO14443仕様に従うコマンドデータが検出され、データ列として認識されてデータバッファ13に蓄えられる。このデータバッファ212にISO14443仕様で定義されるデータサイズ分のデータ(即ち、コマンドデータ)が蓄積されると、送受信回路12は、データ受信が完了したことを接触ICカード制御回路11に通知する。この通知を受けた接触ICカード制御回路11は、送受信回路12を介してデータバッファ13から蓄積したデータを取り込み、切替回路10を介して接触ICカード4に供給する。
接触ICカード4は、このデータをそのIO端子から取り込むが、このとき、その増設IO端子が“H”状態に設定されているので、この取り込んだデータを、非接触通信によるデータとして、ISO14443仕様に従う解釈を施し、これに対して必要な応答データを作成する。この応答データは、接触ICカード4のIO端子から、切替回路10を介して、接触ICカード制御回路11に供給される。接触ICカード制御回路11は、受け取ったこの応答データをデータバッファ13に転送し、送受信回路12に対して返信応答処理を指示する。送受信回路12は、指示に従ってデータベース13から応答データを読み取り、RF検波/変調回路14に供給する。RF検波/変調回路14は、ISO14443仕様に従う応答手段を用いて受信しているRF信号の搬送波(このときには、無変調)に乗せる変調処理を行なう。このRF検波/変調回路14から出力されるRF信号はアンテナ端子18からアンテナ5に供給される。これにより、応答データが受信しているキャリア電波に乗って送信され、図3(b)に示す非接触ICカードリーダライタ103に返される。
以上の動作により、非接触ICカードリーダライタ103から見ると、コンパニオンチップ3があたかも通常のISO14443仕様に従う非接触ICカードとして見えることになる。
非接触ICカードリーダライタ103は、コンパニオンチップ3から応答データを受信し、その後、キャリア電波105が受信されなくなると、電源生成回路15から電源切替回路16への電源電圧の出力も終了するが、このときも、外部接続用端子7aの電源端子から電源電圧が供給されているため、電源切替回路16からコンパニオンチップ3の各部に電源電圧が供給され続ける。しかし、切替回路10は、電源生成回路15から電源電圧が供給されないことが電源切替回路16から通知されるので、非接触電源検出端子7bを“L”にし、電源生成回路15から電源電圧が供給されなくなったことをメイン回路2に通知する。
また、切替回路10は、電源生成回路15から電源電圧が供給されないことが電源切替回路16から通知されるので、接触ICカード4を接触ICカード制御回路11側から外部接続用端子7a側に切り替え、接触ICカード4がメイン回路2に接続された状態とする。これとともに、切替回路10は、接触ICカード4の増設IO端子を“H”から“L”に切り替える。また、メイン回路2から外部接続用端子7aのCLK端子にクロックが供給され、このクロックが切替回路10からクロック生成回路17に供給されてISO7816仕様に準拠したクロックが生成される。このクロックがコンパニオンチップ3の各部に供給される。
接触ICカード4は、増設IO端子が“L”に切り替えられたことを検出すると、その内部のメモリに保持されているウォームリセット前の状態を読み出して設定、メイン回路2から外部接続用端子7aのIO端子及び切替回路10を介して供給されるデータなどの処理を再開する。
このようにして、接触ICカード4は、メイン回路2の制御による処理の実行中、非接触ICカードリーダライタからキャリア電波105を受信しても、その処理を中断するだけであって、このキャリア電波105の受信が終了すると、中断していた処理を再開して継続することになる。
以上、第1の実施形態の動作を説明したが、コンパニオンチップ3がメイン回路2の制御によって活性化処理し、外部接続用端子7aからの信号で動作しているときに、アンテナ端子18からISO14443仕様に従うキャリア電波105による受信RF信号が入力されたときには、外部接続用端子7aのIO端子やCLK端子から入力されるデータなどの信号やクロックは利用されないことになる。このため、メイン回路2は、コンパニオンチップ3の外部接続用BUSY端子7cを監視し、これが“H”であるときには、外部接続用端子7aからのデータの送出や応答の処理を待つ。外部接続用BUSY端子7cが“L”となり、メイン回路2が、これを検出すると、中断していたそれまでの処理を再開して継続する。
メイン回路2は、外部接続用端子7aを介してのデータの送出やデータの受信を行なっているときに、コンパニオンチップ3の外部接続用BUSY端子7cが“H”となると、それまでの送信や受信の処理を中断し、その後、外部接続用BUSY端子7cが“L”となると、中断したそれまでの処理を再開して継続する。このとき、ISO7816仕様で定義された処理プロトコルに従う送信や受信の処理が完結していない場合には、再度この送信若しくは受信を行なう動作となる。接触ICカード4は、増設IO端子が“L”に変化したことを検出すると、接触内部のメモリに保持しているウォームリセット前の状態を読み出して設定するが、このとき、中断した状態が受信の処理を完結したものでない場合には、接触ICカード4の内部の受信データを保持しているバッファ(図示せず)を一度クリアしてから、再度受信を開始する。送信の途中である場合には、前に戻って再度送信を開始する。
また、コンパニオンチップ3がメイン回路2の制御によって活性化処理し、外部接続用端子7aからの信号で動作しているときに、アンテナ端子18からISO14443仕様に従うキャリア電波105による受信RF信号が入力されたときでも、メイン回路2は外部接続用端子7aの電源端子に電源電圧を送り続ける。メイン回路2は、コンパニオンチップ3の非接触電源検出端子7bを監視し、これが“H”となっても、電源電圧を外部接続用端子7aの電源端子に供給し続ける。この電源電圧が、電源切替回路16により、コンパニオンチップ3の各部に供給される。なお、メイン回路2から電源電圧が供給されていない状態にあるときに、アンテナ端子18からISO14443仕様に従うキャリア電波105による受信RF信号が入力されたときには、電源切替回路16により、電源生成回路15で生成される電源電圧がコンパニオンチップ3の各部に供給されることになる。これによって、接触ICカード4にも、この電源電圧が供給される。
コンパニオンチップ3が非活性化処理によって動作を停止した状態にあるときに、アンテナ端子18からISO14443仕様に従うキャリア電波105による受信RF信号が入力されたときには、メインかいろ2が、コンパニオンチップ3の非接触電源検出端子7bが“H”であることを検出しても、外部接続用端子7aの電源端子に電源電圧を供給した場合には、電源切替回路16がこの電源端子の電源電圧をコンパニオンチップ3の各部に供給する。これによって、接触ICカード4にも、この電源電圧が供給される。
ここで、外部接続用切替禁止端子7dは、通常の動作では、メイン回路2が“L”に設定しているが、これを“H”にした場合には、切替回路10は外部接続用端子7a(従って、メイン回路2)側から接触ICカード制御回路11側への切替え動作を行なわないし、クロック生成回路17に対しても、外部接続端子7aから切替回路10を介して供給されるクロックをそのまま取り込み、RF検波/変調回路14からの受信RF信号によるクロックへの切替え動作も禁止する。以上の動作により、メイン回路2は、外部接続用切替禁止端子7dを“H”とすることにより、非接触通信用アンテナ5でキャリア電波105を受信しても、そのまま接触ICカード4での処理を継続させることができる。
以上のように、この第1の実施形態によると、図3(a)に示すように、データ管理サーバ101からデータを取り込んで携帯電話1に搭載の接触ICカード4に書き込んだり、データ管理サーバ101からこの接触ICカード4のデータを読み取ったりすることができるし、図3(b)に示すように、非接触ICカードリーダライタ103による非接触通信でもって、端末制御装置104が携帯電話1の接触ICカード4にデータを書き込んだり、この接触ICカード4からデータを読み取ったりすることができるものであって、例えば、携帯電話ネットワーク100(図3(a))上のサーバから電子マネーを取り込んで接触ICカード4に書き込み、この電子マネーを端末制御装置104で引き去るといった使い方が可能となる。
また、接触ICカード4を外部接続用端子7aを介して制御することにより、携帯電話1の接触ICカード4を接触式のICカードとして利用しているときに、非接触ICカードリーダライタ103からのキャリア電波105を受信した場合には、この接触ICカード4を非接触式のICカードとして動作させることが優先的に実行される。このため、例えば、あるエリアの入退場口に非接触ICカードリーダライタ103を配し、入退場口で電子マネーを引き去るようなシステムにこの携帯電話機1を利用する場合、携帯電話1の接触ICカード4を接触式のICカードとして利用していても、入退場口では、自動的に非接触式のICカードとして機能することになるので、そのまま通過することができる。
さらに、外部接続用切替禁止端子7dにより、キャリア電波105を受信しても、携帯電話1の接触ICカード4をそのまま接触式のICカードとして利用することもできる。
図4は本発明による通信機能付きICカード装置の第2の実施形態の要部を示すブロック図であって、19はマイコン(マイクロコンピュータ)、20はR/W(読み書き)機能、21は非接触プロトコル処理機能であり、図2に対応する部分には同一符号を付けて重複する説明を省略する。
同図において、この第2の実施形態は、その全体構成は図1と同様であり、その利用形態も、図3(a),(b)と同様であるが、コンパニオンチップ3において、図2での接触ICカード制御回路11の代わりに、中央演算装置としてのマイコンを用いるものである。このマイコン19にも、電源切替回路16から電源電圧が供給され、クロック生成回路17からクロックが供給される。マイコン19は、接触ICカード4の制御機能と接触カード通信制御機能とプロトコル変換機能とを行なうR/W機能20と、非接触プロトコル処理機能21とを備えている。
なお、以下では、説明を簡略化するために、これらR/W機能20と非接触プロトコル処理機能21とを手段とみなし、夫々が制御,処理の動作を行なうような記載をすることにする。
また、接触ICカード4は、ISO7816仕様に従う端子(電源端子,RST端子,IO端子及びGND端子)のみを有し、図2における接触ICカード4のような増設IO端子を備えていない。切替回路10の端子は、接触ICカード4を制御するためのISO7816仕様に準拠した端子となっている。
なお、電源切替回路16は、電源生成回路15から電源電圧が供給されているか否かの通知を、切替回路10ではなく、マイコン19に行なう。
次に、この第2の実施形態の動作を説明する。
メイン回路2(図1)からの外部接続用端子7aを介したISO7816仕様に準拠した手順と制御により、コンパニオンチップ3と接触ICカード4を接触式のICカードとして利用する手順と動作は、図2で説明した第1の実施形態と同様である。
次に、コンパニオンチップ3が非活性化処理によって動作を停止しているときに、非接触用アンテナ端子5(図1)でISO14443仕様に従うキャリア電波を受信した場合の制御動作について説明する。
非接触用アンテナ端子5でキャリア電波が受信されると、その受信RF信号がRF検波/変調回路14に供給される。RF検波/変調回路14では、このRF信号が検波されるのであるが、このRF信号は電源生成回路15にも供給され、検波され、安定化されて必要な電圧値の電源電圧が生成される。この電源電圧は電源切替回路16に供給される。このとき、コンパニオンチップ3が非活性化処理によって動作を停止しているので、外部接続用端子7aの電源端子を介してこの電源切替回路16にメイン回路2から電源電圧が供給されていない。このような場合には、電源切替回路16は、電源生成回路15から供給される電源電圧を切替回路10や接触ICカード制御回路11,送受信回路12などのコンパニオンチップ3の各部に供給するとともに、これとほぼ同時に、非接触電源検出端子7bを“H”として、電源生成回路15から電源電圧が供給されていることをメイン回路2に通知し、同様の通知を切替回路10に対しても行なう。
RF検波/変調回路14は、また、受信したRF信号をクロック生成回路17にも供給する。このとき、外部接続用端子7aのCLK端子からクロックが入力されていないので、クロック生成回路211は供給されたRF信号からISO14443仕様に従う動作用のクロックを生成し、切替回路10や接触ICカード制御回路11,送受信回路12などのコンパニオンチップ3の各部に供給する。
この場合、電源生成回路15から電源電圧が供給されておらず、それが電源切替回路16から通知されることにより、マイコン19のR/W機能20が切替回路10を外部接続用端子7a側からマイコン19側に切り替える。これにより、接触ICカード4がマイコン19に接続され、これら間でデータのやり取りを可能にする状態となる。しかる後、マイコン19のR/W機能20はリセット制御やクロック制御,電源制御を実行し、接触ICカード4を制御可能な状態にする。これとともに、外部接続用BUSY端子7cが“H”となり、接触ICカード4が利用中であることをメイン回路2に通知する。R/W機能20の電源制御により、電源切替回路16から切替回路10を介して接触ICカード4に電源電圧が供給される。しかる後、R/W機能20はリセット制御やクロック制御を実行して、ISO7816仕様に従う活性化の手順で接触ICカード4にクロックを供給し、また、そのRST端子を制御する。
接触ICカード4は、この活性化処理に従って動作を開始し、これに応答してISO7816仕様に従う1バイトのATRを出力して活性化される。このATRは切替回路10を介してマイコン19に供給され、R/W機能20が接触ICカード4が正しく活性化されたことを認識する。そしてR/W機能20と接触ICカード4とで、ISO7816仕様に従うコマンドとレスポンスのやり取りを行なわれることになる。
この第2の実施形態では、ISO7816仕様に準拠した「select File」コマンドを用い、接触ICカード4の非接触処理機能を選択する。これにより、接触ICカード4は非接触通信で受信されたデータの処理を行なうことができる。
非接触通信用アンテナ5でキヤリア電波が受信されることによってアンテナ端子18から入力されるRF信号は、RF検波/変調回路14で検波されて、送受信回路12に供給される。送受信回路12では、RF検波/変調回路14の検波出力からISO14443仕様に従うコマンドデータが検出され、そのデータ列として認識されてデータバッファ13に蓄えられる。データバッファ13でISO14443仕様で定義されるデータサイズ分のデータ(この場合には、コマンドデータを含む)が蓄積されると、送受信回路12はマイコン19にデータ受信が完了したことを通知する。
この通知を受けると、マイコン19の非接触プロトコル処理機能21は、マイコン19は送受信回路12を介してデータバッファ13から受信したデータを取り込み、ISO14443仕様に従う解釈を施してコマンドデータのみを抽出する。このコマンドデータが抽出されると、これを基にR/W機能20がコマンドデータを受信したことを検知して、このコマンドデータをISO14443仕様からISO7816仕様に順処したものにプロトコル変換し、切替回路10及びICカード用端子8を介して接触ICカード4のIO端子に送る。
接触ICカード4は、このコマンドデータを取り込んで、これを既に選択起動された非接触処理機能(ISO7816仕様)に対するデータとして処理を施し、必要な応答データを作成する。この応答データはICカード用端子8のIO端子を経由して切替回路10に送られ、切替回路10はこの応答データをマイコン19のR/W機能20に送る。
R/W機能20は、この応答データをISO7816仕様からISO14443仕様に準拠したものにプロトコル変換して非接触プロトコル処理機能21に渡す。非接触プロトコル処理機能21は、取り込んだ応答データにISO14443仕様で必要なデータを付加してデータバッファ13に転送し、また、送受信回路12に対して返信応答処理を指示する制御を行なう。送受信回路12は、この指示に従って、データバッファ13から応答データを取り込み、RF検波/変調回路14に供給する。応答データは、RF検波/変調回路14でISO14443仕様に従う応答手段を用いて受信RF信号の搬送波(このときには、無変調)に乗せる変調処理がなされ、アンテナ端子18から非接触通信用アンテナ5に供給されて非接触ICカードリーダライタ103(図3(b))に送信される。
その後、非接触通信用アンテナ5でキャリア電波が受信されなくなると、電源切替回路16に対する電源生成回路15は電源電圧を生成しなくなる。このため、クロック生成回路17もクロックの生成を中止するし、接触ICカード4も非活性化状態となって動作を停止する。
以上の動作が、第1の実施形態と同様、非接触ICカードリーダライタ103から見ると、コンパニオンチップ3があたかも通常のISO14443仕様に従う非接触ICカードの動作に見える点は、第1の実施形態の場合と同様である。
次に、コンパニオンチップ3が活性化処理して外部接続用端子7aからの信号で動作しているときに、アンテナ端子18からISO14443仕様に従うキャリア電波105の受信によるRF信号が入力された場合には、RF検波/変調回路14は、このキャリア電波の受信RF信号を電源生成回路15に供給する。電源生成回路402は、このRF信号を検波して必要な電圧値の安定化した電源電圧を電源切替回路16に供給する。このとき、外部接続用端子7aの電源端子から電源が供給されているため、電源切替回路16は、電源生成回路15から供給された電源電圧ではなく、外部接続用端子7aの電源端子から供給される電源電圧をコンパニオンチップ3の各部に供給し続ける。また、これとほぼ同時に、電源切替回路16は非接触電源検出端子7bを“H”とし、電源生成回路15から電源電圧が供給されていることをメイン回路2に通知する。
RF検波/変調回路14は、また、アンテス端子18から入力されるRF信号をクロック生成回路17にも供給する。クロック生成回路17はこのRF信号からISO14443仕様に準拠したクロックを生成し、コンパニオンチップ3の各部に供給する点は第1の実施形態と同様であるが、電源生成回路15から電源電圧が供給されていることの通知が電源切替回路16からあると、マイコン19のR/W機能20は、これを検出して、切替回路10を切替え制御してマイコン19のR/W機能20を接触ICカード4に接続し、これら間でデータのやり取りができるようにし、これとほぼ同時に、外部接続用BUSY端子7cを“H”として、接触ICカード4が利用中であることをメイン回路2に通知させる。
そして、R/W機能20は、リセット処理を行なう前に、ISO7816仕様で定義される「select File」コマンドを用いて、接触ICカード4の非接触処理機能を選択する。これに伴って、接触ICカード4は、このときのメイン回路2からの信号の状態を内部のメモリに記録して保持し、しかる後、処理機能が接触処理機能から非接触処理機能に切り替えられ、非接触通信で送られてきたデータに対する処理を行なうことができるようになる。
一方、非接触通信用アンテナ5でのキャリア電波の受信によってアンテナ端子18から入力されたRF信号は、上記と同様に、RF検波/変調回路14や送受信回路12で処理されてコマンドデータが検出され、このコマンドデータがデータバッファ13や非接触プロトコル処理機能21を介してR/W機能20に供給される。このコマンドデータはR/W機能20でISO14443仕様からISO7816仕様に準拠したものにプロトコル変換されて、接触ICカード4に供給される。接触ICカード4では、このコマンドデータが非接触処理されて応答データが生成され、上記と同様、切替回路10を介してマイコン19のR/W機能20に供給され、ISO14443仕様に準拠したデータにプロトコル変換される。そして、このISO14443仕様に準拠した応答データは、非接触プロトコル処理機能21,送受信回路12,RF検波/変調回路14で処理されて受信されたRF信号に乗せられ、アンテナ端子18が非接触通信用アンテナ5に供給されることにより、キャリア電波に乗って非接触ICカードリーダライタ103に送信される。
以上の動作は、非接触ICカードリーダライタ103から見ると、第1の実施形態の場合と同様、コンパニオンチップ3があたかも通常のISO14443仕様に従う非接触ICカードの動作に見えることになる。
非接触通信用アンテナ5でISO14443仕様に従うキャリア電波が受信されなくなると、電源生成回路15から電源切替回路16に電源電圧が供給されなくなるが、外部接続用端子7aの電源端子から入力される電源電圧が電源切替回路16からコンパニオウチップ3の各部に供給される。このとき、非接触電源検出端子7bが“L”となり、これにより、電源生成回路15から電源電圧が供給されなくなったことがメイン回路2に通知する。クロック生成回路17も、外部接続用端子7aのCLK端子から切替回路10を介して供給されるクロックをコンパニオウチップ3の各部に供給するように制御される。
しかる後、R/W機能20は、電源切替回路16から電源生成回路15から電源電圧が供給されなくなったという電源切替回路16からの通知に基づいて、切替回路10の切替え制御を行ない、接触ICカード4を外部接続用端子7a側に切り替えさせるとともに、ISO7816仕様に準拠した「Select File」コマンドを用いて、接触ICカード4が接触処理を行なうようにする。
そこで、接触ICカード4では、その内部メモリに保持している状態が読み出されて設定され、外部接続用端子7aのIO端子から入力される信号の処理が可能となる。
なお、ここでは、接触ICカード4の状態を内部メモリに記録するために、「Selecet File」コマンドによる状態データの退避と復帰、処理の切替えを行なったが、この切り替えの際、「Selecet File」コマンドの処理時間が非接触通信処理の処理時間に追加されるものとなるため、かかる処理を省き、代わりに、リセットにより、非接触通信に対する処理を行なうまでに行なわれていた処理をキャンセルし、非接触通信処理を開始するまでの処理時間のより短縮するようにしてもよい。
以上のように、この第2の実施形態では、第1の実施形態が奏する効果に加え、ICカード用端子8をISO7816で定義された信号線としてのみ利用するものであるから、接触ICカード4としては、従来から利用されているISO7816準拠のICカードを利用できることになる。