ZHCSY29 April 2025 TCAL9539R
PRODUCTION DATA
雙向 I2C 總線由串行時(shí)鐘 (SCL) 線和串行數(shù)據(jù) (SDA) 線組成。當(dāng)連接到器件的輸出級時(shí),兩條線都必須通過上拉電阻器連接到正電源。只有當(dāng)總線處于不忙狀態(tài)時(shí),才能啟動數(shù)據(jù)傳輸。
當(dāng) SCL 輸入為高電平時(shí),控制器發(fā)送啟動條件(SDA 輸入/輸出上由高電平到低電平轉(zhuǎn)換)啟動與該器件的 I2C 通信(請參閱圖 7-4)。在發(fā)送啟動條件之后,會發(fā)送器件地址字節(jié),首先發(fā)送最高有效位 (MSB),包括數(shù)據(jù)方向位 (R/W)。
接收到有效地址字節(jié)后,該器件以確認(rèn) (ACK) 響應(yīng),在 ACK 相關(guān)時(shí)鐘脈沖的高電平期間,SDA 輸入/輸出為低電平。目標(biāo)器件的地址輸入不得在啟動條件和停止條件之間更改。
在 I2C 總線上,在每個(gè)時(shí)鐘脈沖期間僅傳輸一個(gè)數(shù)據(jù)位。在時(shí)鐘周期的高脈沖期間,SDA 線上的數(shù)據(jù)必須保持穩(wěn)定,因?yàn)榇藭r(shí)數(shù)據(jù)線上的變化會被解釋為控制命令(開始或停止)(請參閱圖 7-5)。
控制器會發(fā)送停止條件,即當(dāng) SCL 輸入為高電平時(shí),SDA 輸入/輸出由低電平到高電平轉(zhuǎn)換(請參閱圖 7-4)。
在開始和停止條件之間,可以將任意數(shù)量的數(shù)據(jù)字節(jié)從發(fā)送器傳輸?shù)浇邮掌?。每個(gè)八位字節(jié)后跟一個(gè) ACK 位。發(fā)送器必須先釋放 SDA 線,接收器才能發(fā)送 ACK 位。做出應(yīng)答的器件必須在 ACK 時(shí)鐘脈沖期間下拉 SDA 線路,這樣,在 ACK 相關(guān)時(shí)鐘周期的高脈沖期間,SDA 線路穩(wěn)定為低電平(請參閱圖 7-6)。當(dāng)目標(biāo)接收器被尋址時(shí),它必須在接收到每個(gè)字節(jié)后生成一個(gè) ACK。類似地,控制器必須在從目標(biāo)發(fā)送器接收到每個(gè)字節(jié)之后生成一個(gè) ACK。必須滿足設(shè)置和保持時(shí)間才能正常運(yùn)行。
控制器接收器通過在目標(biāo)發(fā)送器在時(shí)鐘沿輸出最后一個(gè)字節(jié)后不進(jìn)行確認(rèn) (NACK),來向目標(biāo)發(fā)送器發(fā)送數(shù)據(jù)結(jié)束信號。這是由控制器接收器通過將 SDA 線保持為高電平來完成的。在這種情況下,發(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 | H | A1 | A0 | R/ W |
| I/O 數(shù)據(jù)總線 | P07 | P06 | P05 | P04 | P03 | P02 | P01 | P00 |
| P17 | P16 | P15 | P14 | P13 | P12 | P11 | P10 | |