ZHCSUD0C November 2024 – June 2025 TPSM82866C
PRODMIX
控制器通過(guò)產(chǎn)生啟動(dòng)條件來(lái)啟動(dòng)數(shù)據(jù)傳輸。啟動(dòng)條件是當(dāng) SCL 為高電平時(shí)在 SDA 線(xiàn)上發(fā)生從高電平到低電平的轉(zhuǎn)換,如圖 7-4 所示。所有與 I2C 兼容的器件都會(huì)識(shí)別啟動(dòng)條件。
控制器隨后產(chǎn)生 SCL 脈沖,并在 SDA 線(xiàn)上發(fā)送 7 位地址和讀取/寫(xiě)入方向位 (R/W)。在所有傳輸期間,控制器確保數(shù)據(jù)有效。有效數(shù)據(jù)條件要求 SDA 線(xiàn)在時(shí)鐘脈沖的整個(gè)高電平期間保持穩(wěn)定(請(qǐng)參閱圖 7-5)。所有器件都識(shí)別控制器發(fā)送的地址,并將該地址與內(nèi)部固定地址進(jìn)行比較。只有具有匹配地址的目標(biāo)器件才會(huì)通過(guò)在第九個(gè) SCL 周期的整個(gè)高電平期間拉低 SDA 線(xiàn)來(lái)生成確認(rèn)消息(請(qǐng)參閱圖 7-6)。在檢測(cè)到該確認(rèn)消息時(shí),控制器便知道已建立與目標(biāo)的通信鏈路。
控制器產(chǎn)生更多的 SCL 周期,以便向目標(biāo)器件發(fā)送數(shù)據(jù)(R/W 位為 0)或從目標(biāo)器件接收數(shù)據(jù)(R/W 位為 1)。在任一種情況下,接收器都需要確認(rèn)發(fā)送器發(fā)送的數(shù)據(jù)。因此,響應(yīng)信號(hào)可由控制器或目標(biāo)產(chǎn)生,具體取決于哪個(gè)是接收器。9 位有效數(shù)據(jù)序列包含 8 個(gè)數(shù)據(jù)位和 1 個(gè)確認(rèn)位,可根據(jù)需要繼續(xù)。
為了用信號(hào)指示數(shù)據(jù)傳輸結(jié)束,控制器通過(guò)在 SCL 線(xiàn)處于高電平期間將 SDA 線(xiàn)從高電平拉至低電平來(lái)產(chǎn)生停止條件(請(qǐng)參閱圖 7-4)。此操作將釋放總線(xiàn)并停止與尋址的目標(biāo)器件之間的通信鏈路。所有與 I2C 兼容的器件都必須識(shí)別停止條件。在收到停止條件后,所有器件都知道總線(xiàn)已釋放,并等待啟動(dòng)條件,接著是匹配的地址。
嘗試從本節(jié)中未列出的寄存器地址讀取數(shù)據(jù)會(huì)導(dǎo)致讀出 0x00。