ZHCSU48 December 2023 BQ76972
PRODUCTION DATA
BQ76972 器件中的 SPI 接口用作僅響應者接口,具有可選的 CRC 檢查。如果尚未對 OTP 進行編程,則 BQ76972 器件默認會在 400kHz I2C 模式下初始上電,而其他器件版本默認會在啟用 CRC 的 SPI 模式下初始上電,如器件比較表 中所述。可以在生產線上將用于選擇 SPI 模式的 OTP 設置編程到 BQ76972 中,然后當該器件上電時,它會自動進入 SPI 模式。盡管器件在退出 CONFIG_UPDATE 模式時不會立即更改通信模式,但是主機還可以在 CONFIG_UPDATE 模式下更改串行通信設置,以避免在評估或生產過程中丟失通信。主機可以復位器件或寫入 SWAP_TO_SPI() 子命令以立即將通信接口更改為 SPI。
SPI 接口邏輯在時鐘極性 (CPOL) = 0 和時鐘相位 (CPHA) = 0 的情況下運行,如下圖所示。
該器件還包含一個使用多項式 x8 + x2 + x + 1 的可選 8 位 CRC。如果未啟用 CRC,接口必須處理 16 位事務;如果啟用 CRC,接口必須處理 24 位事務。根據 Settings:Configuration:Comm Type 的設置,可啟用或禁用 CRC 模式。根據配置設置,邏輯將:
(a) 僅在有 CRC 時工作,無有效 CRC 時不處理數據,或
(b) 僅在無 CRC 時處理事務(因此主機每次只在時鐘沿處理 16 位數據,如果發送更多或更少的時鐘,器件將檢測到錯誤)。
如果主機使用 CRC 執行寫入操作,而 CRC 不正確,傳入數據將不會傳輸到接收緩沖區,發送緩沖區(用于下一個事務)也會復位為 0xFFFF。此事務被視為無效。在下一個事務中,CRC(如已在時鐘沿輸出)將為 0xAA,因此 0xFFFFAA 將向控制器指示檢測到 CRC 錯誤。
當主機啟動事務時,BQ76952 器件中的內部振蕩器可能未運行(例如,如果器件處于 SLEEP 模式,可能會發生這種情況)。如果發生這種情況,針對在時鐘沿輸出的前 16 位數據,接口將在 SPI_MISO 上輸出 0xFFFF。如果啟用了 CRC,該接口還將為第三個 (CRC) 字節輸出 0xFF。因此,0xFFFF 或 0xFFFFFF 將向控制器指示內部振蕩器尚未就緒。
該器件將在 SPI_CS 下降沿自動喚醒內部振蕩器,但可能需要長達 50μs 的時間才能穩定下來并可供 SPI 接口邏輯使用。器件所用地址 0x7F 的定義方式應確保沒有將 0xFF 寫入此地址的有效事務。因此,在事務的前兩個字節中,兩字節模式 0xFFFF 絕不應作為有效序列出現(也就是說,該模式僅用作出錯的標志,類似于 I2C NACK)。
由于 HFO 在最初關斷時上電會出現延遲,因此該器件包含一個可編程遲滯,以使 HFO 在被 SPI_CS 上的下降沿喚醒后保持通電狀態達可編程的秒數。此遲滯由 Settings:Configuration:Comm Idle Time 配置設置控制,可設置為 0 至 255 秒(在 SPI 模式下,即使該值設置為 0,該器件也會使用 1 秒的最小遲滯)。主機可以將此設置為更長的時間(最多 255 秒),并在此時間窗口內保持定期通信,從而使 HFO 保持通電狀態,以便器件能夠快速響應 SPI 事務。然而,保持 HFO 持續運行將導致器件消耗額外的電源電流,超出了 HFO 僅在需要時供電時消耗的電流(HFO 在通電時消耗約 30μA 的電流)。為了避免這種額外的電源電流,主機可以發送初始不必要的 SPI 事務來喚醒 HFO,并重試此操作,直到在 SPI_MISO 上返回有效響應。此時,主機可以開始發送預期的 SPI 事務。
如果長時間內發生過多的 SPI 事務,器件可能會發生看門狗故障。建議通過從一個事務結束到新事務開始提供 50μs 或更長的時間來限制 SPI 事務的頻率。
該器件能夠檢測凍結或斷開的 SPI 總線狀況,然后復位總線邏輯。當 SPI_CS 為低電平,并且 SPI_SCLK 為靜態且在兩秒鐘超時內沒有變化時,就會識別出這種情況。
根據所使用器件的版本,SPI_MISO 引腳可以默認配置為使用 REG18 LDO 進行輸出驅動,這將產生 1.8V 信號電平。如果主機處理器以較高電壓(例如 3.3V 或 5V)運行,這可能會導致通信錯誤。通過設置 Settings:Configuration:SPI Configuration[MISO_REG1] 數據存儲器配置位,可以對 SPI_MISO 引腳進行編程,以改為使用 REG1 LDO 進行輸出驅動。僅當 REG1 LDO 通電時才應設置該位。修改該位后,需要發送 SWAP_TO_SPI() 或 SWAP_COMM_MODE() 子命令才能使器件使用新值。
該器件在 SPI 輸入引腳上包含可選的引腳濾波,可在每個輸入引腳上實現具有約 200ns 延遲的濾波器。默認啟用該濾波,但可以通過清除 Settings:Configuration:SPI Configuration[FILT] 數據存儲器配置位來禁用。