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.

[参考译文] TMS320F280039:CAN 通信传输失败

Guru**** 2802435 points

Other Parts Discussed in Thread: TMS320F280039

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1609407/tms320f280039-can-communication-transmission-failed

器件型号: TMS320F280039

在充电模块的应用场景中、TMS320F280039 存在通信故障问题。 具体而言、模块内发送了一个 120ms 的固定数据帧、不受其他数据帧的影响。 当发生通信故障时、数据帧消失、CAN 通信失败。 CAN_ES 寄存器的值为 231、其中 TxOk 位值为 0、LEC 位值为 7。 我们还测试了 DSP 芯片引脚和硬件电路之间的连接、发现 DSP 芯片没有发送数据帧。 我们应如何进行进一步的调查?

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

    您好:

    感谢您提供 CAN_ES 寄存器值。  是否可以使用 CAN 分析仪(PeakCAN 或示波器)探测 CAN 总线、以查看该帧是否在 CAN 总线中实际可见?

    此致、

    Joseph

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

    感谢您的意见

    我们测试了芯片 CAN 的 H 和 L 端子的波形、当通信失败时、波形上没有发送数据、波形中没有高电平或低电平变化。 正常情况下、高低电平变化之间的间隔为 120ms。 我们使用 can_sendMessage 函数来加载和发送数据帧。 在此函数之后、我们将确定 can_es.bit.TxOk 的值是否为 true。 如果通信失败、TxOk 未设置为 true、并且 CAN 波形上没有数据帧。

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

    您好:

    抱歉、我错过了 CAN_ES 值的第一个详细信息。  如果是 231 (0xE7)、则意味着设置了这些位:Boff、EWarn、EPass。  节点处于总线关闭状态、错误计数器已达到 255 的阈值限制。   

    可能存在重复的传输问题/错误、导致错误计数器饱和。  您还可以检查 CAN_ERRC 寄存器的值、以查看错误计数是多少。  还可以进行帧的示波器屏幕截图、以确认没有失真、并查看帧是否由接收节点确认。

    此致、

    Joseph