●IICバスについて

『1』 IICバスとは

IICバスとは、Inter IC BUS の略語であり、IC間や 装置内部のコミュニケーション用2線式
シリアルバスのことです。
IICバスは、データとクロックの2本の双方向制御線から成り立って います。

インターフェース図
Data 





Clock 
波形

『2』 IICバスデータフォーマット

IICバスフォーマット

IIC信号フォーマットは、上図のように、スタート条件とストップ条件にはさまれた
9ビットのデータで構成されています。
上記は、1バイトデータ転送フォームですが、2バイトを越えるデータの場合には
ACKのあとに、次のバイトD7〜D0とACKが来て、その後ストップ条件が来ます。

 ●IICバスの第1バイト目フォーマット
  IICバス上の第1バイト目は通常、機器のスレーブアドレス7ビット(D7〜D1)
  と、そのスレーブアドレスを持つ機器に対する書き込み/読み込みを示す1
  ビット(D0)で構成されています。

  D0ビット=0 の場合 ・・・ 後ろに続くバイトは、その機器に対する書き込みであることを示します。
  D0ビット=1 の場合 ・・・ その機器に対する読み込みであることを示します。

 ●IICバスの2バイト目 以降フォーマット
  D7〜D0が転送する1バイトデータです。

『3』 IICバスの状態

@ バスのアイドル状態

バスがアイドル状態の時には、データ・クロックともにHighレベルです。

A IICバス通信の開始

クロックがHighレベルの時のデータの
立ち下がりエッジからバス通信が始まります。

受信側はこの条件でバス上のデータ取り込
みを開始します。
スタートコンディション

B IICバス通信の終了

クロックがHighレベルの時のデータの
立ち上がりエッジでバス通信を終了します。

受信側はこの条件でバス上のデータ取り込
みを終了します。
ストップコンディション

C データの転送

受信側は、クロックの立ち上がりエッジにて
データを1ビットずつ取り込みます。
データはMSBから送出され、1データ
8ビットで構成されています。
8ビットデータの次の1ビットは必ず
acknowledge(ACK)ビット が付加され、
機器間のシリアル通信のハンドシェークに
用います。
データのサンプルタイミング