IICのまとめ

IICのまとめ

IIC:集積回路間、集積回路バス、2線式接続ト​​ポロジーが必要で、半二重であり、「バイトタイプ」のデバイスに適しています。

I2Cバスは、信号線が2本しかないシリアルデータバスです。1本は双方向データ線SDA、もう1本はクロック線SCLです。2本の線で複数のデバイスを接続できます。IICデバイス(ほとんど)には固定アドレスがあり、2つの回線で送信される値がIICデバイスの固定アドレスと等しい場合にのみ応答します。通常、IICデバイスは便宜上マスターデバイスとスレーブデバイスに分けられます。基本的に、クロックラインを制御する(つまり、SCLのレベルを制御する)人がマスターデバイスです。

確認応答と無応答:
ホストによって1バイトのデータが生成されるたびに、ホストは、データが確実に受信されるように、スレーブからホストへの応答または無応答信号を常に待機する必要があります。SCLの9番目のパルスの前にSDAを入力として設定し、SDAを検出します。SDAが低い場合は応答信号であり、高い場合は無応答信号です。
ここに画像の説明を挿入
初期化:IICの初期化は、SDAとSCLの両方が高いことです。

開始信号:プロセッサはSCLクロックをハイに保ち、SDAデータ信号をハイからローに変更して開始信号を示します。同時に、IICバス上のデバイスがこの開始信号を検出すると、プロセッサがデータを送信しようとしていることがわかります。

停止信号:プロセッサはSCLクロックをハイに保ち、SDAデータ信号をローからハイに変更して停止信号を示します。同時に、IICバス上のデバイスがこの停止信号を検出すると、プロセッサがデータ送信を終了したことを認識し、スリープなどのビジー状態になる可能性があります。
データ送信:SDAのデータは、SCLが低い場合にのみ反転および変更でき、SCLが高い場合にのみ安定している必要があります。IICデバイスは、SCLが高い場合にのみSDAデータを収集します。

応答信号(ACK):シングルチップマイクロコンピュータは8ビットデータを送信した後(SDAピンが入力になる)バスを駆動しなくなり、SDAとSDLハードウェア設計の両方にプルアップ抵抗があるため、この時点でSDAはハイになります。次に、8番目のデータビットで、外部IICデバイスが信号を受信できる場合、9番目のサイクルでSDAをローに引き下げると、プロセッサはSDAがローに引き下げられたことを検出し、外部IICデバイスのデータが受信されたことを知ることができます。IICデータは、最上位ビットから送信されます(リトルエンディアン送信)。

おすすめ

転載: blog.csdn.net/weixin_44524004/article/details/112616605