ZHCSU48 December 2023 BQ76972
PRODUCTION DATA
BQ76972 器件中的 I2C 串行通信接口用作響應(yīng)者器件,支持高達(dá) 400kHz 的速率和可選的 CRC 檢查。如果未對 OTP 進(jìn)行編程,則 BQ76972 器件默認(rèn)會在 400kHz I2C 模式下啟動,但其他版本的器件最初可能會在不同的模式下上電(如器件比較表 中所述)。可以在生產(chǎn)線上對 OTP 設(shè)置進(jìn)行編程,然后當(dāng)該器件上電時,它會自動進(jìn)入根據(jù) OTP 設(shè)置選擇的模式。主機(jī)也可以在 CONFIG_UPDATE 模式下更改 I2C 速度設(shè)置,然后新的速度設(shè)置會在退出 CONFIG_UPDATE 模式時生效。或者,主機(jī)可以使用 SWAP_TO_I2C() 子命令立即將通信接口更改為 I2C。
I2C 器件地址(作為包括響應(yīng)者器件地址和 R/W 位在內(nèi)的 8 位值)默認(rèn)設(shè)置為 0x10(寫入)或 0x11(讀取),該地址可以通過配置設(shè)置進(jìn)行更改。
通信接口包括可編程超時功能。僅當(dāng)總線以 100kHz 或 400kHz 運(yùn)行時才應(yīng)使用該功能。當(dāng)在器件被設(shè)置為 100kHz 模式的情況下啟用該功能時,如果檢測到時鐘為低電平超過 tTIMEOUT(25ms 至 35ms),或者累積時鐘低電平響應(yīng)者延長時間超過約 25ms,或者如果累積時鐘低電平控制器延長時間超過 10ms,則器件將復(fù)位通信接口邏輯。當(dāng)在器件被設(shè)置為 400kHz 模式的情況下啟用超時時,如果檢測到時鐘為低電平超過 tTIMEOUT(5ms 至 20ms),則器件將復(fù)位通信接口邏輯。如果檢測到 SCL 引腳為低電平超過 2 秒,則總線還包括一個長期超時,無論是否啟用上述超時都是如此。
圖 7-8 顯示了 I2C 寫入事務(wù)。通過在停止之前發(fā)送額外的數(shù)據(jù)字節(jié)來允許進(jìn)行塊寫入。I2C 邏輯將在每個數(shù)據(jù)字節(jié)后自動遞增寄存器地址。
啟用時,可以通過以下方式來計(jì)算 CRC:
CRC 多項(xiàng)式為 x8 + x2 + x + 1,初始值為 0。
當(dāng)響應(yīng)者檢測到無效 CRC 時,I2C 響應(yīng)者將否定響應(yīng) CRC,從而使 I2C 響應(yīng)者進(jìn)入空閑狀態(tài)。

圖 7-9 展示了使用重復(fù)啟動的讀取事務(wù)。

圖 7-10 顯示了一個未使用重復(fù)啟動的讀取事務(wù)(例如在硬件中不可用時)。對于塊讀取,控制器響應(yīng)除最后一個數(shù)據(jù)字節(jié)之外的每個數(shù)據(jù)字節(jié),并繼續(xù)為接口提供時鐘。I2C 塊在每個數(shù)據(jù)字節(jié)后自動遞增寄存器地址。
啟用時,可以通過以下方式來計(jì)算讀取事務(wù)的 CRC:
CRC 多項(xiàng)式為 x8 + x2 + x + 1,初始值為 0。
當(dāng)控制器檢測到無效 CRC 時,I2C 控制器將不確認(rèn) CRC,從而使 I2C 響應(yīng)者進(jìn)入空閑狀態(tài)。
