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.

[参考译文] TMS570LC4357:CAN 总线不发送 ACK

Guru**** 2457760 points
Other Parts Discussed in Thread: HALCOGEN, TCAN337

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1136873/tms570lc4357-can-bus-not-sending-acks

器件型号:TMS570LC4357
主题中讨论的其他器件:HALCOGENTCAN337

大家好、

TMS5704357在需要接收具有任意 ID 的扩展 ID CAN 总线帧的设计中、我们的 HALCoGen 配置如下图所示。

您可以在下面的逻辑分析仪捕获中看到没有 ACK、这应该由 TMS570提供。 我认为、使用我们的 HALCoGen 配置、它应该会返回任何帧 ID。  为什么 TMS570不在这些帧上发送 ACK?  我还应该注意的是、在任何时候都不会输入 CAN 中断处理程序代码。

 

如果需要、可使用 TCAN337 IC 将 MCU 与系统 CAN 总线相连

谢谢你。

-3月

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

    尊敬的 Mar:

    接收器是否具有与发送器相同的波特率? 您的发送器侧是否有任何错误标志?

    在向 CPU 发出中断请求之前、有三个"门":

    1:产生中断请求的模块有一个寄存器来启用它可以产生的每个中断。

    2.矢量中断管理器(VIM)有寄存器允许按照优先级机制(先是较低的通道编号)将来自模块的中断请求转发给 CPU。

    最后、CPU 本身必须被配置为响应由 VIM (IRQ 或 FIQ)转发的中断请求。

    例如:_enable_IRQ ();

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

    Mark、您好!

    这可能是由节点之间不同的波特率引起的。 确保 CAN 总线网络上的所有节点都配置为具有相同的波特率。

    每个无 误地接收帧的 CAN 消息接收 器将把 CAN 总线驱动至确认槽中的显性状态。 CAN 报文发送器检测到 CAN 总线被驱动至显性状态、因此知道至少有一个其他节点接收到了报文而没有错误。