JP6178060B2 - 情報処理装置およびデータ通信方法 - Google Patents

情報処理装置およびデータ通信方法 Download PDF

Info

Publication number
JP6178060B2
JP6178060B2 JP2012212213A JP2012212213A JP6178060B2 JP 6178060 B2 JP6178060 B2 JP 6178060B2 JP 2012212213 A JP2012212213 A JP 2012212213A JP 2012212213 A JP2012212213 A JP 2012212213A JP 6178060 B2 JP6178060 B2 JP 6178060B2
Authority
JP
Japan
Prior art keywords
signal line
slave device
data
master device
clock signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012212213A
Other languages
English (en)
Other versions
JP2014067230A (ja
Inventor
勉 馬場
勉 馬場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nidec Sankyo Corp
Original Assignee
Nidec Sankyo Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nidec Sankyo Corp filed Critical Nidec Sankyo Corp
Priority to JP2012212213A priority Critical patent/JP6178060B2/ja
Priority to US13/969,945 priority patent/US9495315B2/en
Publication of JP2014067230A publication Critical patent/JP2014067230A/ja
Application granted granted Critical
Publication of JP6178060B2 publication Critical patent/JP6178060B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/12Plc mp multi processor system
    • G05B2219/1215Master slave system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2231Master slave
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、マスタデバイスとスレーブデバイスが、クロック信号線とデータ信号線の2種類の信号線により接続されてデータ通信を所定の通信方式で行う情報処理装置およびデータ通信方法に関する。
マスタデバイスとスレーブデバイスが、クロック信号線とデータ信号線の2種類の信号線を介して行うデータ通信としては、例えば、フィリップス社によりバス仕様が提案されて実用化されているIC(Inter-Integrated Circuitの略でI-squared-Cと呼称)通信が知られる。
C通信によりアクセスが可能となるIC、例えばEEPROMなどが広く製造・販売されている。このようにIC通信規格に準拠したICをICデバイスと呼ぶ。
Cデバイスとしての、1つのマスタデバイスと複数のスレーブデバイスが、クロック信号線とデータ信号線接続された構成を有する装置が知られる(例えば、特許文献1の図5参照)。クロック信号線とデータ信号線は、抵抗を介して電源電圧に電位がプルアップされる。データ信号やクロック信号を含む全ての信号は、このハイレベルの信号線レベルを適宜、ローレベルに低下させることで生成される。
C通信では、コマンド、データ等の情報は、バイト(8ビット)単位でマスタデバイスからスレーブデバイスに送信される。また、アドレスは、例えば7ビットまたは10ビットで送信される。
マスタデバイスからスレーブデバイスに1バイトの情報を送信し、これを受けたスレーブデバイスが、バイトごとに添付されるアクノリッジ信号を返すと、これを受信したマスタデバイスが次のバイトを送信し、この一連の動作が通信終了まで繰り返される。
C通信では、通信の開始/終了、アドレス指定、データ送受信の向き(マスタ側からみたデータの書き込み又は読み出しの制御)、アクノリッジ信号の生成、クロックの生成と送出の全てはマスタデバイスで制御される。
但し、スレーブデバイスがデータバイトを受信できなくなった場合、あるいは内部処理によりデータ受信を遅らせたいときは、スレーブデバイスが、アクノリッジ信号を返さない、あるいはクロック信号線を強制的にローにするという権限がスレーブデバイスに与えられている。
このようにして、IC通信では、スレーブデバイスがデータ受信中に誤動作することなく情報の受信が可能な仕組みが規格化されている。
特表2006−090473号公報
しかしながら、マスタデバイスがスレーブデバイスをリセットした後、あるいは電源投入後に、スレーブデバイスを初期状態に戻す必要が生じた場合、その初期化処理に起因した誤動作防止の仕組みは、ICに規定されていない。
このため、マスタデバイスはスレーブデバイスに何らかの手段でリセットをかけた後、ICデバイスが通信可能な状態になっているか否かを確認するすベがない。
したがって、マスタデバイスは、リセット後、ある一定時間経過したらスレーブデバイスにアクセスするという方法をとるしかない。
ここで、マスタデバイスがリセット信号を送った後に、上記一定時間を待たずにスレーブデバイスにアクセスしたとする。この場合、適切なアクセスができないため、スレーブデバイスが誤作動する可能性がある。上記一定時間については、回路の溝成により、最小限必要な時間が異なる。そのため、スレーブデバイスの再起動のための待ち時間は、実際の装置ができあがってから実測値を元に設定しなければならないという不都合がある。また、誤動作を防止するには、必要最小限の時間にマージンを加えて上記一定時間を設定するため、無駄な待ち時間が発生することを回避できない。
本発明は、リセット後または電源オン後の通信開始までの待ち時間を必要最小限にした情報処理装置とデータ通信方法を提供するものである。
本発明の第1の観点に関わる情報処理装置は、クロック信号線およびデータ信号線の2種類の信号線によって接続されたマスタデバイスと少なくとも1つのスレーブデバイスとを有し、前記マスタデバイスと前記スレーブデバイスとの間で前記2種類の信号線を用いて所定の通信方式でデータを伝送する情報処理装置であって、前記マスタデバイスが前記スレーブデバイスにリセットをかけ、または、前記マスタデバイスおよび前記スレーブデバイスの電源がオンされると、前記スレーブデバイスは、起動を開始し、前記クロック信号線と前記データ信号線の少なくとも一方から、前記クロック信号線の接続端子と前記データ信号線の接続端子の少なくとも一方の端子のハイレベル/ローレベルをもって前記マスタデバイスに当該スレーブデバイスの起動状態の通知を行うことが可能で、前記スレーブデバイスは、前記リセット信号を入力し、または、前記電源がオンされたことを検知すると、前記クロック信号線の接続端子と前記データ信号線の接続端子の少なくとも一方が接続されたポートを、前記起動状態の通知を出力する出力ポートに設定し、初期化処理を開始すると、前記出力ポートが設定された接続端子に接続された、前記クロック信号線と前記データ信号線の少なくとも一方の信号レベルを反転させることで、前記初期化処理を開始したことの通知を行い、前記マスタデバイスは、前記信号レベルの反転を監視することで、前記スレーブデバイスが初期化処理を開始したことを検知する。
本発明の第2の観点に関わるデータ通信方法は、クロック信号線およびデータ信号線の2種類の信号線によって接続されたマスタデバイスとスレーブデバイスとが前記2種類の信号線を用いて所定の通信方式でデータを伝送するデータ通信方法であって、前記マスタデバイスが前記スレーブデバイスにリセットをかけ、または、前記マスタデバイスおよび前記スレーブデバイスの電源がオンされると、前記スレーブデバイスが起動を開始するステップと、前記スレーブデバイスが起動時の初期化処理を開始し、前記クロック信号線と前記データ信号線の少なくとも一方から、前記クロック信号線の接続端子と前記データ信号線の接続端子の少なくとも一方の端子のハイレベル/ローレベルをもって前記マスタデバイスに当該スレーブデバイスの起動状態の通知を行うステップと、前記起動状態の通知により、前記スレーブデバイスで前記初期化処理が完了したことを前記マスタデバイスが検知すると、前記マスタデバイスは、前記データ信号線が接続されたポートを出力ポートに設定してデータ通信の開始が可能な状態とするステップと、を含み、前記スレーブデバイスが、前記リセット信号を入力し、または、前記電源がオンされたことを検知すると、前記クロック信号線の接続端子と前記データ信号線の接続端子の少なくとも一方が接続されたポートを、前記起動状態の通知を出力する出力ポートに設定するステップと、前記スレーブデバイスが、初期化処理を開始すると、前記出力ポートが設定された接続端子に接続された、前記クロック信号線と前記データ信号線の少なくとも一方の信号レベルを反転させることで、前記初期化処理を開始したことの通知を行うステップと、前記マスタデバイスが、前記信号レベルの反転を監視することで、前記スレーブデバイスが初期化処理を開始したことを検知するステップと、を含む。


上記構成によれば、マスタデバイスは、起動状態の通知を受けて、これを基にデータ通信の開始を決定できるため、リセット開始あるいは電源オンからデータ通信の開始時期までの待ち時間が必要最小限になる。
本発明によれば、リセット後または電源オン後の通信開始までの待ち時間を必要最小限にした情報処理装置とデータ通信方法を提供することができる。
ICカードリーダライタを中心としたシステム構成図である。 基板に実装されてICカードリーダライタ内に組み込まれたセキュアMPUとメインCPUの接続図である。 C通信を行うメインCPUとセキュアMPUの入出力ポート構成を示す図である。 C通信時における、データ信号、アクノリッジ信号およびクロック信号の波形図である。 リセット時の処理ステップを時間軸上で並べて示す図である。 図5の処理のうち、メインCPUが実行する処理のフローチャートである。 図5の処理のうち、セキュアMPUが実行する処理のフローチャートである。
本発明の実施形態を、「情報処理装置」がICカードリーダライタの場合を例として、図面を参照して説明する。
<1.第1の実施の形態>
[全体構成]
図1に、実施の形態に関わる「情報処理装置」としてのICカードリーダライタを中心とした全体構成(システム構成)を示す。
図1に図解したシステムは、ICカードリーダライタ1、上位装置2、およびICカード300を有して構成される。
上位装置2は、ICカードリーダライタ1が内蔵される装置であり、使用用途に応じた機能を実行するときにICカードの情報を利用する装置である。上位装置2として、キャッシュディスペンサ、券売機、自動販売機等を例示できる。
ICカードリーダライタ1は、2種類の信号線を有する簡単な構造の双方向性バスに、各機能ブロックが接続された構成を有する。双方向性バスとして、例えばICバスが採用されている。
Cバスは、クロック信号線SCLおよびデータ信号線SDAの2種類の信号線を備え、それぞれの信号線がプルアップ抵抗Rpを介して電源電圧VDDの供給線に接続されている。電源電圧VDDは、ICカードリーダライタ1に内蔵された電源回路16から供給される。
ICカードリーダライタ1は、「マスタデバイス(MD)」としてのメインCPU11と、少なくとも1つのスレーブデバイス(SD)12−1〜12−nを有する。また、ICカードリーダライタ1は、上位装置インターフェイス(上位装置I/F13)、カードインターフェイス(カードI/F14)、クロック信号を発生する手段(例えばPLL(Phase-locked loop)回路15)、および電源回路16を有する。ここでメインCPU11は、「メイン処理装置」の一例である。
上位装置I/F13は、上位装置2からICカードリーダライタ1へ送られた信号を所定レベルの信号に変換し、それをメインCPU11に転送する機能を有する。また、上位装置I/F13は、メインCPU11からの信号を逆変換して、逆変換後の信号を上位装置2へ転送する。上位装置2とICカードリーダライタ1の間の通信規約を定める規格は、USBやRS232C等が一般的である。
カードI/F14は、メインCPU11からの信号を、ICカード300に応じた電圧レベルの信号に変換し、ICカード300に送信する。また、ICカード300から受信した信号を、所定レベルの信号に逆変換し、それをメインCPU11に伝える機能を有する。
ICカードリーダライタ1とICカード300間の通信は、所定の通信規約に基づいて実行される。
ICカードリーダライタ1のカードI/F14は、ICカード300のカード差し込み口(スロット等)を有する。
ICカード300は、所定の規約で端子の寸法と位置が規定され、一方のカード面に接触端子群が露出して形成されている。
ICカード300の端子301の配置に対応して、カードI/F14のスロット内に接続端子141が設けられる。このためICカード300をスロットに挿入すると、ICカード300の端子301が接続端子141に1対1で接続される。
図1に示すように、クロック信号線SCLおよびデータ信号線SDAに対し、「マスタデバイス(MD)」としてのメインCPU11と、少なくとも1つのスレーブデバイス(SD)12−1〜12−nが接続されている。ここで図示の便宜上、図1には、スレーブデバイス(SD)12−1,12−2,…,12−nが図示されている。但し、n=1の場合、スレーブデバイス12−1のみの構成となり、n=2の場合、スレーブデバイス(SD)12−1と12−2を有する構成となる。
図1に示す構成例では、メインCPU11に、上位装置I/F13、カードI/F14、PLL回路15及び電源回路16が接続されている。
但し、上位装置I/F13、カードI/F14、PLL回路15及び電源回路16の全てを、スレーブデバイス(SD)として、データ信号線SDAとクロック信号線SCLに接続させる構成も採用できる。あるいは、例えば電源回路16といった特定の回路はメインCPU11に直接接続し、他の回路をスレーブデバイス(SD)とすることも可能である。
なお、上位装置I/F13とカードI/F14は、メインCPU11のオンチップ・インターフェイスとして実現してもよく、この場合、上位装置I/F13とカードI/F14はブロック構成上、省略される。
メインCPU11は、ROM、RAM等を含む記憶部111を備える。ROM内に、ICカードリーダライタ1の動作プログラムや初期値、パラメータなどを格納する。RAMが、メインCPU11のワーキングエリアとして機能する。また、スレーブデバイス(SD)を識別する、7ビットまたは10ビットのアドレスが、RAM内に書き換え可能に格納される。
メインCPU11は、これに接続された上位装置I/F13、カードI/F14、PLL回路15、電源回路16、ならびに図示を省略した操作部等を統括して制御する。また、メインCPU11は、IC通信のマスタデバイス(MD)として機能する。
本実施形態においては、スレーブデバイス(SD)12−1〜nは、その少なくとも1つが、MPU(Micro-Processing Unit)等の起動時の処理に時間を要するデバイスである。MPUもROMやRAM等を含む記憶部を有し、これに自身のアドレスが格納されている。
ここで、MPUは「サブ処理装置」の一例である。MPUは、メインCPU11の制御により実行されるICカードリーダライタの機能に対し、当該機能を変更し、または他の機能を追加する制御を行うデバイスである。
このため、図1に図解するICカードリーダライタ1は、IC通信の規格に準拠したMPUを必要に応じて追加することにより、ICカードリーダライタ1の機能を追加し、あるいは変更することができる。このため、ICカードリーダライタ1は、簡素な構成で汎用性が高く、また基本的な部分であるメインCPU、バスおよびI/Fを維持したまま、将来の機能追加に柔軟に対応できる構成を有している。
[データ通信の概略]
ここで、マスタデバイス(MD)とスレーブデバイス(SD)とのデータ通信を、簡単に述べる。
通常、マスタデバイス(MD)からアドレスが指定されたスレーブデバイス(SD)が、マスタデバイス(MD)との通信を許可される。具体的には、マスタデバイス(MD)から、アドレスと、送受信の向きを示すR/Wフラグとを含むコントロール・バイト(CB)が最初に送られ、このアドレスで指定されたスレーブデバイス(SD)のみがマスタデバイス(MD)との通信を許可される。
その後、マスタデバイス(MD)から、コマンドやデータ等の情報を送る場合、この情報は、「単位データ」としてのバイト(8ビット)ごとに、アクノリッジ信号が最後に添付されて送られる。スレーブデバイス(SD)は、各バイトを受け取るごとにアクノリッジ信号を返し、マスタデバイス(MD)がアクノリッジ信号を受けると次のバイトを送出する。そして、この一連の動作を繰り返す。この仕組みで送信可能なバイト数に制限はないが、途中でマスタデバイス(MD)が終了条件を設定するとデータ通信が終了する。
[起動時の処理]
次に、リセット時または電源オン時の処理について、簡単に述べる。
スレーブデバイス(SD)であるMPUは、リセット時または電源がオンされると、そのハードウェアをリセットし、動作プログラム(ソフトウェア)を初期化する初期化処理を、まず実行する。初期化処理の時間は数msec〜数十msecと、MPUの動作プログラムの規模やハードウェア構成に応じて異なっている。
初期化処理の終了を知るための手がかりをマスタデバイス(MD)に知らせるために、スレーブデバイス(SD)が、起動を開始した後に、クロック信号線SCLまたはデータ信号線SDAの少なくとも一方から、マスタデバイス(MD)に起動状態の通知を行う。
この通知は、初期化処理が最終段階に入ったこと、例えばソフトウェアの初期化処理が開始されたことの通知でもよいし、ソフトウェアの初期化処理が終了し、全ての初期化処理が完了したことの通知でもよい。
通知の具体的な態様としては、クロック信号線SCLまたはデータ信号線SDAの信号レベルを、“H(HIGH)”レベル(VDDレベル、以下“H”と表記)の待機状態(プルアップ状態)から“L(LOW)”レベル(例えばGNDレベル、以下“L”と表記)に下げる反転動作と、この反転後にさらに反転させる再反転動作との何れでもよい。
なお、クロック信号線SCLの信号レベルの反転または再反転で通知を行うときに、データ信号線SDAは“H”(VDDレベル)の待機状態(プルアップ状態)である。同様に、データ信号線SDAの反転または再反転で通知を行うときに、クロック信号線SCLは“H”(VDDレベル)の待機状態(プルアップ状態)である。
ところで、IC通信では通常のデータ通信の開始条件として、「クロック信号線SCLの信号レベルが“H”のときにデータ信号線SDAの信号レベルを“H”→“L”とする」と規定されている。また、通常のデータ通信の終了条件として、「クロック信号線SCLの信号レベルが“H”のときにデータ信号線SDAの信号レベルを“L”→“H”とする」と規定されている。
データ信号線SDAの反転または再反転で通知を行う動作は、この開始条件や終了条件と一見すると区別がつかない。
しかし、開始条件や終了条件は、基本的にマスタデバイス(MD)が生成するものであり、通知は、スレーブデバイス(SD)が生成するものである点で異なる。したがって、マスタデバイス(MD)は、自身が開始条件や終了条件を生成していないにもかかわらず、データ信号線SDAの反転または再反転を検出したならば、これをスレーブデバイス(SD)からの「起動状態の通知」であると認識することができる。
また、時期的な観点からも区別ができる。つまり、開始条件や終了条件は、マスタデバイス(MD)がデータ開始可能と判断した後のデータ信号線の電位変化であるが、その前の起動中の期間に開始条件や終了条件と同じ信号線変化を検知したならば、これをスレーブデバイス(SD)からの「起動状態の通知」であると認識することができる。
一方、クロック信号線SCLとデータ信号線SDAの双方を用いて「起動状態の通知」を行なってもよい。
例えば、IC通信では、クロック信号線SCLが“H”の期間中に、データ信号線SDAの電位を変化させることは許可されていない。このことを利用して、クロック信号線SCLの信号レベルが“L”の期間中に、データ信号線SDAの信号レベルを“H→L”に反転させ、さらに“L→H”に再反転させることで「起動状態の通知」を行うことができる。
あるいは、これとは逆に、データ信号線SDAの信号レベルが“L”の期間中に、クロック信号線SCLの信号レベルを“H→L”に反転させ、さらに“L→H”に再反転させることで「起動状態の通知」を行うことができる。
以上のように、「スレーブデバイス(SD)が、クロック信号線SCLとデータ信号線SDAの少なくとも一方を介して、自身の起動状態の通知をマスタデバイス(MD)に対して行う」ことが大きな特徴の一つである。
マスタデバイス(MD)は、以上の何れかの態様をもつ「信号線レベルの反転または再反転」をスレーブデバイス(SD)から受信し、「起動状態の通知」であると認識する。
これにより、マスタデバイス(MD)は、通常のデータ通信を開始可能な時期を知ることができる。具体的に、「起動状態の通知」が「全ての初期化処理の完了」を意味するのであれば、即データ通信の開始が可能である。一方、「起動状態の通知」が「初期化処理の途中の段階(例えば、初期化処理の最終段階の開始)」を知らせるものであれば、あとどれ位待てば全ての初期化処理が完了するかをおおよそ予測することができる。
このように、マスタデバイス(MD)は、全ての初期化処理が完了する時期を通知に基づいて知ることができることから、無駄な待ち時間を極力減らしてスムーズにデータ通信を開始できる。
なお、初期化処理の具体的な内容、通知のタイミングおよび入出力ポートの切り換え等は、より具体的な形態である、以下の第2の実施の形態で述べる。
<2.第2の実施の形態>
上記第1の実施の形態では全体構成の概略を述べたが、第2の実施の形態では、スレーブデバイス(SD)が1つのセキュアMPUであり、ICカードリーダライタのオプション基板にセキュアMPUを実装して追加した場合を具体例として、より詳細に説明する。
Cデバイスは、その製造メーカにより通信のコア(通信実行分)が設計され組み込まれてICとして市販されている。ICデバイスの購入者は、該ICデバイスを基板に実装する。
ICカードリーダライタ1の製造に際し、ICデバイスが実装された基板を、ICカードリーダライタ1内に配置する。つぎに、ICデバイスを、通信相手となるIC、例えばメインCPUとIC通信ができるように接続する。そして、該メインCPUの組み込みソフトウェアによりIC通信プロトコル(通信手順)を組み込み、この手順に従ってICデバイスとアクセスできるようにする。
このような追加溝成をICカードリーダライタ1に組み込むことで、メインCPUが、それ自身では本来持っていない機能を、IC通信が可能なICデバイスによって補うことができる。このため、装置全体としては、より高機能な装置として振る舞うことができる。
[IC通信を行うブロック構成]
図2は、基板に実装されてICカードリーダライタ内に組み込まれたセキュアMPUとメインCPUの接続図である。
「マスタデバイス(MD)」としてのメインCPU11は、カードリーダ制御基板に実装されている。スレーブデバイス(SD)としてのセキュアMPU12は、セキュリティ機能制御基板に実装された状態で、当該ICカードリーダライタ1内に配置されている。メインCPU11とセキュアMPU12のクロック端子Tc同士が、1本のクロック信号線SCLにより相互に接続されている。メインCPU11とセキュアMPU12のデータ端子Td同士が、1本のデータ信号線SDAにより相互に接続されている。
カードリーダ制御基板とセキュリティ機能制御基板とに、電源回路16(図1参照)から電源電圧VDDが供給される。メインCPU11とセキュアMPU12は、電源電圧VDDにより動作する。
セキュアMPU12は、内部メモリへの外部からの不正な読み出し、書き込みを防止するセキュリティ機能を持っており、機密保護に万全な対応が可能に構成されている。例えばICカード300(図1)から読み出した識別情報や個人情報、及び/又は、それらの情報と照合する照合データを、セキュアMPU12に格納して情報漏洩に対する安全性を高めることが可能である。
また、セキュアMPU12が暗号演算デバイスならば、暗号機能を搭載し、外から演算結果等を判別できないようにすることで、情報漏洩に対する安全性を高めた装置を実現できる。
[入出力ポートの構成と動作]
図3に、IC通信を行うメインCPUとセキュアMPUの入出力ポート構成を示す。
メインCPU11とセキュアMPU12のそれぞれは、1つのNMOSトランジスタと1つのバッファ回路からなる入出力ポートを、クロック端子Tcとデータ端子Tdのそれぞれに有している。
メインCPU11のクロック端子Tcに、クロック信号線SCLが接続されている。クロック端子Tcと接地電位の供給線との間に、クロック入出力ポートP11cのNMOSトランジスタNcが接続されている。クロック・バッファ回路BFcは、その入力をクロック端子Tcに接続している。
メインCPU11のデータ端子Tdに、データ信号線SDAが接続されている。データ端子Tdと接地電位の供給線との間に、データ入出力ポートP11dのNMOSトランジスタNdが接続されている。データ・バッファ回路BFdは、その入力をデータ端子Tdに接続している。
セキュアMPU12にも、上記したクロック入出力ポートP11cと同様な構成のクロック入出力ポートP12cがクロック端子Tcに接続して設けられている。また、上記したデータ入出力ポートP11dと同様な構成のデータ入出力ポートP12dがデータ端子Tdに接続して設けられている。
ここで、メインCPU11が「マスタデバイス(MD)」であり、セキュアMPU12が「スレーブデバイス(SD)」であることが基本である。この場合、メインCPU11がPLL回路15(図1)で生成したクロック信号CLK1に同期したデータ通信を主導する。
但し、IC通信ではマルチ・マスタが可能であり、このメインとスレーブの関係は一時的に入れ替わることがある。つまり、セキュアMPU12は、セキュリティ機能制御基板に設けられた不図示のPLL回路からのクロック信号CLK2に同期したデータ通信を主導することができる。この場合、一時的に、セキュアMPU12がマスタデバイス(MD)として機能する。
図3に示すように、クロック入出力ポートP11cのNMOSトランジスタNcのゲートに対し、PLL回路15(図1)で生成しメインCPU11を経由したクロック信号CLK1(OUT)が印加可能となっている。データ入出力ポートP11dのNMOSトランジスタNdのゲートに対し、メインCPU11からのデータ信号DATA1(OUT)が印加可能となっている。
また、上記マルチ・マスタに対応が可能なように、クロック入出力ポートP12cのNMOSトランジスタNcのゲートに対し、不図示のPLL回路で生成しセキュアMPU12を経由したクロック信号CLK2(OUT)が印加可能となっている。データ入出力ポートP12dのNMOSトランジスタNdのゲートに対し、セキュアMPU12からのデータ信号DATA2(OUT)が印加可能となっている。
メインCPU11からクロック信号を送出する場合、そのクロック・バッファ回路BFcの入出力間がハイインピーダンスのオフ状態となり、この状態でNMOSトランジスタNcがオープンドレイン駆動される。これにより、クロック信号CLK1(OUT)がクロック信号線SCLに出力されて伝送される。このようにバッファ回路をオフしてNMOSトランジスタをオープンドレイン駆動する設定を、「出力ポートに設定」と称する。
データ端子Td側の入出力ポートも出力ポートに設定され、クロック信号CLK1(OUT)に内部同期されたデータ信号DATA1(OUT)がデータ信号線SDAに出力されて伝送される。
一方、このときセキュアMPU12側では、2つの入出力ポートが予め、入力ポートに設定されている。ここで「入力ポートに設定」とは、NMOSトランジスタは、そのゲートが“L”に固定でオフ状態(ハイインピーダンス状態)とされ、バッファ回路が入力を受け付けて出力が可能なオン状態となっていることを言う。このため、伝送されてきたクロック信号CLK1(OUT)がセキュアMPU12にクロック信号CLK1(IN)として取り込まれ、また、伝送されてきたデータ信号DATA1(OUT)がセキュアMPU12にデータ信号DATA1(IN)として取り込まれる。
なお、セキュアMPU12からデータ通信する場合は、ポートの設定とクロックおよびデータ信号の伝送の向きが上記と逆となる。
[データ通信の基本]
C通信におけるデータ通信の基本動作を、図4を用いて述べる。
図4(A)に、メインCPU11(図3)が送出するデータ信号DATA1の波形を示す。図4(B)に、セキュアMPU12(図3)がアクノリッジ信号を返す動作の波形を示す。このアクノリッジ信号の応答は、セキュアMPU12側からのデータ信号線レベルの変化であるため、図3のデータ信号DATA2の一種である。図4(C)に、メインCPU11から出力されるクロック信号CLK1の波形を示す。
初期または非通信時の定常状態において、メインCPU11は出力ポート設定となっており、セキュアMPU12は入力ポート設定となっている。
図4に示すように、ICデータ通信の開始条件は、クロック信号線SCLの信号レベル(ここではCLK1)が“H”のときにデータ信号線SDAの信号レベル(ここではDATA1)を“H”→“L”にすることである。なお、セキュアMPU12が何かの理由で出力ポート設定となっている場合、セキュアMPU12は、この開始条件を検知して即座に入力ポートに設定する。
開始条件が送出された後、最初の1バイトデータ(BT1)が、メインCPU11から送出される。8ビットからなるバイトデータにおいて、IC通信では、ビット反転はクロック信号が“L”のときと規定され、クロック信号に同期してデータ送信がなされる。アクノリッジ信号に関し、バイトデータ直後の9番目のクロックパルスをACKパルスとして用いる。セキュアMPU12は、入力したクロック信号CLK1(IN)のクロックパルスを、循環カウンタ等でカウントして9番目のパルスをACKパルスとして認識する。そして、8ビット目のデータ受信直後に、入力ポートから出力ポートへの切り換えを一時的に行なってから、データ信号線SDAの信号レベルを“H”から“L”に一時的に引き下げて、これをアクノリッジ信号の応答としてメインCPU11側に返す。
メインCPU11は、バイトデータ送出後に予め入力ポートへの切り換えを行なっており、アクノリッジ信号の応答があれば、バイトデータがセキュアMPU12で正しく受信されたと認識して、次の2番目のバイトデータ(BT2)を同様にして送出する。セキュアMPU12は、最初のバイトデータを受信した時と同様にして、アクノリッジ信号(ACKパルス)に応答する。
以後、同様に3番目のバイトデータ(BT3)、・・・と繰り返される。そして、最後のバイトデータ(BTx)の送信が終わると、メインCPU11が終了条件を設定することで、当該データ通信が完了する。ここでICデータ通信の終了条件は、クロック信号線SCLの信号レベル(ここではCLK1)が“H”のときにデータ信号線SDAの信号レベル(ここではDATA1)を“L”→“H”にすることである。
セキュアMPU12は、終了条件を検知したら、受信データを用いた内部処理を開始可能となる。
メインCPU11がセキュアMPU12に所定の処理を実行させたい場合は、以下のように動作する。
先ず、メインCPU11からコントロール・バイト(CB)を送る。コントロール・バイトには、スレーブアドレスとデータの書き込みか読み出しかを区別するR/Wフラグが含まれる。セキュアMPU12に処理を実行させるためには、目的の処理に必要なデータをセキュアMPU12に送るという操作になるので、R/WフラグはWriteを指定する。
メインCPU11がセキュアMPU12のスレーブアドレスをコントロール・バイトとして送ることによって、セキュアMPU12はメインCPU11との通信を許可される。メインCPU11は、コントロール・バイトに続くバイトデータとして、命令コードと、当該命令コードの詳細を表すパラメータコードと、処理に必要な他のデータ(処理内容によっては不要)とを、順次送信する。
R/WフラグをセキュアMPU12が検出し、データの書き込み(セキュアMPU12からみたデータ受信)と認識すると、セキュアMPU12は、受信した命令コード、パラメータを元に実施すべき処理を決定し、処理を実施する。なお、上記処理に必要な他のデータが送られてくる場合は、セキュアMPU12は、このデータを取り込んで処理を実施する。
[リセット時の動作]
以上の前提のもと、本実施形態の特徴であるリセット時の動作を含むデータ通信方法を、以下に図面を用いて述べる。なお、電源オン時の動作については、リセット時の動作との相違点を後述する。
図5は、リセット時の処理ステップを時間軸上で並べて示す図である。図6は、図5の処理のうち、メインCPUが実行する処理のフローチャートである。図7は、図5の処理のうち、セキュアMPUが実行する処理のフローチャートである。図5と、図6及び図7とにおいて、共通のステップは同一符号で示す。
なお、図5〜図7は、セキュアMPU12からメインCPU11に伝送される「起動状態の通知」を、クロック信号線SCLを用いて行う場合の処理を例示している。
図5(A)、図5(B)に示すように、先ず、メインCPU11がリセット命令をセキュアMPU12に向けて送信する(ST11)。
このリセット命令の送信は、図4を用いて既に説明したバイトごとの送信方法に従って行われる。したがって、セキュアMPU12は、リセット命令を受信するとアクノリッジ信号(ACKパルス)を返し、メインCPU11が、ACKパルスによってリセット命令が正しく送信されたことを知る。
メインCPU11は、リセット命令の送信後に、図6に示すように、クロック端子Tc側の入出力ポートが「入力ポートに設定」されるように切り換える(ST12)。これにより、通知1の待ち状態となる。ここで、通知1の待ち状態とは、クロック信号線SCLが定常状態の“H(HIGH)”から“L(LOW)”に遷移すること(通知1)を監視する状態である。図6では、ステップST13により、通知1の待ち状態を示す。
一方、セキュアMPU12は、図7に示すように、リセット命令を受信した後(ST21)、ソフトウェアリセット処理を実施するため、ソフトウェアを再起動する(ST22)。ここでソフトウェアの再起動とは、ソフトウェアの実行処理のフローが先頭の初期状態に強制的に戻されることを意味する。これにより各種パラメータ等も初期化され、処理途中で用いていたレジスタ等の一時保管データ等も初期化(例えば消去)される。
続いて、セキュアMPU12は、基本的なハードウェアの初期化処理を実行する(ST23)。例えば、セキュアMPU12が有するオンチップ・インターフェイス(I/F)を初期化し、また、メモリ等がセキュアMPU12に接続されている場合は、動作を停止させてアクセスが可能な待ち状態に初期化する。
ハードウェアの初期化が完了すると、セキュアMPU12は、クロック端子Tc側の入出力ポートが「出力ポートに設定」されるように切り換え(ST24)、通知1を行う(ST25)。これにより、クロック信号線SCLの信号レベルが“H”から“L”に反転し、この信号レベルの反転(通知1)がクロック信号線SCLを伝搬して、メインCPU11に到達する。
図6において通知1の待ち状態にあったメインCPU11は、クロック信号線SCLの信号レベルの反転を検出して通知1があったことを認識すると、ステップST13が「YES」となる。
そのため、フローが次のステップST14に遷移し、ここで通知2としてクロック信号線SCLの信号レベルが再反転(“L”→“H”)することの待ち状態となる。
一方、説明を図7に戻すと、セキュアMPU12は、通知1を出力した後(ST25)、ソフトウェアの初期化処理を実行する。この処理は、ソフトウェアの先頭からICプロトコルを、IC通信が可能な段階まで実行することを意味する。
ソフトウェアの初期化処理が終了すると、セキュアMPU12は、出力ポートが設定されているクロック端子Tcから、通知2(クロック信号線SCLの信号レベルの“L”から“H”への再反転)を出力する(ST27)。
図6において通知2の待ち状態にあったメインCPU11は、クロック信号線SCLの信号レベルの再反転を検出して通知2があったことを認識すると、ステップST14が「YES」となる。
そのため、フローが次のステップST15に遷移する。ステップST15では、メインCPU11が、クロック端子Tcおよびデータ端子Td側の各入出力ポートを出力ポートに切り換えて、IC通信の再開の準備を完了させる。リセット時の起動処理自身は、ここで終了する。
その後、メインCPU11は、クロック信号を発振させて、IC通信をメインCPU11が決めた任意のタイミングで再開する。
なお、セキュアMPU12においては、図7に示すように、通知2を出力した後(ST27)、クロック端子Tc側の入出力ポートを入力ポートに切り換えて、リセット時の起動処理を完結させ、メインCPU11が主導するIC通信の受信待ちの状態となる。
C通信は、図4を用いて既に説明した通り、バイトごとに正しい送信が行われたかをACKパルスの返信で確認しながら行うシリアル通信である。
[電源オン時の動作]
電源オン時の動作では、図5及び図6に示すリセット命令送信のステップST11と、図7に示すリセット命令受信のステップST21が存在しない。
ICカードリーダライタ1の電源がオンされると、メインCPU11とセキュアMPU12が同時に起動処理を開始する。
図5において、セキュアMPU12が行う具体的な起動時の処理ステップである、ソフトウェアリセット(再起動)のステップST22、ハードウェア初期化処理のステップST23、およびソフトウェアの初期化処理のステップST26は、メインCPU11においても起動と同時に開始される。
この点以外は、図5〜図7に示し既に説明したリセット時の動作と同じである。
なお、メインCPU11が起動を開始した後に、セキュアMPU12の起動が開始する構成でもよい。例えば、メインCPU11が、クロック信号線SCLのLOW待ちを監視できる状態になってから、セキュアMPU12が起動されるような構成にするとよい。より詳細な例としては、メインCPU11がセキュアMPU12の起動を制御できるような回路構成としておき、メインCPU11が、クロック信号線SCLのLOW待ちを監視できる状態になったところで(ST13)、メインCPU11が回路を操作してセキュアMPU12を起動させるようにすることも可能である。
このように、第2の実施の形態では、通知2(クロック信号線SCLの信号レベルの再反転)に基づいてメインCPU11が通信開始可能とするため、リセットまたは電源オンから通信開始までの無駄な待ち時間をほぼゼロにしてスムーズな通信開始を実現できる。なお、この効果は、第1の実施の形態でも同じである。
次に、上記第1及び第2の実施の形態における変形例を述べる。
[変形例1]
図5〜図7を用いた上記説明では、通知2(クロック信号線SCLの信号レベルの再反転)に基づいてメインCPU11が通信開始可能とする。
これに対し、通知1(クロック信号線SCLの信号レベルの反転)に基づいてメインCPU11が通信開始可能とする変更も可能である。
具体的には、図6に破線で示すフローのように、ステップST13で通知1をメインCPU11が受信すると、ある時間Tを待って(ST14´)から通信開始可能(ST51)としてよい。
図5に示すハードウェア初期化等は、その構成が異なれば時間もばらつくが、ソフトウェア初期化処理(ST26)は、ICプロトコルの通信開始までの実行期間であり、MPUの処理速度が異なる等の影響は多少あるものの、ハードウェア初期化ほど時間的にばらつかない。そのため、通知1の受信から通信開始可能となる時間Tはほぼ正確に予測可能である。このようなリセット処理途中の通知に基づく方法でも、リセット命令から待ち時間を計測する今までの方法よりも、大幅に待ち時間を減らすという利益が得られる。
[変形例2]
第1の実施の形態で述べたと同様、第2の実施の形態でも、データ信号線SDAの信号レベル変化、または、クロック信号線SCLとデータ信号線SDAの信号レベルの組み合わせを、「起動状態の通知」として用いることが可能である。
[変形例3]
第2の実施の形態では、IC通信で送るリセット命令により、セキュアMPU12をソフトウェアリセットさせている。
これに対し、専用のリセットラインを設けて、そのリセットラインをスレーブデバイス(SD)が監視して、リセット要求を受けたと判断したら、ソフトウェアリセットをさせてもよい。
あるいは、専用のリセットラインを設けて、スレーブデバイス(SD)がリセット要求を受けたと判断したら、強制的にハードウェアをリセットさせてもよい。
[変形例4]
C通信が望ましいが、本願開示技術は、その他のシリアル通信においても広く適用できる。IC通信の入出力ポート構成は、図3に示すものに限定されない。トランジスタやバッファ回路は、NMOS構成に限らず、CMOS構成、バイポーラ構成、バイCMOS構成の何れでもよい。
また、情報処理装置としてはICカードリーダライタに限らない。
以上の第1及び第2の実施の形態、ならびに変形例1〜4によれば、以下の効果がある。
第1の実施の形態、および図5〜図7に示した第2の実施の形態に関わるデータ通信方法によれば、リセット後または電源オン後の通信開始までの待ち時間を必要最小限することが可能となる。
この効果は、第1の実施の形態のようにスレーブデバイス(SD)が数多くあり、しかも、そのうちの複数が起動処理に時間を要するMPU等である場合に、より顕著である。
つまり、スレーブデバイス(SD)が数多くあり、MPUが複数の場合、負荷が大きなスレーブデバイスの処理遅延の影響が複雑に他のスレーブデバイスに影響するなどして、最も時間がかかる起動処理時間の見積りが難しい。したがって、通信開始までの待ち時間も非常に大きなマージンを必要とする。このような場合でも、本開示技術の適用によって、最も時間がかかる起動処理時間に応じて通信開始ができるため、マージンをほぼゼロまたは大幅に圧縮することが可能となる。
C通信との組み合わせにおいて、以下の効果がある。
C通信制御に利用するクロック信号線SCLとデータ信号線SDA以外の別のラインを設けることなく、マスタデバイス(MD)がスレーブデバイス(SD)の起動状態を把握することができる。したがって、きわめてシンプルな回路溝成でありながら、スレーブデバイス(SD)との通信に関して信頼性の高いマスタ・スレーブ型の情報処理装置を実現できる。
また、第2の実施の形態では、マスタデバイス(MD)としてのカードリーダのメインCPU11に、セキュリティ機能を実装したセキュアMPU12がスレーブデバイス(SD)としてIC通信で接続されている。
通常、スレーブデバイス(SD)はEEPROMのような出来合いのものが接続されるため、通信ラインの制御やリセット制御に関して変更の余地はない。
しかし、第2の実施形態のように、スレーブデバイス(SD)をMPUとすれば、セキュアMPUのプログラミングを、セキュアMPUのファームウェア設計者が併せて実施できるため、通信ラインの制御やリセット制御に関して柔軟な対応が可能となっている。
このため、IC通信に、通信開始までの待ち時間を必要最小限とする上記データ通信方法を適用することは容易であり、設計変更に要する費用の増加も限定的であるという利益が得られる。
1…ICカードリーダライタ、2…上位装置、11…メインCPU(マスタデバイス)、12…セキュアMPU、12−1〜n…スレーブデバイス、16…電源回路、Tc…クロック端子、Td…データ端子、SCL…クロック信号線、SDA…データ信号線。

Claims (9)

  1. クロック信号線およびデータ信号線の2種類の信号線によって接続されたマスタデバイスと少なくとも1つのスレーブデバイスとを有し、前記マスタデバイスと前記スレーブデバイスとの間で前記2種類の信号線を用いて所定の通信方式でデータを伝送する情報処理装置であって、
    前記マスタデバイスが前記スレーブデバイスにリセットをかけ、または、前記マスタデバイスおよび前記スレーブデバイスの電源がオンされると、前記スレーブデバイスは、起動を開始し、前記クロック信号線と前記データ信号線の少なくとも一方から、前記クロック信号線の接続端子と前記データ信号線の接続端子の少なくとも一方の端子のハイレベル/ローレベルをもって前記マスタデバイスに当該スレーブデバイスの起動状態の通知を行うことが可能で、
    前記スレーブデバイスは、前記リセット信号を入力し、または、前記電源がオンされたことを検知すると、前記クロック信号線の接続端子と前記データ信号線の接続端子の少なくとも一方が接続されたポートを、前記起動状態の通知を出力する出力ポートに設定し、初期化処理を開始すると、前記出力ポートが設定された接続端子に接続された、前記クロック信号線と前記データ信号線の少なくとも一方の信号レベルを反転させることで、前記初期化処理を開始したことの通知を行い、
    前記マスタデバイスは、前記信号レベルの反転を監視することで、前記スレーブデバイスが初期化処理を開始したことを検知する、
    情報処理装置。
  2. 前記所定の通信方式は、
    前記クロック信号線に出力するクロック信号に同期させて所定の単位データを前記マスタデバイスが前記データ信号線に出力し、当該単位データを受信した前記スレーブデバイスが応答信号を前記データ信号線に出力し、当該応答信号を前記マスタデバイスが受信すると、次に伝送すべき所定の単位データを前記マスタデバイスが前記クロック信号に同期させて前記データ信号線に出力する、前記マスタデバイスが主導して行うシリアル通信方式である、
    請求項1に記載の情報処理装置。
  3. 前記スレーブデバイスは、前記マスタデバイスの制御により実行される前記情報処理装置の機能に対し、当該機能を変更し、または他の機能を追加する制御を行うデバイスである、
    請求項1または2に記載の情報処理装置。
  4. 前記情報処理装置は、ICカードリーダライタであり、
    前記マスタデバイスは、ICカードに対し情報の書き込みと読み出しを制御するメイン処理装置であり、
    前記スレーブデバイスは、前記情報の暗号化を実行し、または暗号化された情報を処理するサブ処理装置である、
    請求項1から3の何れか一項に記載の情報処理装置。
  5. 前記スレーブデバイスは、前記初期化処理を完了すると、前記信号レベルを再反転させることで、前記初期化処理が完了したことの通知を行い、
    前記マスタデバイスは、前記信号レベルが反転後に再反転することを監視し、前記スレーブデバイスが前記初期化処理を完了したことを検知する、
    請求項1から4の何れか一項に記載の情報処理装置。
  6. 前記スレーブデバイスは、初期化処理を開始すると、前記出力ポートが設定された接続端子に接続された、前記クロック信号線と前記データ信号線の少なくとも一方の信号レベルを反転させ、初期化処理が完了すると、前記信号レベルを再反転させることで、前記初期化処理が完了したことの通知を行い、
    前記マスタデバイスは、前記信号レベルが反転後に再反転することを監視し、前記スレーブデバイスが初期化処理を完了したことを検知する、
    請求項1から5の何れか一項に記載の情報処理装置。
  7. 前記スレーブデバイスは、前記初期化処理の完了を通知した後に、前記クロック信号線が接続された接続端子と、前記データ信号線が接続された接続端子を、それぞれ入力ポートに設定し、
    前記マスタデバイスは、前記スレーブデバイスが前記初期化処理を完了したことを検知した後に、データ通信の開始条件を前記スレーブデバイスに送信する、
    請求項5または6に記載の情報処理装置。
  8. 前記マスタデバイスが送信する前記データ通信の開始条件は、前記クロック信号線がハイレベルのときに前記データ信号線をローレベルにすることである、
    請求項7に記載の情報処理装置。
  9. クロック信号線およびデータ信号線の2種類の信号線によって接続されたマスタデバイスとスレーブデバイスとが前記2種類の信号線を用いて所定の通信方式でデータを伝送するデータ通信方法であって、
    前記マスタデバイスが前記スレーブデバイスにリセットをかけ、または、前記マスタデバイスおよび前記スレーブデバイスの電源がオンされると、前記スレーブデバイスが起動を開始するステップと、
    前記スレーブデバイスが起動時の初期化処理を開始し、前記クロック信号線と前記データ信号線の少なくとも一方から、前記クロック信号線の接続端子と前記データ信号線の接続端子の少なくとも一方の端子のハイレベル/ローレベルをもって前記マスタデバイスに当該スレーブデバイスの起動状態の通知を行うステップと、
    前記起動状態の通知により、前記スレーブデバイスで前記初期化処理が完了したことを前記マスタデバイスが検知すると、前記マスタデバイスは、前記データ信号線が接続されたポートを出力ポートに設定してデータ通信の開始が可能な状態とするステップと、
    を含み、
    前記スレーブデバイスが、前記リセット信号を入力し、または、前記電源がオンされたことを検知すると、前記クロック信号線の接続端子と前記データ信号線の接続端子の少なくとも一方が接続されたポートを、前記起動状態の通知を出力する出力ポートに設定するステップと、
    前記スレーブデバイスが、初期化処理を開始すると、前記出力ポートが設定された接続端子に接続された、前記クロック信号線と前記データ信号線の少なくとも一方の信号レベルを反転させることで、前記初期化処理を開始したことの通知を行うステップと、
    前記マスタデバイスが、前記信号レベルの反転を監視することで、前記スレーブデバイスが初期化処理を開始したことを検知するステップと、
    を含むデータ通信方法。
JP2012212213A 2012-09-26 2012-09-26 情報処理装置およびデータ通信方法 Expired - Fee Related JP6178060B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012212213A JP6178060B2 (ja) 2012-09-26 2012-09-26 情報処理装置およびデータ通信方法
US13/969,945 US9495315B2 (en) 2012-09-26 2013-08-19 Information processing device and data communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012212213A JP6178060B2 (ja) 2012-09-26 2012-09-26 情報処理装置およびデータ通信方法

Publications (2)

Publication Number Publication Date
JP2014067230A JP2014067230A (ja) 2014-04-17
JP6178060B2 true JP6178060B2 (ja) 2017-08-09

Family

ID=50340052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012212213A Expired - Fee Related JP6178060B2 (ja) 2012-09-26 2012-09-26 情報処理装置およびデータ通信方法

Country Status (2)

Country Link
US (1) US9495315B2 (ja)
JP (1) JP6178060B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8909844B2 (en) * 2012-07-04 2014-12-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Inter-integrated circuit (I2C) multiplexer switching as a function of clock frequency
JP7082311B2 (ja) * 2017-11-08 2022-06-08 株式会社村田製作所 データ通信装置
JP2020004206A (ja) * 2018-06-29 2020-01-09 日本電産サンキョー株式会社 情報処理装置及び情報処理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4728655B2 (ja) * 2005-01-28 2011-07-20 富士通株式会社 装置の復旧方法
JP4801658B2 (ja) 2005-02-25 2011-10-26 富士通オプティカルコンポーネンツ株式会社 データ送信制御方法、及びデータ送信制御装置
JP2008539645A (ja) * 2005-04-29 2008-11-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 状態マシンを用いたi2cスレーブ/マスタインタフェース機能強化
JP2008117346A (ja) * 2006-11-08 2008-05-22 Fuji Xerox Co Ltd 電子装置および画像処理装置
US7536492B2 (en) * 2007-01-23 2009-05-19 International Business Machines Corporation Apparatus, system, and method for automatically resetting an inter-integrated circuit bus
US7761728B2 (en) * 2007-01-23 2010-07-20 International Business Machines Corporation Apparatus, system, and method for resetting an inter-integrated circuit data line with a clock line
JP2009016991A (ja) * 2007-07-02 2009-01-22 Sanyo Electric Co Ltd 復号化処理装置、復号化処理方法及びデジタル放送受信装置
JP4600509B2 (ja) * 2008-04-22 2010-12-15 セイコーエプソン株式会社 送受信システム並びにマスターデバイス
US20110208885A1 (en) * 2010-02-25 2011-08-25 Panasonic Corporation Data bus control method and apparatus
JP2011178069A (ja) * 2010-03-02 2011-09-15 Seiko Epson Corp 印刷装置
JP5425674B2 (ja) * 2010-03-15 2014-02-26 ルネサスエレクトロニクス株式会社 Icカード

Also Published As

Publication number Publication date
US9495315B2 (en) 2016-11-15
JP2014067230A (ja) 2014-04-17
US20140089544A1 (en) 2014-03-27

Similar Documents

Publication Publication Date Title
USRE44270E1 (en) System for providing access of multiple data buffers to a data retaining and processing device
JP4145146B2 (ja) オンチップ・バックグラウンド・デバッグシステムを有するデータ処理システム及びその方法
CN106681953B (zh) 使用i2c总线与主机连接的从机及其通信方法
JP6178060B2 (ja) 情報処理装置およびデータ通信方法
TW202001902A (zh) 在記憶裝置中進行省電控制的方法、相關記憶裝置及其記憶體控制器、以及相關電子裝置
KR100607992B1 (ko) 낸드 플래시 메모리의 동작 상태의 감시를 통해 시스템을부팅하기 위한 방법 및 시스템
TWI646431B (zh) 用於單一導線程式化及除錯之微控制器及方法
US7549009B2 (en) High-speed PCI interface system and a reset method thereof
US10977206B2 (en) Data communication device and method for data communication
JP2006059100A (ja) シリアル通信システム装置
US20080155366A1 (en) Data access method for serial bus
JP6070600B2 (ja) マイクロコンピュータ
TWI753606B (zh) 主從互換式電源供應裝置及其主機、主從互換式電源供應方法及其電腦可讀取記錄媒體
JP3949429B2 (ja) Iicバス制御システム
KR20230013732A (ko) 복수의 전력 관리 집적 회로들을 포함하는 전자 장치 및 그것의 동작 방법
CN111797583A (zh) 引脚复用装置以及控制引脚复用装置的方法
JP2019074820A (ja) メモリ制御装置
WO2022227641A1 (zh) 一种安全保护方法、装置及系统
CN112416677B (zh) 一种具有软关机功能的服务器和软关机方法
CN108984440B (zh) 降低集成电路功耗的方法及其控制电路
US11593284B2 (en) Method for managing an operation for modifying the stored content of a memory device, and corresponding memory device
TWI703441B (zh) 引腳複用裝置以及控制引腳複用裝置的方法
JP2008204005A (ja) 周辺装置の通信方法、コンピュータプログラム、及び周辺装置
CN109086003B (zh) 降低集成电路功耗的方法及其介质接口控制器
KR20070061625A (ko) 멀티-칩 모듈의 마이크로 컨트롤러 유닛, 이를 포함하는멀티-칩 모듈, 및 멀티-칩 모듈의 전원 모드 동기 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150806

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160621

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160822

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170420

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170426

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170713

R150 Certificate of patent or registration of utility model

Ref document number: 6178060

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees