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