ZHCSQE8H November 2022 – April 2025 TPS389C03-Q1
PRODUCTION DATA
TPS389C03-Q1 支持數據包錯誤檢查 (PEC) 作為一種實現循環冗余校驗 (CRC) 的方法。PEC 是一種動態 CRC,僅在啟用后才在讀取或寫入事務期間發生。CRC 的初始值設置為 0x00 時,PEC 使用由多項式表示的 CRC-8:
多項式用于捕獲 I2C 通信中任何會導致數據和 PEC 字節不匹配的位翻轉或噪聲。PEC 計算包括傳輸中的所有字節,包括地址、命令和數據。PEC 計算不包括 ACK 或 NACK 位,或者啟動、停止或重復啟動條件。如果啟用了 PEC,并且 TPS389C03-Q1 正在傳輸數據,則 TPS389C03-Q1 負責發送 PEC 字節。如果啟用了 PEC,并且 TPS389C03-Q1 從 MCU 收到數據,則 MCU 負責發送 PEC 字節。如果需要更快的通信(例如對看門狗進行維護),則可以有效地使用所需的 PEC 功能來處理缺失的 PEC 信息并避免觸發故障。圖 7-8 和圖 7-9 突出顯示了需要 PEC 時的通信協議流程以及哪個器件在實際通信期間的不同實例中控制 SDA 線。
表 7-3 總結了與 PEC 寫入命令相關的寄存器以及相應的器件行為。表 7-4 總結了與 PEC 讀取命令相關的寄存器以及相應的器件行為。
| EN_PEC | REQ_PEC | PEC_INT | 中斷狀態 |
|---|---|---|---|
| 0 | x | x | 寫入操作不需要 PEC 字節,不會將 NIRQ 置為有效。 |
| 1 | 0 | x | 缺少 PEC 字節的寫入命令被視為有效,寫入命令將執行并產生 I2C ACT。具有錯誤 PEC 的寫入命令被視為錯誤,寫入命令不會執行并產生 I2C NACK。不會將 NIRQ 置為有效。 |
| 1 | 1 | 0 | 缺少 PEC 會被視為錯誤,僅當提供了正確的 PEC 字節時才執行寫入命令。盡管寫入命令未執行,但 I2C 通信仍然以 ACT 進行響應。具有錯誤 PEC 的寫入命令被視為錯誤,寫入命令不會執行并產生 I2C NACK。不會將 NIRQ 置為有效。 |
| 1 | 1 | 1 | 缺少 PEC 會被視為錯誤,僅當提供了正確的 PEC 字節時才執行寫入命令。盡管寫入命令未執行,但 I2C 通信仍然以 ACT 進行響應。具有錯誤 PEC 的寫入命令被視為錯誤,寫入命令不會執行并產生 I2C NACK。當嘗試使用 PEC 字節不正確或缺失的寫入命令時,NIRQ 會被置為有效。 |
| EN_PEC | REQ_PEC | PEC_INT | 中斷狀態 |
|---|---|---|---|
| 0 | x | x | 對于 I2C 讀取操作,會以寄存器中存儲的數據進行響應,對于 I2C 讀取命令,不會以寄存器對應的 PEC 字節進行響應。 |
| 1 | x | x | 對于 I2C 讀取操作,會以寄存器中存儲的數據和對應的 PEC 字節進行響應。 |