ZHCSS95D March 2022 – October 2024 TPS389006-Q1 , TPS389R0-Q1
PRODMIX
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 ACK。具有错误 PEC 的写入命令被视为错误,写入命令不会执行并产生 I2C NACK。不会将 NIRQ 置为有效。 |
| 1 | 1 | 0 | 缺少 PEC 会被视为错误,仅当提供了正确的 PEC 字节时才执行写入命令。尽管写入命令未执行,但 I2C 通信仍然以 ACK 进行响应。具有错误 PEC 的写入命令被视为错误,写入命令不会执行并产生 I2C NACK。不会将 NIRQ 置为有效。 |
| 1 | 1 | 1 | 缺少 PEC 会被视为错误,仅当提供了正确的 PEC 字节时才执行写入命令。尽管写入命令未执行,但 I2C 通信仍然以 ACK 进行响应。具有错误 PEC 的写入命令被视为错误,写入命令不会执行并产生 I2C NACK。当尝试使用 PEC 字节不正确或缺失的写入命令时,NIRQ 会被置为有效。 |
| EN_PEC | REQ_PEC | PEC_INT | 中断状态 |
|---|---|---|---|
| 0 | x | x | 对于 I2C 读取操作,会以寄存器中存储的数据进行响应,对于 I2C 读取命令,不会以寄存器对应的 PEC 字节进行响应。 |
| 1 | x | x | 对于 I2C 读取操作,会以寄存器中存储的数据和对应的 PEC 字节进行响应。 |