JP2004534322A - 汎用i2cスレーブ送信器/受信器ステートマシン - Google Patents

汎用i2cスレーブ送信器/受信器ステートマシン Download PDF

Info

Publication number
JP2004534322A
JP2004534322A JP2003511112A JP2003511112A JP2004534322A JP 2004534322 A JP2004534322 A JP 2004534322A JP 2003511112 A JP2003511112 A JP 2003511112A JP 2003511112 A JP2003511112 A JP 2003511112A JP 2004534322 A JP2004534322 A JP 2004534322A
Authority
JP
Japan
Prior art keywords
state
data
bus
state machine
machine
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.)
Pending
Application number
JP2003511112A
Other languages
English (en)
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2004534322A publication Critical patent/JP2004534322A/ja
Pending legal-status Critical Current

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
    • 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
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol

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)
  • Communication Control (AREA)
  • Electrotherapy Devices (AREA)
  • Alarm Systems (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
  • Programmable Controllers (AREA)
  • Debugging And Monitoring (AREA)
  • Small-Scale Networks (AREA)

Abstract

Cバスに対するスレーブインタフェイスを制御するためのロバストなステートマシンがもたらされる。ステートマシンは、IC規格のスレーブデバイスプロトコルを施すと共に異常なマスタデバイスの動作からの回復をもたらすように構成される。本発明によれば、スレーブデバイスにおけるステートマシンの状態遷移は、開始状態が検出される場合を除いて、ICバスのSCLラインのマスタデバイス制御によって制御される。前記ステートマシンは、自身の現在の状態にかかわらず、ICバス上の開始状態に非同期に応答して、自身を、知られている状態にするように構成される。開始状態に後続する知られている状態において、スレーブデバイスはICバスへのいかなる送信も終了させる。それによって、バス上において引き続いて起こる干渉が最小限化される。

Description

【技術分野】
【0001】
本発明は、データ通信システムの分野、特にICバスを介して通信を容易にするための方法及びデバイスに関する。
【背景技術】
【0002】
フィリップス(Philips)社によって開発されたインターインテグレイティッドサーキットバス(Inter Integrated Circuit(IC) bus)により、集積回路は単純な双方向2線式(更にグランドも加わる)バスを介して互いに直接通信することが可能になる。デバイスは、バス上の二つの線の各々に接続される。一方(SDA)はデータの通信のためのものであり、他方(SCL)はデバイス間のデータの通信の同期及び制御のためのものである。各々のデバイスは他方のデバイスの各々に平行に接続され、バスラインSDA及びSCLの各々は、バス上の全ラインのワイヤードアンド(wired−AND)としての機能を果たす。各々のデバイスの出力部は、オープンコレクタ(open−collector)/オープンドレイン(open−drain)デバイスとして構成されており、バスが動作休止状態(quiescent state)にある間、一つ又はそれより多くのプルアップ抵抗はバス上で‘ソフト’論理ハイ値を保持する。デバイスがバスへのアクセスを要求するとき、デバイスは、グランド電位への導通状態に置かされるオープンコレクタ/オープンドレインを介してバスを論理ロー値に引き下げる。
【0003】
Cバスに接続されている各々のデバイスは、固有のアドレス(unique addres)によって特定されることが可能であり、送信器若しくは受信器の何れか、又はその両方として動作することが可能である。データ転送は、マスタスレーブプロトコル(master−slave protocol)を使用して行われる。マスタは、データ転送を初期化すると共に前記転送を可能にするクロック信号を生成するデバイスであり、アドレスされる何れのデバイスも当該転送のためのスレーブと認識される。データ転送は、スレーブにデータを送信(書き込み)するか、又はスレーブからデータを要求(読み出し)するマスタによって初期化され得る。特定のデバイスは、マスタ若しくはスレーブ又はその両方の何れかとして動作し得る。例えば、ディスプレイスクリーンのような出力デバイスは、通常データ転送を初期化することができず、それ故にスレーブデバイスとしてのみ動作するように構成されるであろう。他方マイクロプロセッサは通常、状況に応じてマスタ又はスレーブの何れかとして動作するように構成されるであろう。
【0004】
動作休止状態において、SDAとSCLとの両方のバスラインは論理ハイ状態(“ハイ”)にある。マスタは、SCLラインがハイになっている間、SDAライン上の論理ロー状態(“low”)への遷移を活性化させることによってデータ転送を初期化する。これは開始状態(START condition)と称される。その後、マスタはデータ転送の同期を制御するためにSCLラインを切り換える(toggle)。SCLクロックがローのとき、データ値の変化がSDAライン上でもたらされ、SCLクロックがハイのときにのみ、SDAラインの状態が有効と認識される。同じ転送セッション内で一連のデータ転送を行うために複数の開始コマンド(START)が活性化され得る。通常、各々のデータ転送は、データ転送の、アドレスされた受信器(recipient)からの通知(acknowledgement)を要求する。データ転送を終了させるためにホストは、SCLクロックがハイの間、SDAライン上のローからハイへの遷移を活性化させる。これは終了状態(STOP condition)と称される。その後上記のように、何れかのデバイスが、SDAライン上のハイからローへの遷移を活性化させることによって、マスタとしてバスの制御を行ってもよい。各々の参照に対して用語活性化はこの場合、特定された論理状態をもたらすために、又はもたらそうとするために使用されることは注意されるべきである。論理ハイ状態への遷移の例において、これは活性化デバイスによる強制プルダウン(forced pull−down)状態からのバスの開放(リリース(release))によって通常もたらされる。この論理ハイ状態の活性化によりバス上の前述のプルアップデバイスは、他のデバイスもプルダウン状態を強制するまで、バスを論理ハイ状態にさせることが可能になる。
【0005】
Cデータ転送の通常のフォーマットが図1に示されている。当該図において、ICバスを形成するSCLライン及びSDAライン上の信号が示されている。一つ又は複数の開始状態は、SCLラインがハイの間、SDAライン上の信号のハイからローへの遷移に対応して110において示されている。開始の後、ホストは、読み出し/書き込み否定インジケータ(read/write−not indicator)130によって後続される、名目上7ビットのアドレス120を送信する。アドレス120を送信し、データ転送(R/W−)130を方向付けた後、ホストはSDAラインを開放する。それによって、当該ラインは論理ハイレベルに上げられ得る。スレーブデバイスが自身のアドレスを認識する場合、スレーブデバイスは、バスをローに引くことによって通知信号(ACK)(acknowledge signal)140を送信する。ホストがSDAラインを開放するときにロー信号が存在しないことにより、非通知(NAK(non−acknowledgement))が示される。140におけるローを介してアドレス120が通知される場合、送信デバイスはデータ150を送信する。データ転送の方向がホストに対して“読み出し”となっている場合、スレーブデバイスが送信デバイスとなり、前記方向がホストに対して“書き込み”となっている場合、マスタデバイスが送信デバイスとなる。送信デバイスはSDAラインの制御を開放し、受信デバイスは、160においてSDAライン上の論理ロー値を活性化させることによってデータ150の受信を通知する。データが通知されると、送信器は更なるデータ170を送信する。180において示されているように、データの全部が通信されるまで、又は送信されたデータアイテム(data item)(データ要素)が非通知になるまで、このプロセスは継続される。マスタは、その後開始信号(図示略)を再活性化させると共に上記のプロセスを繰り返しことが可能であり、又は終了信号(P)190を活性化させて当該データ転送セッションを終了させることが可能である。
【0006】
上記のインタフェイスプロトコルは様々な態様で実現され得る。ICインタフェイスを設計又はプログラミングするための開発期間を最短化するために、様々な汎用インタフェイス方式が公開されてきた。ニューメキシコ大学の1999年のAmrita Deshpande氏の修士論文「インタインテグレイティッド回路又はICバスマスタ・スレーブインタフェイスの(レジスタ転送レベル(RTLレベル(register transfer level))の)挙動モデルの設計(DESIGN OF A BEHAVORIAL(REGISTER TRANSFER LEVEL,RTL)MODEL OF THE INTER−INTEGRATED CIRCUIT OR IC−BUS MASTER−SLAVE INTERFACE)」は、ICデバイスにおいて具現化されることを目的とすると共に本明細書に参照によって取り入れられているICマスタインタフェイス及びスレーブインタフェイスを開示している。正しいことが確認されたICインタフェイスをもたらすことによって、システム設計者はICの規格及びプロトコルの詳細を扱う必要がない。当該論文のマスタとスレーブとの両方のインタフェイスはステートマシン(状態機械)(state machine)に基づいている。
【0007】
参照された論文のICスレーブプロトコルに対応する状態図(state−diagram)200が図2に示されている。状態図200は、六つの状態A乃至Fを有しており、状態遷移は、マスタからのSCLクロック信号のアクティブエッジ(active edge)(0から1への遷移(0−to−1 transition))において行われている。すなわちIC規格に従って、マスタは、SCLクロックラインを制御することによってバス上の動作の同期及びシーケンスを制御する。スレーブデバイスはマスタデバイスと同期して動作しなければならないので、SDAライン上の遷移は、SCLラインがローである間にのみ発生すると共に、SCLライン上のハイ状態の期間に、有効なデータがSDAライン上にもたらされる。
【0008】
リセット信号、通常パワーオンリセット(power−on reset)は、インタフェイスに状態A、すなわちアイドル状態をもたらす。開始状態が検出されると、インタフェイスは、当該インタフェイスが前述(図1)のアドレス120及びデータ方向(data−direction)130の情報をホストから受信する状態Bに入る。受信されたスレーブアドレスが、特定のインタフェイス200に関係するアドレスと一致しない場合、インタフェイスはアイドル状態Aに戻る。データ方向130の情報が読み出しの場合、インタフェイスは状態Cに入る。又は、データ方向130の情報が書き込みの場合、インタフェイスは状態Eに入る。インタフェイスが状態C又は状態Eに入る場合、当該インタフェイスは自身のアドレス及びデータ方向の受信を通知すると共に、要求された読み出し又は書き込み動作のためのインタフェイスを準備する。上記のように、読み出し及び書き込み方向はマスタデバイスに関係している。それ故にスレーブデバイスにおいて読み出しは、スレーブが、読み出しのためにマスタにデータを送信するための要求に対応し、書き込みは、スレーブがマスタから書き込まれるデータを受信するための要求に対応する。
【0009】
状態Cにおいて、マスタに送信されるべきデータがロードされ、インタフェイスは状態Dへ移行する。状態Dにおいてインタフェイスはロードされたデータをマスタに送信する。マスタがデータの受信を通知する場合、インタフェイスは状態Cに再び入る。又はインタフェイスは状態Aに再び入り、他の開始状態を待つ。通常マスタは、最後に所望されたデータアイテムが受信されると、非通知信号(NAK)をスレーブに通信することによって受信されるデータ量を制御する。それによって、スレーブはアイドル状態Aに戻される。
【0010】
状態Eにおいて、受信データが記憶されるべき位置(location)は消去され、インタフェイスは状態Fに移行する。状態Fにおいてインタフェイスはマスタからデータを受信する。各々のデータアイテムを受信した後、インタフェイスは通知信号を送信し、次のデータアイテムを受信するために状態Eに戻る。スレーブデバイスがマスタからデータを受信し得ない場合、当該デバイスはマスタへの非通知信号を活性化させる。それによって、現在のデータ転送セッションが終了され、アイドル状態Aに戻される。マスタが他の開始状態を活性化させる場合、インタフェイスは状態Bに戻る。又はマスタが終了状態を活性化させる場合、インタフェイスはアイドル状態Aに戻って、次の開始状態を待つ。
【0011】
従来技術の状態図200は、ICバス規格を実現しており、それ故に状態図200を具現化するステートマシンを設けることによって、ICデバイスのための標準インタフェイスをもたらし得る。例えばプロセッサ、メモリ素子、及びディスプレイデバイス等のICデバイスの機能素子は、状態Cにおいて送信されるべきデータをステートマシンに供給しさえすればよく、又は状態Eにおいて受信されるべきデータを受信するためのメモリスペース(memory space)をステートマシンに供給しさえすればよい。このように、ICデバイスの機能素子の設計者は、ICバスに対するインタフェイスを実現する詳細について関わる必要がない。参照の容易化のため、用語ステートマシン200は以下、状態図200を具現化するステートマシンを意味するように使用される。
【0012】
従来技術のステートマシン200はICバス規格を実現するが、いくつかの制限事項を有している。上記のようにIC規格は、マスタデバイスがICバス上のタイミングを制御することを要求している。理想的な環境においてよく動作するマスタは、ICバスインタフェイスを施すためにスレーブデバイスおいてステートマシン200を効果的に制御するが、あまりよく動作しないマスタ又は非理想的な環境は、従来技術のステートマシン200の動作を異常停止(ロックアップ(lock−up))させるか、又は当該動作に不利な影響を及ぼす可能性を有すると共に、ことによるとICバス全体の動作に影響を及ぼす可能性を有する。例えば、ステートマシン200が状態D、すなわちデータ送信の状態にある間、マスタにおける問題又は意に反した断線(unintentional disconnect)のためにマスタがSCLラインを切り換えることを中止させる場合、ステートマシン200は状態Dに保持されるであろう。開始状態の活性化を介して他のマスタが新たな転送セッションを初期化し、SCLラインを切り換えると、状態Dにおいて終了する、ステートマシン200は続行されると共に、他のマスタが転送セッションの目的とするスレーブのアドレスを送信している間、次のビットを送信するであろう。その後、ICバスの状態、ステートマシン200の状態、及び他のマスタの状態が不定(indeterminate)となるであろう。他のマスタは干渉及び“バックオフ(back−off)”を認識し得るであろう。しかしながら、当該マスタ又は更に他のマスタが、他の開始信号を活性化した後に通信することを試みると、前記問題が再発するであろう。ステートマシン200が、現在のデータバイトのデータビットの全てを送信し、それから次のアクティブなSCL期間におけるSDAライン上のハイ状態を検出し、更にアイドル状態Aに戻るまで、前記問題はもたらされ続ける。ステートマシンが、自身の最後のデータビットの送信に後続する次のアクティブなSCL期間におけるSDAライン上のロー値を検出する場合、当該ステートマシンはこれを通知信号として認識し、状態Cに再び入り、次のバイトをロードし、各々のSCLの遷移においてこの新たなバイトのビットの各々を送信し続けるであろう。可能性のある問題の他のシナリオは、ステートマシン200が他の状態にある間の、SCLライン上の他の異常の発生に対しても体系的に説明され得る。
【発明の開示】
【発明が解決しようとする課題】
【0013】
本発明の目的は、ICバスに対するインタフェイスをロバストに制御するための装置及び方法を提供することにある。本発明の他の目的は、ICバス上の、不適切な送信及び/又は干渉する送信(interfering transmission)を防止するための装置及び方法を提供することにある。本発明の他の目的は、異常なマスタデバイスの動作後の、ICバス上のスレーブデバイスに対する回復メカニズム(recovery mechanism)を提供することにある。
【課題を解決するための手段】
【0014】
これらの目的及び他の目的は、ICバスインタフェイスを制御するロバストなステートマシンを提供することによって達成される。前記ステートマシンは、IC規格のスレーブデバイスプロトコルを施すと共に異常なマスタデバイスの動作からの回復をもたらすように構成される。本発明によれば、スレーブデバイスにおけるステートマシンの状態遷移は、開始状態が検出される場合を除いて、ICバスのSCLラインのマスタデバイス制御によって制御される。前記ステートマシンは、ICバス上の開始状態に非同期に(asynchronously)応答するように構成され、自身の現在の状態(current state)にかかわらず、ステートマシンを、知られている状態にする。開始状態に後続する知られている状態において、スレーブデバイスはICバスへのいかなる送信も終了させる。それによって、バス上において引き続いて起こる干渉が最小限化される。
【0015】
本発明は、添付図面に関連して例示によって更に詳細に説明される。
【0016】
図面を通して、同じ参照番号及び状態識別子は、類似若しくは対応する特徴又は機能を示している。
【発明を実施するための最良の形態】
【0017】
図3は、本発明によるICバスを介してデータ転送を容易にするステートマシン300の状態図の例を示している。当該ステートマシン300は、図2のステートマシン200と類似の状態A乃至Fを含んでいると共に別個特有の開始状態(start state)Gも含んでいる。状態遷移は、以下注意される場合を除いて、マスタデバイスからのSCLクロック信号によって制御される。
【0018】
本発明によれば、開始状態Gはアイドル状態(idle state)Aと明らかに異なっており、従来のステートマシン200のアドレス状態Bと明らかに異なっている。開始状態Gは、ICバス上で開始状態が検出されるときはいつでも他の何れかの状態から非同期に入力される。すなわち、ステートマシン300はSCLラインのクロックによって制御されるが、開始状態の発生によりこの制御は無効化(override)される。
【0019】
Cバスの通常の動作において、開始状態は、ステートマシンがアイドル状態Aにある間にのみ生成される。しかしながら、マスタデバイスによる異常な動作の可能性、ICバス上にノイズを誘起する遷移、及び他の異常に対処することによって、並びにステートマシン300がアイドル状態Aと異なる状態にある間、開始状態の異常な発生を可能にすることによって、ステートマシン300はこのような異常の効果からの迅速な回復(リカバリ)に対処する。更に、開始状態Gへの遷移が非同期化させられることによって、知られている状態へのステートマシン300の回復は、SCLライン上のマスタデバイスのクロック信号から独立して行われる。
【0020】
従来技術においては普通なことに、ステートマシンは、現在の状態の各々のビットの符号化に対して記憶素子、通常D−フリップフロップ(D−flip−flop)を含んでいる。例えば開始状態の検出に対応する信号を、各々の記憶素子の適切な非同期のセット(SET)又はリセット(RESET)入力部に接続することによって、知られている状態への記憶素子の非同期のセットが行われる。開始状態の検出、すなわちSCLラインがハイになっている間のSDAライン上のハイからローへの遷移の発生は、データ入力部としてのSCLライン及びクロック入力部としてのSDAラインを有するネガティブエッジトリガ型フリップフロップ(negative−edge triggered flip−flop)によってもたらされ得る。普通且つ正常な非開始IC動作において、SDAラインの遷移は、SCLラインがローになっている間にのみ発生し、開始状態検出器(START condition detector)はロー出力を継続的に供給するであろう。
【0021】
テーブル1は、本発明によるステートマシン300の動作を示している。示されているように、状態A乃至Fの各々は、次のGの状態、すなわち開始状態を生成する開始入力状態(Start input condition)を含んでいる。アスタリスクは、当該入力状態が、ステートマシン状態転送を制御するクロック信号から独立して、次の状態に直接的な非同期転送をもたらすことを示している。
【0022】
本発明の好ましい実施例において、状態A乃至Gに関連する、符号化された値はグレイコード(Gray−code)を使用して符号化されるので、状態Gへの非同期転送の間を除いて、各々の状態遷移は、状態値においてたった一つのビットの変化しか含んでいない。例えば状態Bは0100として符号化される。状態Bからの有効な遷移は、状態A、C、又はEへの遷移を含んでいる。状態Aは0000として符号化されるが、(左から右へ読む場合)2番目の最上位ビット(second most significant bit(MSB))の値が状態Bと異なっている。状態Cは1100として符号化されるが、1番目の最上位ビットの値が状態Bと異なっている。状態Eは0110として符号化されるが、3番目の最上位ビットの値が状態Bと異なっている。ビット値を同時に変化させる数を制限することによって、直接遷移状態値(immediate transition state value)が生成されず、それによって、誤った(異常な)状態変化(erroneous state change)が防止される。例えば状態Cは、1番目及び3番目のMSBが状態B(0100)と異なっている1110として符号化されていた場合、Bの0100から1110への遷移は、1番目のMSB遷移が3番目のMSB遷移の前に発生すると1100の遷移状態値をもたらし、又は1番目のMSB遷移が3番目のMSB遷移の後に発生すると0110の遷移状態値をもたらし得る。グレイコード符号化をもたらす七つの4ビット値のセットが、テーブル1に示されている。当業者に知られているように、所与の符号化された値の単純な反転(inversion)及び順列(permutation)は、等価なグレイコードである。
【0023】
【表1】
Figure 2004534322
【0024】
図4は、ICバス上のICデバイス410乃至430の構成体の例を示している。ここで、少なくとも一つのデバイス410は、本発明によるステートマシン300を含むICバスインタフェイス414を含んでいる。ICデバイス410乃至430は、ICバス450に、及びICバス450から、データを供給及び/又は受信する、プロセッサ、メモリ素子、及びディスプレイデバイス等のような機能素子を含んでいる。本発明によれば、ICインタフェイス414により機能素子412は、ICバス450に送信されるべきデータアウトバイト(data−out bite)をただ供給することによって、及び/又はバス450からデータインバイト(data−in bite)を受信するためのメモリをただ供給することによって、ICバス450に、及びICバス450からデータを転送することが可能になる。インタフェイス414は、IC規格に準拠する通信方式の実施例をもたらすと共に、上記のようにステートマシン300によって制御されるスレーブデバイスインタフェイスを特に含む。正しいことが確認されたインタフェイスをICバスにもたらすことによって、ICデバイス410乃至430の機能素子412の設計者がデータアウトバイトとデータインバイトのためのメモリとをもたらしさえすればよく、IC通信プロトコルの詳細に拘束されないことは注意されるべきである。
【0025】
以上は本発明の原理のみを示している。従って、明示的に記載されていないし、又は本明細書に示されていないが、本発明の原理を具現化し、それ故に請求項の範囲内にある様々な装置を当業者が考案し得ることは評価されるであろう。
【図面の簡単な説明】
【0026】
【図1】従来技術で知られている、ICバスを介したデータ転送のタイミング図の例を示している。
【図2】ICバスを介したデータ転送を容易にする従来のステートマシンの状態図の例を示している。
【図3】本発明による、ICバスを介したデータ転送を容易にするステートマシンの状態図の例を示している。
【図4】本発明による、ICバスを介したデータ転送を容易にするステートマシンを含む、ICバスの構成例を示している。

Claims (19)

  1. Cバスに、及びICバスからデータを供給又は受信するように構成される機能素子と、
    前記機能素子及び前記ICバスに可動的に結合され、前記機能素子と前記ICバスとの間のデータ通信を容易にするように構成されるインタフェイスと
    を有するデバイスであって、
    前記インタフェイスは、
    アイドル状態、アドレス状態、データロード状態、データ送信状態、データ消去状態、データ受信状態、及び開始状態を含む複数の状態
    を含む前記インタフェイスを制御するように構成されるステートマシン
    を有し、
    前記ステートマシンは、
    前記ICバス上の開始信号の検出時に前記開始状態に非同期に入り、
    前記ICバス上のリセット信号の検出時に前記アイドル状態に非同期に入り、
    前記ICバス上の複数のクロック信号の各々の受信時に、
    前記ステートマシンが前記開始状態にある場合、前記アドレス状態に入り、
    前記ステートマシンが前記アドレス状態にあると共に読み出しコマンドが前記ICバスから受信される場合、前記データロード状態に入り、
    前記ステートマシンが前記データロード状態にある場合、前記データ送信状態に入り、
    前記ステートマシンが前記アドレス状態にあると共に書き込みコマンドが前記ICバスから受信される場合、前記データ消去状態に入り、
    前記ステートマシンが前記データ消去状態にある場合、前記データ受信状態に入る
    ように構成されるデバイス。
  2. 前記ステートマシンは、
    前記ステートマシンが前記アドレス状態から前記データ消去状態又は前記データロード状態に入るときはいつも通知信号を活性化させる
    ように更に構成される請求項1に記載のデバイス。
  3. 前記ステートマシンは、
    前記ステートマシンが前記データ送信状態にあると共に通知信号が前記ICバス上に受信されない場合、前記アイドル状態に入り、
    前記ステートマシンが前記データ受信状態にあると共に前記ICバス上のデータ転送が完了している場合、前記アイドル状態に入る
    ように更に構成される請求項1に記載のデバイス。
  4. 前記ステートマシンは、
    前記ステートマシンが前記データ受信状態から前記アイドル状態に入るときはいつも非通知信号を活性化させる
    ように更に構成される請求項3に記載のデバイス。
  5. 前記ステートマシンは、
    前記ステートマシンが前記アドレス状態にあると共に前記受信アドレスが、前記デバイスに関係するアドレスに対応しない場合、前記アイドル状態に入る
    ように更に構成される請求項1に記載のデバイス。
  6. 前記ステートマシンは、
    前記ステートマシンが前記データ送信状態にあると共に送信データアイテムが通知される場合、前記データロード状態に入り、
    前記ステートマシンが前記データ受信状態にあると共にデータアイテムが受信される場合、前記データ消去状態に入る
    ように更に構成される請求項1に記載のデバイス。
  7. 前記複数の機能状態は1セットのビットとして符号化されるので、前記クロック信号の受信時の各々の状態変化が前記ビットのセットのうちの一つのビットの変化を含む請求項1に記載のデバイス。
  8. 前記複数の機能状態は1セットのビットとして符号化され、各々のビットが第一の状態a及び第二の状態bを有するので、
    前記アイドル状態はaaaaと符号化され、
    前記アドレス状態はabaaと符号化され、
    前記データロード状態はbbaaと符号化され、
    前記データ送信状態はbaaaと符号化され、
    前記データ消去状態はabbaと符号化され、
    前記データ受信状態はaabaと符号化され、
    前記開始状態はababと符号化される
    請求項1に記載のデバイス。
  9. 前記ステートマシンは、
    前記ICバス上の終了信号の検出時に、非同期に前記アイドル状態に入る
    ように更に構成される請求項1に記載のデバイス。
  10. Cバスを介して通信を容易にするように構成されるインタフェイスデバイスであって、
    アイドル状態、アドレス状態、データロード状態、データ送信状態、データ消去状態、データ受信状態、及び開始状態を含む複数の状態
    を含む前記インタフェイスを制御するように構成されるステートマシン
    を有し、
    前記ステートマシンは、
    前記ICバス上の開始信号の検出時に前記開始状態に非同期に入り、
    前記ICバス上のリセット信号の検出時に前記アイドル状態に非同期に入り、
    前記ICバス上の複数のクロック信号の各々の受信時に、
    前記ステートマシンが前記開始状態にある場合、前記アドレス状態に入り、
    前記ステートマシンが前記アドレス状態にあると共に読み出しコマンドが前記バスから受信される場合、前記データロード状態に入り、
    前記ステートマシンが前記データロード状態にある場合、前記データ送信状態に入り、
    前記ステートマシンが前記アドレス状態にあると共に書き込みコマンドが前記ICバスから受信される場合、前記データ消去状態に入り、
    前記データ消去状態から前記データ受信状態に入る
    ように構成されるインタフェイスデバイス。
  11. 前記ステートマシンは、
    前記ステートマシンが前記アドレス状態から前記データ消去状態又は前記データロード状態に入るときはいつも通知信号を活性化し、
    前記ステートマシンが前記データ受信状態から前記アイドル状態に入るときはいつも非通知信号を活性化させる
    ように更に構成される請求項10に記載のインタフェイスデバイス。
  12. 前記ステートマシンは、
    前記ステートマシンが前記データ送信状態にあると共に通知信号が前記ICバスに受信されない場合、前記アイドル状態に入り、
    前記ステートマシンが前記データ受信状態にあると共に前記ICバス上のデータ転送が完了している場合、前記アイドル状態に入り、
    受信アドレスが無効のとき、前記ステートマシンが前記アドレス状態にある場合、前記アイドル状態に入り、
    前記ステートマシンが前記データ送信状態にあると共に送信データアイテムが通知される場合、前記データロード状態に入り、
    前記ステートマシンが前記データ受信状態にあると共にデータアイテムが受信される場合、前記データ消去状態に入る
    ように更に構成される請求項10に記載のインタフェイスデバイス。
  13. 前記複数の機能状態は1セットのビットとして符号化されるので、前記クロック信号の受信時の各々の状態変化が前記ビットのセットのうちの一つのビットの変化を含む請求項10に記載のインタフェイスデバイス。
  14. 前記複数の機能状態は1セットのビットとして符号化され、各々のビットが第一の状態a及び第二の状態bを有するので、
    前記アイドル状態はaaaaと符号化され、
    前記アドレス状態はabaaと符号化され、
    前記データロード状態はbbaaと符号化され、
    前記データ送信状態はbaaaと符号化され、
    前記データ消去状態はabbaと符号化され、
    前記データ受信状態はaabaと符号化され、
    前記開始状態はababと符号化される
    請求項10に記載のインタフェイスデバイス。
  15. 前記ステートマシンは、
    前記ICバス上の終了信号の検出時に、非同期に前記アイドル状態に入る
    ように更に構成される請求項10に記載のインタフェイスデバイス。
  16. ステートマシンを介してICバス上の通信を容易にするための方法であって、
    前記ICバス上の開始信号の検出時に開始状態に非同期に入るステップと、
    前記ICバス上のリセット信号の検出時にアイドル状態に非同期に入るステップと、
    前記ICバス上の複数のクロック信号の各々の受信時に、
    前記ステートマシンが前記開始状態にある場合、アドレス状態に入るステップと、
    前記ステートマシンが前記アドレス状態にあると共に読み出しコマンドが前記ICバスから受信される場合、データロード状態に入るステップと、
    前記ステートマシンが前記データロード状態にある場合、データ送信状態に入るステップと、
    前記ステートマシンが前記アドレス状態にあると共に書き込みコマンドが前記バスから受信される場合、データ消去状態に入るステップと、
    前記ステートマシンが前記データ消去状態にある場合、データ受信状態に入るステップと
    を有する方法。
  17. 前記ステートマシンが前記アドレス状態にある場合、前記データ消去状態又は前記データロード状態に入るステップは、通知信号を活性化させるステップを含み、
    前記ステートマシンが前記データ受信状態にある場合、前記アイドル状態に入るステップは、非通知信号を活性化させるステップを含む
    請求項16に記載の方法。
  18. 前記ステートマシンが前記データ送信状態にあると共に通知信号が前記ICバス上において受信されない場合、前記アイドル状態に入るステップと、
    前記ステートマシンが前記データ受信状態にあると共に前記ICバス上のデータ転送が完了している場合、前記アイドル状態に入るステップと、
    前記ステートマシンが前記アドレス状態にあると共に受信アドレスが前記ステートマシンに関係するアドレスに対応していない場合、前記アイドル状態に入るステップと、
    前記ステートマシンが前記データ送信状態にあると共に送信データアイテムが通知される場合、前記データロード状態に入るステップと、
    前記ステートマシンが前記データ受信状態にあると共にデータアイテムが受信される場合、前記データ消去状態に入るステップと
    を更に含む請求項16に記載の方法。
  19. 前記ICバス上の終了信号の検出時に、非同期に前記アイドル状態に入るステップ
    を更に含む請求項16に記載の方法。
JP2003511112A 2001-06-29 2002-06-14 汎用i2cスレーブ送信器/受信器ステートマシン Pending JP2004534322A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/895,921 US6799233B1 (en) 2001-06-29 2001-06-29 Generalized I2C slave transmitter/receiver state machine
PCT/IB2002/002301 WO2003005211A2 (en) 2001-06-29 2002-06-14 Generalized i2c slave transmitter/receiver state machine

Publications (1)

Publication Number Publication Date
JP2004534322A true JP2004534322A (ja) 2004-11-11

Family

ID=25405296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003511112A Pending JP2004534322A (ja) 2001-06-29 2002-06-14 汎用i2cスレーブ送信器/受信器ステートマシン

Country Status (9)

Country Link
US (1) US6799233B1 (ja)
EP (1) EP1405192B1 (ja)
JP (1) JP2004534322A (ja)
KR (1) KR20030033040A (ja)
CN (1) CN1286031C (ja)
AT (1) ATE360855T1 (ja)
DE (1) DE60219790T2 (ja)
TW (1) TWI223154B (ja)
WO (1) WO2003005211A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006099410A (ja) * 2004-09-29 2006-04-13 Mitsubishi Electric Corp I2cバス制御方法
JP2008293230A (ja) * 2007-05-24 2008-12-04 Nec Engineering Ltd データ転送装置
US9671820B2 (en) 2011-11-25 2017-06-06 Mitsubishi Electric Corporation Communication device, communication method, and communication system

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040225814A1 (en) * 2001-05-29 2004-11-11 Ervin Joseph J. Method and apparatus for constructing wired-AND bus systems
AU2003900960A0 (en) 2003-03-03 2003-03-13 Sola International Holdings Ltd Tinting optical substrates
US20060075164A1 (en) * 2004-09-22 2006-04-06 Ooi Eng H Method and apparatus for using advanced host controller interface to transfer data
CN100571517C (zh) * 2004-12-31 2009-12-23 风间行男 害虫驱避剂的制备方法以及害虫的驱避方法
CN100346330C (zh) * 2005-03-10 2007-10-31 华为技术有限公司 恢复i2c主器件和i2c从器件通讯的方法
CN101208682B (zh) * 2005-04-29 2011-10-05 Nxp股份有限公司 具有锁存服务请求的从设备
US7562172B2 (en) * 2005-04-29 2009-07-14 Nxp B.V. I2C Slave/master interface enhancement using state machines
EP1877916B1 (en) * 2005-04-29 2010-02-17 Nxp B.V. Dynamic 12c slave device address decoder
WO2006117747A1 (en) * 2005-04-29 2006-11-09 Koninklijke Philips Electronics, N.V. 12c slave device with programmable write-transaction cycles
EP1877915B1 (en) * 2005-04-29 2010-11-17 Nxp B.V. Programming parallel i2c slave devices from a single i2c data stream
KR100687923B1 (ko) * 2005-04-29 2007-02-27 삼성전자주식회사 마스터디바이스, 그 제어방법과 마스터디바이스를 갖는전자장치
DE602006012476D1 (de) * 2005-04-29 2010-04-08 Nxp Bv Einrichtungsidentifikationscodierung integrierter slave-schaltungseinrichtungen
WO2006117749A1 (en) * 2005-04-29 2006-11-09 Koninklijke Philips Electronics, N.V. Simultaneous control of multiple i/o banks in an i2c slave device
US20060294275A1 (en) * 2005-06-23 2006-12-28 Emil Lambrache Fast two wire interface and protocol for transferring data
CN100426274C (zh) * 2005-08-08 2008-10-15 中兴通讯股份有限公司 避免i2c总线锁定的方法与装置
US20070043851A1 (en) * 2005-08-16 2007-02-22 Netdevices, Inc. Facilitating a user to detect desired anomalies in data flows of networks
DE102006004346A1 (de) * 2006-01-30 2007-10-18 Deutsche Thomson-Brandt Gmbh Datenbusschnittstelle mit abschaltbarem Takt
US7721155B2 (en) 2007-06-27 2010-05-18 International Business Machines Corporation I2C failure detection, correction, and masking
JP4774029B2 (ja) * 2007-10-17 2011-09-14 三菱電機株式会社 計装制御システム
US7752365B2 (en) * 2008-04-01 2010-07-06 Kyocera Corporation Bi-directional single conductor interrupt line for communication bus
US7930127B2 (en) * 2008-11-11 2011-04-19 Nxp B.V. Oscillator prescale calibration for harmonizing multiple devices with independent oscillators over an I2C bus interface
US8224602B2 (en) 2008-11-11 2012-07-17 Nxp B.V. Automatic on-demand prescale calibration across multiple devices with independent oscillators over an I2C Bus interface
JP5217982B2 (ja) 2008-12-04 2013-06-19 ソニー株式会社 情報処理装置および方法、並びにプログラム
DE102011003729A1 (de) 2010-02-08 2011-08-11 Robert Bosch GmbH, 70469 Neuartige Schaltung und Methode zur Kommunikation über eine einzelne Leitung
US9086966B2 (en) * 2013-03-15 2015-07-21 Intel Corporation Systems, apparatuses, and methods for handling timeouts
CN103714036B (zh) * 2013-12-20 2016-07-20 武汉精立电子技术有限公司 支持批量读取校验的i2c多路复用器及控制方法
KR102169033B1 (ko) * 2013-12-31 2020-10-22 엘지디스플레이 주식회사 전력 최적화 시스템과 이의 구동 방법
DE102014206752B4 (de) * 2014-04-08 2021-08-12 Robert Bosch Gmbh Bestimmung des Zustands eines I2C-Busses
US10151794B2 (en) 2014-06-19 2018-12-11 X-Fab Semiconductor Foundries Ag Sleek serial interface for a wrapper boundary register (device and method)
JP2016063359A (ja) 2014-09-17 2016-04-25 株式会社東芝 バスインタフェース回路
DE102014223362A1 (de) * 2014-11-17 2016-05-19 Robert Bosch Gmbh Steuerungseinrichtung für I²C-Slave-Einrichtungen
US9846672B2 (en) * 2015-02-02 2017-12-19 Atmel Corporation Serial device with configuration mode for changing device behavior
KR102618563B1 (ko) 2016-07-01 2023-12-27 삼성전자주식회사 집적 회로 장치와 이를 포함하는 전자 장치
US10804942B2 (en) 2018-05-24 2020-10-13 Analog Devices, Inc. State-machine based body scanner imaging system
CN112445743B (zh) * 2019-09-04 2024-03-22 珠海格力电器股份有限公司 一种去除毛刺的方法、装置及状态机
JP7283412B2 (ja) * 2020-02-14 2023-05-30 株式会社デンソー 通信システム
CN113114550B (zh) * 2021-04-07 2022-06-21 中国科学院苏州生物医学工程技术研究所 一种i2c通信控制方法、设备及存储介质
CN113254247A (zh) * 2021-05-14 2021-08-13 山东英信计算机技术有限公司 一种服务器bmc i2c异常恢复方法及相关装置
US11777546B2 (en) 2021-05-27 2023-10-03 Rambus Inc. Receiver with improved noise immunity
CN116820840A (zh) * 2023-07-03 2023-09-29 白盒子(上海)微电子科技有限公司 一种i2c总线挂死自动恢复方法、装置、设备和介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2565751B1 (fr) * 1984-06-08 1986-09-05 Radiotechnique Compelec Circuit d'interface du type esclave
US5758098A (en) * 1994-05-12 1998-05-26 Apple Computer, Inc. Method and apparatus for providing a high throughput two-conductor serial interface with support for slave device detection
US5696994A (en) * 1995-05-26 1997-12-09 National Semiconductor Corporation Serial interface having control circuits for enabling or disabling N-channel or P-channel transistors to allow for operation in two different transfer modes
KR0184136B1 (ko) * 1996-06-03 1999-05-15 구자홍 범용 마이컴을 이용한 아이 스퀘어 씨 통신 장치
US5878234A (en) * 1996-09-10 1999-03-02 Sierra Wireless, Inc. Low power serial protocol translator for use in multi-circuit board electronic systems
GB2326065B (en) * 1997-06-05 2002-05-29 Mentor Graphics Corp A scalable processor independent on-chip bus
KR100285956B1 (ko) * 1998-06-30 2001-04-16 윤종용 고속직렬버스에연결된동기식및비동기식장치의제어시스템과제어방법
US6622188B1 (en) * 1998-09-30 2003-09-16 International Business Machines Corporation 12C bus expansion apparatus and method therefor
US6175887B1 (en) * 1998-10-21 2001-01-16 Sun Microsystems, Inc. Deterministic arbitration of a serial bus using arbitration addresses
US6286073B1 (en) * 1998-12-01 2001-09-04 Lucent Technologies Inc. Integrated circuit interface between a personal computer and an external device
US6253269B1 (en) * 1998-12-22 2001-06-26 3Com Corporation Bus arbiter system and method for managing communication buses
US6253268B1 (en) * 1999-01-15 2001-06-26 Telefonaktiebolaget L M Ericsson (Publ) Method and system for multiplexing a second interface on an I2C interface
US6684362B1 (en) * 1999-02-18 2004-01-27 International Business Machines Corporation Method and apparatus for connecting manufacturing test interface to a global serial bus including an I2 c bus
US6530029B1 (en) * 1999-09-23 2003-03-04 National Semiconductor Corporation I2C/SMBus start-stop detecting circuit that reduces the likelihood of stalling the bus due to glitches on the data line
US6553441B1 (en) * 1999-11-30 2003-04-22 3Com Corporation Method and apparatus for using serial bus for PC management
US6591322B1 (en) * 2000-08-01 2003-07-08 Sun Microsystems, Inc. Method and apparatus for connecting single master devices to a multimaster wired-and bus environment
US20020108011A1 (en) * 2000-12-11 2002-08-08 Reza Tanha Dual interface serial bus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006099410A (ja) * 2004-09-29 2006-04-13 Mitsubishi Electric Corp I2cバス制御方法
JP2008293230A (ja) * 2007-05-24 2008-12-04 Nec Engineering Ltd データ転送装置
US9671820B2 (en) 2011-11-25 2017-06-06 Mitsubishi Electric Corporation Communication device, communication method, and communication system

Also Published As

Publication number Publication date
DE60219790T2 (de) 2008-03-20
WO2003005211A2 (en) 2003-01-16
CN1537281A (zh) 2004-10-13
US6799233B1 (en) 2004-09-28
EP1405192B1 (en) 2007-04-25
TWI223154B (en) 2004-11-01
ATE360855T1 (de) 2007-05-15
WO2003005211A3 (en) 2003-05-22
CN1286031C (zh) 2006-11-22
DE60219790D1 (de) 2007-06-06
EP1405192A2 (en) 2004-04-07
KR20030033040A (ko) 2003-04-26

Similar Documents

Publication Publication Date Title
JP2004534322A (ja) 汎用i2cスレーブ送信器/受信器ステートマシン
US6842806B2 (en) Method and apparatus for interconnecting wired-AND buses
US7562172B2 (en) I2C Slave/master interface enhancement using state machines
US7979597B2 (en) Programming parallel I2C slave devices from a single I2C data stream
EP1877914B1 (en) Device identification coding of inter-integrated circuit slave devices
JP2008539499A (ja) ダイナミックi2cスレーブデバイスアドレスデコーダ
US20170177531A1 (en) Bus serialization for devices without multi-device support
JP6629215B2 (ja) マルチマスターバスプロトコルのための方法および装置
JP2008539496A (ja) I2cスレーブ装置の複数のi/oバンクの同時制御
JP2008539644A (ja) プログラマブル書込みトランザクションサイクルを有するi2cスレーブ装置
EP1969601A2 (en) Memory using a single-node data, address and control bus
CN112445744B (zh) I2c通信
TW202213115A (zh) 相位差分協定的錯誤訊號傳遞窗口
EP4162367A1 (en) Providing acknowledgements for system power management interface
US20220066955A1 (en) Group slave identifier time-multiplexed acknowledgment for system power management interface
Yuxin I2C data transfer program design and communication protocol improvement
MX7cK Synchronous I2C Communications with the
JP2001117863A (ja) 調停アドレスを使用する、シリアル・バスの決定論的調停

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040806

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050613

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071127

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20071213

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080227

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080305

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080327

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080527

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20081014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090224

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090901