ZHCSP02B November 2022 – May 2025 TCAL9538
PRODUCTION DATA
雙向 I2C 總線由串行時鐘 (SCL) 線和串行數(shù)據(jù) (SDA) 線組成。當(dāng)連接到器件的輸出級時,兩條線都必須通過上拉電阻器連接到正電源。只有當(dāng)總線不忙才能啟動數(shù)據(jù)傳輸。
當(dāng) SCL 輸入為高電平時,控制器發(fā)送啟動條件(SDA 輸入/輸出上由高電平到低電平轉(zhuǎn)換)啟動與該器件的 I2C 通信(請參閱圖 7-4)。在發(fā)送啟動條件之后,會發(fā)送器件地址字節(jié),首先發(fā)送最高有效位 (MSB),包括數(shù)據(jù)方向位 (R/W)。
接收到有效地址字節(jié)后,該器件以應(yīng)答 (ACK) 響應(yīng),在 ACK 相關(guān)時鐘脈沖的高電平期間,SDA 輸入/輸出為低電平。目標器件的地址輸入不得在啟動條件和停止條件之間更改。
在 I2C 總線上,在每個時鐘脈沖期間僅傳輸一個數(shù)據(jù)位。在時鐘周期的高脈沖期間,SDA 線上的數(shù)據(jù)必須保持穩(wěn)定,因為此時數(shù)據(jù)線上的變化會被解釋為控制命令(開始或停止)(請參閱圖 7-5)。
控制器會發(fā)送停止條件,即當(dāng) SCL 輸入為高電平時,SDA 輸入/輸出由低電平到高電平轉(zhuǎn)換(請參閱圖 7-4)。
在開始和停止條件之間,可以將任意數(shù)量的數(shù)據(jù)字節(jié)從發(fā)送器傳輸?shù)浇邮掌鳌C總€八位字節(jié)后跟一個 ACK 位。發(fā)送器必須先釋放 SDA 線,接收器才能發(fā)送 ACK 位。做出應(yīng)答的器件必須在 ACK 時鐘脈沖期間下拉 SDA 線路,這樣,在 ACK 相關(guān)時鐘周期的高脈沖期間,SDA 線路穩(wěn)定為低電平(請參閱圖 7-6)。當(dāng)目標接收器被尋址時,它必須在接收到每個字節(jié)后生成一個 ACK。類似地,控制器必須在從目標發(fā)送器接收到每個字節(jié)之后生成一個 ACK。必須滿足設(shè)置和保持時間才能正常運行。
控制器接收器通過在目標發(fā)送器在時鐘沿輸出最后一個字節(jié)后不進行應(yīng)答 (NACK),來向目標發(fā)送器發(fā)送數(shù)據(jù)結(jié)束信號??刂破鹘邮掌魍ㄟ^將 SDA 線保持為高電平來實現(xiàn)該目的。在這種情況下,發(fā)送器必須釋放數(shù)據(jù)線,才能使控制器生成停止條件。
圖 7-4 啟動和停止條件的定義
圖 7-5 位傳輸
圖 7-6 I2C 總線上的應(yīng)答| 字節(jié) | 位 | |||||||
|---|---|---|---|---|---|---|---|---|
| 7 (MSB) | 6 | 5 | 4 | 3 | 2 | 1 | 0 (LSB) | |
| 器件 I2C 地址 | H | H | H | L | L | A1 | A0 | R/W |
| I/O 數(shù)據(jù)總線 | P7 | P6 | P5 | P4 | P3 | P2 | P1 | P0 |