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.

[参考译文] TM4C1294KCPDT:CAN CRC、位填充错误

Guru**** 2463330 points
Other Parts Discussed in Thread: TM4C1294NCPDT

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/659075/tm4c1294kcpdt-can-crc-bit-stuff-errors

器件型号:TM4C1294KCPDT
主题中讨论的其他器件:TM4C1294NCPDT

您好!

我们有两个围绕 TM4C1294NCPDT 构建的定制板、它们将与 CAN 进行相互通信。  在断电情况下、接收板报告 CAN_STATUS_LEC_填 充错误、发送板报告 CAN_STATUS_LEC_BIT1。  如果我向接收板发送一个硬件复位(使用 JTAG 编程器)、CAN 通信将开始在两个方向上正常工作。  它将继续工作、直至一块板断电并重新通电。  然后、我们再次得到填充错误。

我从 simple_tx 示例代码开始。  以下是发生错误时示波器跟踪的图像捕获:

有人有什么建议吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Scott、
    这是差分 CANH 和 CANL 的捕捉、对吧? 我无法从捕获中解码? 您有 TX 和 RX 引脚的捕获吗? 消息 ID 是什么?有效载荷数据是什么?

    当序列中有超过5个连续的相等位时、会得到一个位填充错误。 您可能会关闭正在进行的传输中间的发送器。 因此、在断电期间、发送器 TX/RX 被拉低。 不知道发送器是否已从总线中取出的接收器将被错误地认为总线上有超过5个相同的位、而按照 CAN 协议、这些位是不允许的。 如果位流中有超过5个相同的位、CAN 协议要求发送器进行位填充。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢 Charles 的答复。  这是差分 CANH 和 CANL 的捕捉。   

    通过进一步的测试、我们认为我们的问题是电气问题。  我们的电气工程师在这里开始了一个包含其他信息的新主题、您可以在此处找到这些信息:  

    https://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/p/659422/2423118#2423118。

    Scott