説明

処理装置

【課題】ISO7816、USB、MMC、さらに非接触IFであるISO14443等のような通信IFの通信処理を判別し、情報端末が指定した一つの通信IFでの通信を可能とするIF切り替え機能付き処理装置を提供する。
【解決手段】処理装置において、C1端子とC5端子間の電位差を検出し、その電位差が定数値に達した場合に処理装置内の各回路に電力を供給する電位検出回路140と、C4端子とGND間の電位差及び、C8端子とGND間の電位差を検出し、共に定数値に達した場合にMMC制御回路を動作させ、共に定数値に達しない場合にUSB制御回路を動作させる電位検出回路135と、C3端子とC6端子のどちらにクロックが入ったかを検出し、C3端子にクロックが入った場合はUART制御回路を動作させ、C6端子にクロックが入った場合はMMC制御回路を動作させるクロック検出回路130とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のIFで端子を共有する処理装置に関し、特に、IF切り替え機能付き処理装置に適用して有効な技術に関する。
【背景技術】
【0002】
例えば一例として、ISO7816−12は、ISO7816−3で定められたICカードIFを拡張し、同じIF上でUSB(Universal Serial Busの略である)通信機能を実現するためのものである。
【0003】
また、MMC(Multi Media Cardの略である、登録商標:以下、登録商標表記は略す)は、MultiMediaCardAsociationで標準化されている規格であり、シリアル転送を用いた、主にメモリーカードとの通信手段である。
【0004】
例えば、メモリカードに関する技術としては、特許文献1に記載される技術などが挙げられる。
【特許文献1】特開2004−288141号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
ところで、前述した一例のISO7816に準じたIFを持つ処理装置上で、同じIFを用いてUSBまたはMMCの通信機能を利用する場合、幾つかの端子を共有することになる。ここで、USBとMMCのデータとコマンドを制御するラインを共有させ、またISO7816に準じたClock信号とMMCのClock信号を独立に制御する場合、ISO7816、USB、MMCの3つの通信を端末に応じて切り替える能力を処理装置に持たせることは、端末との互換性を考える上で非常に重要である。しかし、現状の構成では、IFを切り替えるための端子を持たないことから、その実現は困難である。
【0006】
そこで、本発明の目的は、上記課題を解決し、ISO7816、USB、MMC、さらに非接触IFであるISO14443等のような通信IFの通信処理を判別し、情報端末が指定した一つの通信IFでの通信を可能とするIF切り替え機能付き処理装置を提供することにある。
【0007】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0008】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【0009】
本発明による処理装置は、上記目的を達成するために、一例として、ISO7816に準じた端子を持ち、ICカード機能を有する処理装置に適用される。前記ISO7816に準じた端子には、電源電圧を供給する第1の端子(C1)と、リセット信号を入力するための第2の端子(C2)と、処理装置が有する第1のデータ通信方式を利用するためクロック信号を入力するための第3の端子(C3)と、処理装置が有するその他のデータ通信方式でデータ入出力を行うための第4の端子(C4)と、信号接地のための第5の端子(C5)と、処理装置が有するその他のデータ通信方式でのデータ入出力を行う際に利用するクロック信号を入力する第6の端子(C6)と、処理装置が有する第1のデータ通信方式でデータ入出力を行うための第7の端子(C7)と、処理装置が有するその他のデータ通信方式でデータ入出力を行うための第8の端子(C8)とを有する。
【0010】
この処理装置の構成において、前記第1のデータ通信方式を利用するUART制御回路を有する。また、前記その他のデータ通信方式として、接続されたホスト端末との接続バスにおいて、初期状態の電位差が異なる2つのデータ通信方式を利用可能とする際に、第2のデータ通信方式を利用するMMC制御回路と、第3のデータ通信方式を利用するUSB制御回路を有する。
【0011】
さらに、C1端子とC5端子間の第1の電位差を検出し、その電位差が第1の定数値に達した場合に処理装置内の各回路に電力を供給する第1の検出回路と、C4端子とC5端子間の第2の電位差及び、C8端子とC5端子間の第3の電位差を検出し、第2の電位差と第3の電位差が共に第2の定数値に達した場合にMMC制御回路を動作させ、第2の電位差と第3の電位差が共に第2の定数値に達しない場合にUSB制御回路を動作させる第2の検出回路と、C3端子とC6端子のどちらにクロック信号が入ったかを検出し、C3端子にクロック信号が入った場合はUART制御回路を動作させ、C6端子にクロック信号が入った場合はMMC制御回路を動作させる第3の検出回路とを有することを特徴とする。さらに、第4のデータ通信方式を利用する非接触通信回路を有することを特徴とする。
【発明の効果】
【0012】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【0013】
本発明によれば、情報端末が、ISO7816、USB、MMC、さらにISO14443等のような通信IFのどれかで処理装置との通信を試みるとき、情報端末が各IFの仕様で定められた通信処理を行う中で、処理装置はその処理を判別し、情報端末が指定した一つの通信IFでの通信を可能とする効果を奏する。
【発明を実施するための最良の形態】
【0014】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0015】
本発明の実施の形態においては、一例として、ISO7816に準じたIFを持つ処理装置を例に説明するが、本発明はこれに限定されるものではなく、ICカード機能を有する処理装置全般に適用可能となるものである。
【0016】
また、このISO7816に準じたIFを持つ処理装置において、UART(Universal Asynchronous Receiver/Transmitter)は、シリアル・データ伝送に使用され、情報端末と処理装置との間でパラレル信号とシリアル信号の相互変換を行う制御装置である。また、MMC(Multi Media Card)は、小型メモリカードである。また、USB(Universal Serial Bus)は、周辺装置を接続するためのインタフェースの共通化を目的としたインタフェース仕様である。
【0017】
以下において、ISO7816に準じたIFとして、UART、MMC、USBを使用する各制御回路を有する処理装置について実施の形態を説明する。
【0018】
図1は、本発明の一実施の形態による処理装置の内部構成の一例を表す図である。
【0019】
本実施の形態による処理装置100は、UART Reset110、UART I/O112、UART CLK114、MMC CLK116、DATA(またはD+)118、CMD(またはD−)120、VCC122、GND124、クロック検出回路(第3の検出回路)130、電位検出回路(第2の検出回路)135、電位検出回路(第1の検出回路)140、UART制御回路150、MMC制御回路160、内部クロック生成回路165、USB制御回路170、内部クロック生成回路175、CPU190などから構成される。
【0020】
この処理装置100は、ISO7816互換のIFとして、UART Reset110、UART I/O112、UART CLK114、MMC CLK116、DATA 118(またはD+118)、CMD120(またはD−120)、VCC122、GND124を有し、ICカードチップやセキュリティ機能付きメモリカード等が該当する。この処理装置100は、各回路又は各回路の集まり毎に別のチップとして構成されていても良い。
【0021】
ここで、UART Reset110は、処理装置100へのリセット信号であり、ISO7816ではC2端子が割り当てられている。また、UART I/O112は、処理装置100とAPDU(Application Protocol Data Unitの略である)を送受信するためのI/Fであり、ISO7816ではC7端子が割り当てられている。また、UART CLK114は、処理装置100へISO7816に準拠した処理のためのクロック信号を入力するためのI/Fであり、ISO7816ではC3端子が割り当てられている。また、MMC CLK116は、処理装置100へMMC処理のためのクロック信号を入力するためのI/Fであり、ここではC6端子が割り当てられていることとする。
【0022】
また、DATA118及びCMD120は、MMF IF通信では、それぞれデータ及びコマンド(またはレスポンス)を転送するために用いられ、USB IF通信ではD+及びD−信号線として共にコマンド及びデータを転送するために用いられる。この信号線は、以下でD+118及びD−120または、信号線118及び信号線120と記載することもあるが、いずれも同じ意味である。ISO7816ではDATA118としてC4端子、CMD120としてC8端子が割り当てられている。ただし、MMC IF通信において、どちらの端子がデータとコマンドに割り当たっていても、その割り当てが明らかであれば、以下で説明する通信切り替え方式の本質には影響しない。
【0023】
また、VCC122は、処理装置100への入力電圧であり、ISO7816ではC1端子が割り当てられている。また、GND122は、処理装置100へのグラウンド線であり、ISO7816ではC5端子が割り当てられている。
【0024】
これらの信号線は、各IF制御回路(150、160、170)を通じてCPU190に接続される。ここで、各IF制御回路(150、160、170)はCPU190の一部であっても良い。ただし、各IF制御回路(150、160、170)を動作させるための電力がCPU190とは別に制御可能であるならば、IFが選択された際に他のIF制御回路への電力供給を停止することで消費電力を低減させる効果がある。
【0025】
各IF制御回路(150、160、170)は、それぞれIFの競合に関係なく、それぞれのIF(ISO7816、MMC、USB)を制御するための装置である。
【0026】
UART制御回路150は、UART Reset110、UART I/O112、UART CLK114、VCC122、GND124が接続されており、ISO7816−3仕様で定められたAPDU転送を実現する回路である。すなわち、UART制御回路150は、ホストから供給されたクロック信号に基づき、命令コード及びデータを1本のI/Oにより同期的に転送制御する回路である。また、以下では、ISO7816に準じる処理をUART処理、ISO7816に準じる処理を行う回路をUART制御回路と呼ぶことにする。
【0027】
MMC制御回路160は、MMC CLK116、DATA118、CMD120、VCC122、GND124が接続されており、MMC及びSecureMMC仕様に準拠したデータ通信を実現する回路である。すなわち、MMC制御回路160は、ホストから供給されたクロック信号に基づき、命令コード及びデータをそれぞれの1本のI/Oにより同期的に転送制御する回路である。
【0028】
USB制御回路170は、DATA118、CMD120、VCC122、GND124が接続されており、USB仕様に準拠したデータ通信を実現する回路である。すなわち、USB制御回路170は、ホストとの間で、命令コード及びデータを2本のI/Oを用いた差動バスにより非同期に転送制御する回路である。
【0029】
また、ここでは、USBの通信用に内部クロック生成回路175を設け、USB制御回路170に接続する構成を取る。内部クロック生成回路175は、USB制御回路170に含まれていても良いし、処理装置100の外部に接続される構成であっても良い。さらに、各制御回路及びCPU、他のデバイスが接続されている場合には、それらを動作させるために内部クロック生成回路165を設け、CPUや各制御回路に必要ならばクロックを供給する構成を取る。ただし、個別に供給するクロックを分けるために、一つ以上の内部クロック生成回路を追加し、個別に、または部分的にクロックを分けても良い。また、UART CK114またはMMC CLK116から供給されたクロックを利用しても良い。また、必要ならば外部から得られるクロックまたは内部で生成したクロックを逓倍または分周して用いても良い。また、内部クロック生成回路175と内部クロック生成回路165を共通の回路として、それぞれでクロックを逓倍または分周して用いても良い。
【0030】
ただし、これらが物理的に各IFに接続されただけの構成では、IFの競合が発生し、正しいデータ転送を実現することはできない。
【0031】
そこで、本実施の形態では、処理装置100に、電位検出回路140、電位検出回路135、クロック検出回路130を追加することにより、IF間の干渉に関する問題を解決する。
【0032】
電位検出回路140は、VCC122とGND124が接続されており、VCC122とGND124の電位差がある基準値に達した場合に処理装置100内の各回路に電力を供給する回路であり、図8(a)のような回路から構成されていても良い。このとき、端子間電位差のスレッショルドは、各回路が安定して動作する最低限の電圧差が満たされていることが望ましい。また、この構成では、電位検出回路140により一定の電位差が確認された後、処理装置100に電力が供給されるように描かれているが、それぞれの回路が、入力電圧に関して個別の電位検出回路を持っていても良い。また、各IF制御回路(150、160、170)及びCPU190への電力供給は、UART Reset110またはクロック検出回路130または電位検出回路135の動作を契機にして制御されても良い。
【0033】
例えば、UART処理では、処理装置100は接続された情報端末(ホスト端末、単にホストと記載することもある)からリセット信号を受けてATR(Answer to Resetの略である)を返す仕様であるが、この情報端末からのリセット信号を契機にしてCPU190が動作する仕組みであっても良い。また、クロック検出回路130及び電位検出回路135は、入力されたデータに応じて各IF制御回路(150、160、170)にその旨を通知可能であるが、この信号により電力供給が開始されても良い。MMCやUSBは、ホストからのクロック入力やデータ及びコマンド線の状態をある一定の時間をかけて検出した後にコマンドやデータを送るが、本実施の形態における検出回路は、それらの処理よりも早くIFの決定を行うため、IF決定後に各IF制御回路(150、160、170)を動作させることが可能になる。
【0034】
電位検出回路140から他の回路に電力が供給される場合で、情報端末から処理装置100に印加される電圧が複数のレベルから構成される場合、電位検出回路140はその差を検出し、他の回路へ供給する電圧を切り替えても良い。このため、電位検出回路140は処理装置100に印加される可能性がある全ての電圧レベルに対応することが望ましいが、他の回路への電圧供給についてはこの回路からの出力段階で昇圧または降圧が可能であるため、全ての電圧レベルに対応させる必要はなくなる。ただし、その他の回路が複数の電圧レベルに対応して動く仕組みであっても良い。
【0035】
電位検出回路140は、電位検出回路135が動作後に直ちにIFの検出を行うために必要になる。仮にこの回路がない場合、DATA118及びCMD120の信号上のノイズを誤検出し、間違った検出を行ってしまう可能性がある。ただし、この誤検出が問題ない場合には、電位検出回路140を省略しても良い。
【0036】
電位検出回路135は、DATA118とCMD120が接続されており、DATA118とCMD120のGNDに対する各電位差がある基準値に達した場合に、その内容に応じてMMCまたはUSBの動作を決定する回路であり、図8(b)のような回路から構成されていても良い。このとき、スレッショルドは、各信号線の状態が判断できる電圧差であることが望ましい。ただし、リーク電流の問題などで基準電位をGNDに設定することが好ましくない場合、基準となる電位をVCCまたはVCCの電圧レベルをDATA118またはCMD120の判断時の電位にあわせて昇圧または降圧した電位としても良い。ただし、この場合は、VCCの電位が安定してから判断するようにすることが望ましい。
【0037】
図7(a)(b)は、電位差検出のタイミングを表している。VCC電位が最大3.3V、GND電位0Vである場合、情報端末から印加された電圧はグラフ710またはグラフ718のような勾配で3.3Vに達するが、その途中でVCCが電位検出回路140の起動電圧に達した場合、電位検出回路140はその電位差を検出し、それがスレッショルドを超えているならば、電力を電位検出回路135に供給しても良い。また、その遅延が問題とならないならば、電位が安定した段階で電力を電位検出回路135に供給しても良い。ここで、電位検出回路135の起動電圧が電位検出回路140と同じ場合、電位検出回路135を直ちに起動し、DATA118とCMD120の信号線の電位を検出する。
【0038】
図3は、USB制御回路310を用いて処理装置100に接続するUSBホスト端末300の構成を表している。USB仕様に依れば、D+118及びD−120に接続された信号線は、電源投入時はプルダウン抵抗R_PD314及びR_PD312を用いたプルダウン回路に接続されている。また、USB仕様により、接続後に直ちにD+118及びD−120が共にLOW電位でリセットすることが定められているため、電位検出回路135はこの状態をもって直ちにUSBが選択されていることを判断できる。図7(a)のグラフ712及び714及び716はこのタイミングを示している。ここで、LOW電位とは、信号線で認められた電圧範囲の中で、内部のデジタル回路で“0”と認識される電位を表す。また、この時の電位は、GND124の電位と異なっていても良い。
【0039】
また、図4は、UART制御回路410を用いて処理装置100に接続するUARTホスト端末400の構成を表している。この構成では、D+118及びD−120は接続されていないため、処理装置100側のD+118及びD−120の各端子はハイインピーダンスの状態になる。この状態で混入したノイズを電位検出回路135が誤検出することを避けるために、D+118及びD−120の端子は処理装置100内でプルアップ回路で接続されていることが望ましい。ただし、ホスト側のプルダウン、プルアップに影響を及ぼさないように、抵抗はホスト側よりも大きい抵抗を用いることが望ましい。また、このときに用いる2つのプルアップ抵抗は、ホスト側よりも大きい抵抗であるならば異なる抵抗値であっても良い。
【0040】
ここで、USBがフルスピードデバイスの場合、D+118をプルアップ回路に接続し、D−120をプルダウン回路に接続していても良い。また、USBがロースピードデバイスの場合、D+118をプルダウン回路に接続し、D−120をプルアップ回路に接続していても良い。また、この抵抗は、USBのバス選択時にバススピードに応じて切り替えても良い。従って、UART制御回路410に接続された場合、電位検出回路135ではMMCが選択されるか、何も選択されないことになる。また、D+118とD−120上の信号は、電位検出回路135の起動よりも早く変化していることが望ましいため、接続する電位は電位検出回路140を通る前に分岐して供給されても良い。また、このとき電圧のレベルがDATA118及びCMD120と異なるならば、必要に応じて昇圧及び降圧用の回路を用いても良い。また、CPU190に供給するクロックがUART CLK114でも内部クロック生成回路165より供給されるクロックのどちらでも良い場合、プルダウン回路で接続されていても良い。
【0041】
図2は、MMC制御回路210を用いて処理装置100に接続するMMCホスト端末200の構成を表している。MMC仕様によれば、DATA118及びCMD120に接続された信号線はプルアップ抵抗R_DAT212及びR_CMD214を用いたプルアップ回路に接続されている。従って、電位検出回路135はこの状態を持って直ちにMMCが選択されていることを判断できる。ただし、DATA118及びCMD120への電源供給がVCCと同じである場合の動作について、図7(b)のグラフ720及び722及び724にそのタイミングを示している。図7(b)のように、この状態でも問題なく電位を検出できるようにするためには、スレッショルドを電位検出回路135の起動電圧よりも低く設定しておくことが望ましい。この状態で電位検出回路135内の各ゲートが動作するならば、USB、MMCが双方共に仕様上、起動から信号線の電位が安定するまでの時間を十分にとってあることから、この時点で電位がVCCの最大電圧に達していなくても、それ以後の動作に特に影響はない。
【0042】
以上より、電位検出回路135は、MMC検出(図8(b)に示す信号線810及び信号線812が双方共にHIGH)、USB検出(信号線810及び信号線812が双方共にLOW)、未検出(信号線810及び信号線812の片方がHIGHで片方がLOW)の3つの状態が発生し得る。未検出の場合の動作は、双方をAND回路で判別して未検出状態をUSB検出と仮に定めても良いし、双方をOR回路で判別して未検出状態をMMC検出と仮に定めても良いし、他の回路でその動作を判断しても良い。また、未検出時には、検出されるまで判断を保留しても良い。ここで、HIGHとは、信号線で認められた電圧範囲の中で、内部のデジタル回路で“1”と認識される電位を表す。また、このときの電位は、VCC122の電位と異なっていても良い。
【0043】
また、DATA118及びCMD120の電位は、データにより変化するため、電位検出回路135はその動作が確定後に直ちに停止されるか、電位検出回路135から信号を受け取った回路は、以後、その信号が変化を無視するように実装されることが望ましい。
【0044】
また、電位検出回路135は、MMC検出及びUSB検出をDATA118もしくはCMD120のどちらか片方のみを用いることで行っても良い。
【0045】
クロック検出回路130は、UART CLK114とMMC CLK116に接続されており、どちらかからクロック入力があった場合に、クロック入力があった方の信号線を有効とし、それ以降、他方からのクロック入力を無視させる回路であり、図8(c)のような回路から構成されていても良い。ここで、クロック検出回路130は、内部クロックにより判断する方式をとっているが、電位検出回路135のように電位差に変化が発生した場合に動作する仕組みであっても良い。内部クロックにより判断する場合、外部からのノイズに強くなり、また回路の動作開始をクロックの入力するタイミングと合わせられるという効果がある。クロック検出回路130は、電圧が安定した後に動作を始めることが望ましく、クロック検出回路130へ供給する電位検出回路に、電位検出回路140及び電位検出回路135よりも高い電圧で動作するようにスレッショルドを設けて、それらの回路と起動の時間差を設けても良く、またカウンター回路を設けて一定の時間経過後にクロック検出回路130が動作するようにしても良い。カウンター回路を設ける場合、カウンターが一定値に達した場合にクロック検出回路130へのクロック供給を行うことを動作開始の契機にしても良い。
【0046】
クロック検出回路130は、電位検出回路135でUSBが選択されたときに、動作を停止させるか、供給するクロックを停止することで動作を行わせないようにしても良い。また、クロック検出回路130から各IF制御回路(150、160)へ送られるUART CLK114及びMMC CLK116に接続された信号線からの入力を、スイッチにより停止しても良い。
【0047】
クロック検出回路130は、初期状態ではUART CLK114が有効になっていても良い。これは、ISO7816のリセット信号がクロック検出よりも早く処理装置100に入力される可能性があるためで、そのときは直ちにUART CLK114が選択されることが望ましいためである。もしも、このことが問題にならないならば、UART CLK114に対してもMMC CLK116と同じく、クロックにより選択される仕組みであっても良い。
【0048】
以上のように、電位検出回路140及び電位検出回路135及びクロック検出回路130は、それぞれ入力の状態に応じて状態を切り替えるが、実際にIF制御回路(150,160、170)のどれを有効とするかは、この仕組みだけでは決まらない。それは、処理装置100のハードウエアとして機能を満足していても、処理装置100のソフトウエアが機能を未実装または故障等の要因で満足していない場合があるからである。したがって、最終的にどのIF制御回路(150,160、170)が選択されるかが決定するのは、各IFの初期化手続きが完了した段階である。
【0049】
図5及び図6は、このときの手続きの流れを表している。処理装置100はホストと接続されると(510)、電位検出回路140により予め定めておいた電位差の検出を実行する(512)。ここで、手続き510の状態を状態0と定める。これは処理装置100がハードウエアリセットされた状態を指す。ただし、これはリセット信号(UART Reset110)によって遷移する状態とは異なる。電位差が検出された場合、処理装置100は電位検出回路135及びクロック検出回路130に電力を供給し、それぞれの回路を起動する(514)。ただし、前にも述べたように、クロック検出回路130の実際の動作開始は、VCC122から供給される電位が安定してからであることが望ましい。
【0050】
電位検出回路135が起動すると、電位検出回路135は電位の検出を行う。双方の電位がHIGHの場合(516)、処理装置100は信号線(DATAまたはD+118)及び信号線(CMDまたはD−120)をMMC制御回路160に接続する。また、CPU190を起動させ(518)、状態1に移行する(522)。ここで、MMC制御回路160を有効にする段階でMMC制御回路160を起動しても良いし、消費電力が問題とならないならば電位検出回路135の起動に併せて起動させておいても良い。また、CPU190を起動させるとは、CPU190に電圧を印加することを意味する。この段階では内部クロック生成回路165で発生させたクロックをCPU190に入力させなくても良い。後にUART CLKと動的に切り替える回路を用いるならば、この段階でクロックを入力しても良い。また、CPU190は、コアとなる演算回路だけではなく、内部接続バス、ROM、RAM、EEPROM、暗号演算回路、ダイレクトメモリアクセスコントローラ、その他の周辺回路及びバッファ等を含んだものを指す。
【0051】
電位検出回路135において電位が共にLOWの場合(520)、処理装置100は信号線118及び信号線120をUSB制御回路170に接続する。また、CPU190を起動させ、USBが仮に選択されたことを通知し(524)、状態2に移行する(526)。ここで、USB制御回路170を有効にする段階でUSB制御回路170及び内部クロック生成回路175を起動しても良いし、消費電力が問題とならないならば電位検出回路135の起動に併せて起動させておいても良い。また、このときはCPU190に動作用のクロックを供給しても良い。また、CPU190にUSBが仮に選択されたことを通知するとは、レジスタにその情報を格納する操作や専用の割り込みを発生させる操作などが該当する。
【0052】
電位検出回路135の状態がどちらにも決まらない場合(片方がHIGHで片方がLOWの場合など)、確定するまで検出を繰り返しても良い。
【0053】
処理装置100が状態1に遷移した場合、処理装置100はクロック検出回路130によりMMC CLK116が入力されているかを検出する(610)。MMC CLK116の入力が検出された場合、処理装置100は、内部クロック生成回路165で発生させたクロックをCPU190に供給し、クロック検出回路130を停止させ、CPU190にMMCが選択されたことを通知し(614)、状態3に移行する(618)。ここで、CPU190にMMCが選択されたことを通知するとは、レジスタにその情報を格納する操作や専用の割り込みを発生させる操作などが該当する。以下に述べるUSB選択の通知及びUART選択の通知も同様である。
【0054】
クロック検出回路130でUART CLK114の入力が検出された場合(612)、処理装置100はクロック検出回路130を停止させ、CPU190にUARTが選択されたことを通知し(616)、状態4に移行する(620)。
【0055】
処理装置100は状態3に移行すると、MMC仕様に基づき通信処理の初期化を開始する。これに失敗した場合、処理装置100は状態1に処理装置100の状態を戻しても良い。また、何度もこの処理が失敗するならば、状態0に戻しても良い。ここで、初期化の成功とは、CMD3が成功し、MMCがstby状態に移行することを意味していても良いし、CMD1またはCMD7までが完了したことを意味していても良い。
【0056】
状態3でMMCの接続が確定した後は、MMC接続で用いない信号線(UART Reset110、UART I/O112、UART CLK114)に入力があっても無視しても良い。また、UART制御回路150、USB制御回路170への電源供給を停止しても良い。この状態はハードウエアリセットにより状態0に戻しても良い。また、CMD15等により状態1に戻しても良い。
【0057】
処理装置100は状態4に移行すると、ISO7816仕様に基づき通信処理の初期化を開始する。これに失敗した場合、処理装置100は状態1に処理装置100の状態を戻しても良い。また、何度もこの処理が失敗するならば、状態0に戻しても良い。ここで、初期化の成功とは、情報端末からのリセット信号を受け付け、ATRの送信が完了することを意味していても良い。
【0058】
処理装置100が状態2に遷移した場合、処理装置100はUSB接続の初期化(632)及びUART接続の初期化(634)を共に実行可能とする。従って、CPU190はタイムスケジューリング等により、必要ならばこれら両方の処理を同時に実行できることが望ましい。ここで、USB接続の初期化とは、リセット後のバスの選択を経て、Get Descryptorが成功するまでを意味していても良い。
【0059】
USB接続の初期化(632)を実行し、UART接続が未完了かつUSB接続の初期化に成功した場合(636)、信号線(UART Reset110)のCPU190への接続を遮断し、クロック検出回路130を停止し、USB選択をCPU190に通知しても良い。またこれらの処理を、CPU190への通知後にCPU190が行っても良い(640)。この後、処理装置100はUSB選択状態である状態5に遷移する(646)。状態5ではUSBの接続が確定しているため、USB接続で用いない信号線(UART Reset110、UART I/O112、UART CLK114、MMC CLK116)に入力があっても無視しても良い。また、UART制御回路150、MMC制御回路160への電源供給を停止しても良い。この状態はハードウエアリセットにより状態0に戻しても良い。
【0060】
処理(636)において初期化に失敗している場合で両方の初期化が失敗した場合、状態2に戻って初期化を行うか、処理装置100自身がハードウエアリセットを行い状態0に戻して再びIF選択手順を実行しても良い(642)。
【0061】
UART接続の初期化(634)を実行し、UART接続が未完了かつUSB接続の初期化に成功した場合(638)、信号線(DATAまたはD+118)及び信号線(CMDまたはD−120)のCPU190(またはUSB制御回路170)への接続を遮断し、クロック検出回路130を停止し、UART選択をCPU190に通知しても良い。また、これらの処理を通知後にCPU190が行っても良い(644)。ここで、UART制御回路150及びCPU190の動作のためのクロックは、UART CLK114から入力されたクロックを用いても良いし、USB起動時に内部クロック発生回路165により発生させたクロックを用いても良い。ただし、状態2は信号線(118)及び信号線(120)が情報端末でプルダウン接続されている場合にとる状態であるため、CPU190の動作に内部クロックを用いることは問題にならない。USB接続が想定されていない端末では、これらの端子は接続されないためである。
【0062】
この後、処理装置100はUART選択状態である状態4に遷移する(650)。状態4ではUARTの接続が確定しているため、UART接続で用いない信号線(MMC CLK116、DATAまたはD+118、CMDまたはD−120)に入力があっても無視しても良い。また、USB制御回路170、MMC制御回路160への電源供給を停止しても良い。この状態はハードウエアリセットにより状態0に戻しても良い。
【0063】
処理(638)において初期化に失敗している場合で両方の初期化が失敗した場合、状態2に戻って初期化を行うか、処理装置100自身がハードウエアリセットを行い状態0に戻して再びIF選択手順を実行しても良い(642)。
【0064】
図9は、図1の構成に対して、ISO14443に基づくような非接触IF制御回路180を追加した処理装置の内部構成を表している。ここで、非接触IF回路180は、情報端末からの電源供給を受けて、内部クロックを発生させ、無線通信を行うアナログ回路と、コマンド及びデータ転送を処理するデジタル回路とを合わせた回路を指している。非接触IF制御回路180は、図5及び図6の手順とは独立に動作しても良い。この場合、非接触IF制御回路180からのデータ出力は、CPU190にデータを転送するデータバスに接続される。CPU190は、非接触IF制御回路180からのデータ転送要求があることを割り込みにより知っても良い。
【0065】
電源に関しては、CPU190が情報端末からVCC122で電力の供給を受けている場合と、非接触IFで供給を受けている場合が考えられる。この場合、非接触IF制御回路180の動作は、非接触IFから得た電力で動作し、その他の部分の動作はVCC122から得た電力で動作しても良い。ただし、VCC122から電力が得られない場合、非接触IFから供給を受けた電力でCPU190を動作させても良い。この切り替えを行う回路が電源選択回路182である。
【0066】
クロックに対しては、CPU190が情報端末から入力されたUART CLK114で動作している場合と、内部クロック生成回路165で生成されたクロックで動作している場合と、クロック入力が停止している場合が考えられる。UART処理が選択されている場合は、非接触IFを動作させないこととし、CPUを動作させた処理を行わなくても良い。こういった処理装置100のために、これ以外の場合は、内部クロック生成回路165のクロックを用いてCPU190を動作させても良い。内部クロック生成回路165が動作していない場合は、非接触IFから供給を受けた電力で動作させても良い。
【0067】
以上説明したように、本実施の形態によれば、UART制御回路150、MMC制御回路160、USB制御回路170、CPU190などに加え、クロック検出回路130、電位検出回路135、電位検出回路140、さらに非接触IF制御回路180などを有することで、情報端末が、ISO7816、USB、MMC、さらにISO14443の通信IFのどれかで処理装置100との通信を試みるとき、情報端末が各IFの仕様で定められた通信処理を行う中で、処理装置100はその処理を判別し、情報端末が指定した一つの通信IFでの通信を可能とすることができる。
【0068】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【0069】
本発明は、複数のIFで端子を共有する処理装置に関し、特に、ISO7816、USB、MMC、さらにISO14443等のような通信IFの通信処理を判別し、情報端末が指定した一つの通信IFでの通信を可能とするIF切り替え機能付き処理装置に利用可能である。
【図面の簡単な説明】
【0070】
【図1】本発明の一実施の形態による処理装置の内部構成の一例を表す図である。
【図2】本発明の一実施の形態において、MMCホスト端末と処理装置の接続を表す図である。
【図3】本発明の一実施の形態において、USBホスト端末と処理装置の接続を表す図である。
【図4】本発明の一実施の形態において、UARTホスト端末と処理装置の接続を表す図である。
【図5】本発明の一実施の形態において、情報端末からの操作に基づいた処理装置内部の状態変化を表したフローチャートである。
【図6】本発明の一実施の形態において、情報端末からの操作に基づいた処理装置内部の状態変化(図5に続く)を表したフローチャートである。
【図7】本発明の一実施の形態において、電位検出回路の動作(a)(b)を表すタイミングチャートである。
【図8】本発明の一実施の形態において、電位検出回路、クロック検出回路の内部構成例(a)(b)(c)を表す図である。
【図9】本発明の一実施の形態において、非接触IF制御回路を追加した処理装置の内部構成を表す図である。
【符号の説明】
【0071】
100…処理装置、110…UART Reset、112…UART I/O、114…UART CLK、116…MMC CLK、118…DATAまたはD+、120…CMDまたはD−、122…VCC、124…GND、130…クロック検出回路、135…電位検出回路、140…電位検出回路、150…UART制御回路、160…MMC制御回路、165…内部クロック生成回路、170…USB制御回路、175…内部クロック生成回路、180…非接触IF制御回路、182…電源選択回路、190…CPU、200…MMCホスト端末、210…MMC制御回路、300…USBホスト端末、310…USB制御回路、400…UARTホスト端末、410…UART制御回路。

【特許請求の範囲】
【請求項1】
ICカード機能を有する処理装置であって、
電源電圧を供給する第1の端子と、リセット信号を入力するための第2の端子と、前記処理装置が有する第1のデータ通信方式を利用するためクロック信号を入力するための第3の端子と、前記処理装置が有するその他のデータ通信方式でデータ入出力を行うための第4の端子と、信号接地のための第5の端子と、前記処理装置が有する前記その他のデータ通信方式でのデータ入出力を行う際に利用するクロック信号を入力する第6の端子と、前記処理装置が有する前記第1のデータ通信方式でデータ入出力を行うための第7の端子と、前記処理装置が有する前記その他のデータ通信方式でデータ入出力を行うための第8の端子とを有し、
前記その他のデータ通信方式として、接続されたホスト端末との接続バスにおいて、初期状態の電位差が異なる2つのデータ通信方式を利用可能とする際に、
前記第1の端子と前記第5の端子間の第1の電位差を検出し、前記第1の電位差が第1の定数値に達した場合に前記処理装置内の各回路に電力を供給する第1の検出回路と、
前記第4の端子と前記第5の端子間の第2の電位差及び、前記第8の端子と前記第5の端子間の第3の電位差を検出し、前記第2の電位差と前記第3の電位差が共に第2の定数値に達した場合に第2のデータ通信方式を動作させ、前記第2の電位差と前記第3の電位差が共に第2の定数値に達しない場合に第3のデータ通信方式を動作させる第2の検出回路と、
前記第3の端子と前記第6の端子のどちらにクロック信号が入ったかを検出し、前記第3の端子にクロック信号が入った場合は前記第1のデータ通信方式を動作させ、前記第6の端子にクロック信号が入った場合は前記第2または第3のデータ通信方式を動作させる第3の検出回路とを有することを特徴とする処理装置。
【請求項2】
請求項1に記載の処理装置において、
前記第1の検出回路は、入力される電力レベルが複数ある場合に、必要に応じて電圧の昇圧または降圧を行い、前記各回路へ供給する電圧レベルを一定にすることを特徴とする処理装置。
【請求項3】
請求項1に記載の処理装置において、
前記第2の検出回路は、前記第4の端子と前記第8の端子をプルアップ回路に接続し、前記処理装置を接続するホスト端末が前記第4の端子と前記第8の端子を接続しない場合に、前記第2の電位差と前記第3の電位差が共に前記第2の定数値に達したと判断させることを特徴とする処理装置。
【請求項4】
請求項1に記載の処理装置において、
前記第2の検出回路は、動作させる制御回路が決定した場合に、ハードウエアリセットが行われるまで、それ以降の判断を行わないことを特徴とする処理装置。
【請求項5】
請求項1に記載の処理装置において、
前記第2の検出回路は、前記第4の端子または前記第8の端子のどちらか一方の電位差だけで判断することを特徴とする処理装置。
【請求項6】
請求項1に記載の処理装置において、
前記第3の検出回路は、初期状態で前記第3の端子からのクロック信号の入力が有効になっていることを特徴とする処理装置。
【請求項7】
請求項1に記載の処理装置において、
前記第3の検出回路は、回路の起動のタイミングが前記第2の検出回路よりも遅いことを特徴とする処理装置。
【請求項8】
請求項1に記載の処理装置において、
前記第3の検出回路は、前記第3の端子にクロック信号が入った場合は前記第3の端子からのクロック信号をCPUに入力し、前記第6の端子にクロック信号が入った場合は内部生成したクロック信号をCPUに入力することを特徴とする処理装置。
【請求項9】
請求項1に記載の処理装置において、
前記第3の検出回路は、前記第3のデータ通信方式または前記第2のデータ通信方式の動作で初期化処理が完了しなかった場合に、再び前記第2の検出回路による選択を再実施させることを特徴とする処理装置。
【請求項10】
請求項1に記載の処理装置において、
前記第3の検出回路は、前記第6の端子へのクロック信号の入力により前記第2のデータ通信方式の動作において初期化処理が完了しないうちにクロック信号が停止した場合に、再び前記第2の検出回路による選択を再実施させることを特徴とする処理装置。
【請求項11】
ICカード機能を有する処理装置であって、
電源電圧を供給する第1の端子と、リセット信号を入力するための第2の端子と、前記処理装置が有する第1のデータ通信方式を利用するためクロック信号を入力するための第3の端子と、前記処理装置が有するその他のデータ通信方式でデータ入出力を行うための第4の端子と、信号接地のための第5の端子と、前記処理装置が有する前記その他のデータ通信方式でのデータ入出力を行う際に利用するクロック信号を入力する第6の端子と、前記処理装置が有する前記第1のデータ通信方式でデータ入出力を行うための第7の端子と、前記処理装置が有する前記その他のデータ通信方式でデータ入出力を行うための第8の端子とを有し、
前記その他のデータ通信方式として、接続されたホスト端末との接続バスにおいて、初期状態の電位差が異なる2つのデータ通信方式を利用可能とする際に、
前記第1の端子と前記第5の端子間の第1の電位差を検出し、前記第1の電位差が第1の定数値に達した場合に前記処理装置内の各回路に電力を供給する第1の検出回路と、
前記第4の端子と前記第5の端子間の第2の電位差及び、前記第8の端子と前記第5の端子間の第3の電位差を検出し、前記第2の電位差と前記第3の電位差が共に第2の定数値に達した場合に第2のデータ通信方式を動作させ、前記第2の電位差と前記第3の電位差が共に第2の定数値に達しない場合に第3のデータ通信方式を動作させる第2の検出回路と、
前記第3の端子と前記第6の端子のどちらにクロック信号が入ったかを検出し、前記第3の端子にクロック信号が入った場合は前記第1のデータ通信方式を動作させ、前記第6の端子にクロック信号が入った場合は前記第2または第3のデータ通信方式を動作させる第3の検出回路とを有するものであり、
さらに第4のデータ通信方式を利用する非接触通信回路を有し、
前記非接触通信回路を、前記非接触通信回路から得た電力により動作させ、その他の動作に必要な回路を前記第1の端子と前記第5の端子から得た電力により動作させることを特徴とする処理装置。
【請求項12】
請求項11に記載の処理装置において、
前記処理装置は、前記第1のデータ通信方式が利用されている場合に、処理を行わないことを特徴とする処理装置。
【請求項13】
ICカード機能を有する処理装置であって、
電源電圧を供給する第1の端子と、リセット信号を入力するための第2の端子と、前記処理装置が有する第1のデータ通信方式を利用するためクロック信号を入力するための第3の端子と、前記処理装置が有するその他のデータ通信方式でデータ入出力を行うための第4の端子と、信号接地のための第5の端子と、前記処理装置が有する前記その他のデータ通信方式でのデータ入出力を行う際に利用するクロック信号を入力する第6の端子と、前記処理装置が有する前記第1のデータ通信方式でデータ入出力を行うための第7の端子と、前記処理装置が有する前記その他のデータ通信方式でデータ入出力を行うための第8の端子とを有し、
前記その他のデータ通信方式として、接続されたホスト端末との接続バスにおいて、初期状態の電位差が異なる2つのデータ通信方式を利用可能とする際に、第2のデータ通信方式または第3のデータ通信方式を利用可能とするものであり、
第4のデータ通信方式を利用する非接触通信回路を有し、
前記非接触通信回路を、前記非接触通信回路から得た電力により動作させ、その他の動作に必要な回路を前記第1の端子と前記第5の端子から得た電力により動作させることを特徴とする処理装置。
【請求項14】
請求項13に記載の処理装置において、
前記処理装置は、前記第1のデータ通信方式が利用されている場合に、処理を行わないことを特徴とする処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2008−129836(P2008−129836A)
【公開日】平成20年6月5日(2008.6.5)
【国際特許分類】
【出願番号】特願2006−313831(P2006−313831)
【出願日】平成18年11月21日(2006.11.21)
【出願人】(503121103)株式会社ルネサステクノロジ (4,790)
【Fターム(参考)】