ZHCSRH1 january 2023 BQ21080
PRODUCTION DATA
控制器通過產生啟動條件來啟動數(shù)據(jù)傳輸。啟動條件是當 SCL 為高電平時在 SDA 線上發(fā)生從高到低的轉換,如圖 8-6 所示。所有與 I2C 兼容的器件都應識別啟動條件。
圖 8-6 START 和 STOP 條件控制器隨后產生 SCL 脈沖,并在 SDA 線上發(fā)送 8 位地址和讀取/寫入方向位 R/W。在所有傳輸期間,控制器確保數(shù)據(jù)有效。有效數(shù)據(jù)條件要求 SDA 線在時鐘脈沖的整個高電平期間保持穩(wěn)定(請參閱圖 8-7)。所有器件都識別控制器發(fā)送的地址,并將其與內部固定地址進行比較。只有具有匹配地址的外設器件才會通過在第九個 SCL 周期的整個高電平期間拉低 SDA 線來生成確認(請參閱圖 8-8)。在檢測到該確認時,控制器便知道已建立與外設的通信鏈路。
圖 8-7 串行接口上的位傳輸控制器產生更多的 SCL 周期,以便向外設發(fā)送數(shù)據(jù)(R/W 位為 0)或從外設接收數(shù)據(jù)(R/W 位為 1)。在任一種情況下,接收器都需要確認發(fā)送器發(fā)送的數(shù)據(jù)。因此,確認信號可由控制器或外設產生,具體取決于哪一方是接收器。9 位有效數(shù)據(jù)序列包含 8 個數(shù)據(jù)位和 1 個確認位,可根據(jù)需要繼續(xù)。為了用信號指示數(shù)據(jù)傳輸結束,控制器通過在 SCL 線處于高電平期間將 SDA 線從高電平拉低來產生停止條件(請參閱圖 8-6)。此操作將釋放總線并停止與尋址的外設之間的通信鏈路。所有與 I2C 兼容的器件都必須識別停止條件。在收到停止條件后,所有器件都知道總線已釋放,并等待啟動條件,接著是匹配的地址。如果事務提前終止,控制器需要發(fā)送一個停止條件來防止外設 I2C 邏輯保持在不正確的狀態(tài)。嘗試從本節(jié)中未列出的寄存器地址讀取數(shù)據(jù)會導致讀出 FFh。