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.

[参考译文] TCAN4551-Q1:设置 CCCR.INIT 位以进行脱离总线恢复

Guru**** 2001725 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1002523/tcan4551-q1-setting-the-cccr-init-bit-for-bus-off-recovery

器件型号:TCAN4551-Q1

如果我正确理解了数据表、一旦我获得一个总线关闭、 我就必须清除 CCCR.init、然后它才会启动恢复序列。

设置此位的最佳方法是什么? 我在 TCAN4x5x_MCAN_DisableProtectedRegisters 等演示固件功能中看到、它们首先读取寄存器、更改位、然后重试5次以设置和读回/确认寄存器。

这真的是必要的吗? 还是仅用于启用对受保护寄存器的写入。

提前感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ed:

    尝试多次写入和验证这些位是为了确保不存在将这些位设置为不同状态的情况。 例如、如果在 CPU 尝试清除中断位时导致设置中断位的故障仍然存在、则尝试清除将失败、表明器件此时无法恢复正常运行。 多次尝试此写入将使系统有时间从故障中恢复(在等待显性超时计时器触发时很有用)、或者如果系统处于不可恢复状态(总线长时间短接至显性状态)。 如果 诸如 TCAN4x5x_MCAN_DisableProtectedRegisters 之类的函  数返回失败状态、则可以假定系统在为故障安全措施分配的时间内无法恢复以解决故障。  

    如果您有任何疑问、请告诉我。

    此致、
    Eric Schott