[TWAI-3.13.5] 接收到错误的数据帧可能导致下一次接收到的数据字节无效

影响版本: v0.0 v1.0 v1.1 v3.0 v3.1

描述

当 TWAI 控制器接收数据帧时,如果在数据段或 CRC 字段中发生位错误或填充错误,则下一次接收到的数据可能发生字节移位或丢失。因此,下一次接收的数据帧(包括由验收滤波器滤出的数据帧)应视为无效。

变通方法

用户可以通过置位 INTERRUPT_BUS_ERR_INT_ENA 并在接收到总线错误中断时,读取 ERROR_CODE_CAPTURE_REG 来检测错误类型及错误位置。如果符合错误产生条件(在数据段或 CRC 字段发生位错误或填充错误),可以采用以下两种解决方法:

  • TWAI 控制器可以发送 0 字节的空数据帧来复位 TWAI 控制器的内部信号。建议给空数据帧分配一个不会被任何 TWAI 总线上的节点接收的 ID。

  • 硬件复位 TWAI 控制器(需要保存并恢复当前寄存器的数值)。

解决方案

暂无 修复计划。