This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TCAN4550: 发送CAN包后无TX EVENT且频繁触发中断的问题

Part Number: TCAN4550


MCU通过SPI与TCAN4550交互,配置好后,定时发送CAN包。

但发现,在CAN链路上没有任何其他CAN设备时,即无CAN接收设备的情况下,MCU启动后发送第一个CAN包,TCAN4550的中断状态位一直显示没有TX EVENT。

MCU的逻辑是需要在发送CAN包后,收到TX EVENT才认为发送结束,才会发送下一个CAN包,所以这导致定时的发送不再继续进行。

另外,我们也尝试了取消收到TX EVENT才继续发送的逻辑,直接定时发送CAN包,发现所有CAN包都没有TX EVENT。

如果没有TX EVENT,我们将不知道是否可以进行下个包的发送。另外,在这种场景下,TCAN4550会频繁发生MCAN中断,MCU需要频繁地处理中断,操作SPI,占用MCU的CPU时间,这影响了我们MCU上其他业务的运行。我们进一步查看,频繁来的中断指示有PEA。即使我们只在开机后发1个CAN包,后续不再发,PEA中断也会频繁的发生,这需要处理的频繁中断消耗了不小的CPU时间,影响到了MCU上其他业务的运行。

因此想请教3个问题:

  1. 为何在发送CAN包后无TX EVENT?我们曾同样在链路上无CAN接收设备的情况下发送CAN包,用同样的固件,曾经是有过TX EVENT的。
  2. 如果没有TX EVENT,我们如何能知道CAN包已发送结束?
  3. 如果在运行过程中发生了上述无TX EVENT的情况,MCU如何去辨别它,如何避免需要频繁处理中断而导致影响其他业务的问题?