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.

[参考译文] TMS320F28379D:DCAN 未通信

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1349859/tms320f28379d-dcan-not-communicating

器件型号:TMS320F28379D
主题中讨论的其他器件:C2000WARE

我正在使用两个 F28379D LaunchPad、使用 CAN 通信协议从一个 LaunchPad 向另一个 LaunchPad 发送一些数据。 我已经通过跳线连接了两个 LaunchPad 的 CAN_H 引脚和 CAN_L 引脚。 我正在使用名为"can_ex4_simple_transfer.c"的示例工程将一些数据从一个 Launchpad 发送到另一个运行 "can_ex_5_simple_receive.c"的 Launchpad。 在我正在传输数据的 CCS 调试窗口("can_ex4_simple_transfer.c" )中、可以看到 CanaRegs.can_ES.boff 为高电平且 CanaRegs.can_ERRC.TEC 固定为0xf8。 这意味着总线处于隐性状态、尽管当我尝试在放入断点时进入、总线始终处于显性状态、并且   CanaRegs.CAN_ERRC.TEC 也为0。 有人能帮助我理解为什么 TI 提供的示例代码不起作用吗? 或者我还缺少其他什么东西吗?  

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

    请下载 C2000ware 的最新版本(https://www.ti.com/tool/) C2000WARE )并尝试示例。  

    请下载我的应用报告 http://www.ti.com/lit/SPRACE5 、并仔细阅读调试提示。 通过查看此检查清单、可以解决大多数 CAN 问题。  

    确保已将 Launchpad 的接地连接起来。

    含义是当我试图进入中断点时总线始终处于显性状态时,总线因此处于隐性状态[/报价]

    澄清您说总线处于隐性/显性状态时的含义。 YU 测量了什么? 其中?

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

    感谢您的支持。 我已下载最新版本的 C2000 ware、并尝试使用 CAN 模块将一些数据从一个节点传输到另一个节点。 我连接了两个节点的 CAN_H 和 CAN_L 引脚。 我确保了传输节点和接收节点的 MSGID 与您在应用手册中提到的相同。 根据应用报告中的理解、当在节点上传输数据时、另一个节点应该确认、如果静默模式被禁用。 我已验证接收节点中已禁用静音模式、但当我使用 DSO (逻辑高电平/隐性状态)探测 CAN_H 和 CAN_L 时、CAN 总线的电压仍然为2V。 在 CCS 的调试窗口中、CanaRegs.CAN_ES.boff=1和 CanaRegs.CAN_ERRC.TEC=0xf8、这意味着发送错误计数为-8 (十进制)、CAN 总线处于隐性状态(逻辑高电平)。 如果我尝试执行 CanaRegs.CAN_CTL.ABO=1、以启用自动总线开启功能、那么   CanaRegs.CAN_ES.boff 也会立即变为1。 如果我做错了什么、请提供建议。  

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

    您尚未对上述内容作出答复。

    假设您正在发送器中运行 C:\ti\c2000\C2000Ware_5_02_00\driverlib\f2837xd\examples\cpu1\can\ex4_simple_transfer.c、并 在接收器中运行 C:\ti\c2000Ware_5_02_00_00\driverlib\f2837xd\examples\cpua\can\can_exc_receive.5\simple_receive.c。 我再次要求您非常仔细地浏览 SPRACE5 (不只是调试提示、而是整个文档)。 该文档包含了使您的第一个项目运行所需的一切内容。  

    我已经创建了一个视频来帮助使用 DCAN 的第一个通信项目: https://training.ti.com/getting-started-dcan-module。请看一下。  

    综合资源列表: https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1033069/faq-what-kind-of-resources-does-ti-provide-to-help-with-can-and-canfd

     除此之外、我想我没有太多的帮助。

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

    非常感谢您的支持。 正如您在上一篇文章中所问的、隐性状态我是指总线处于逻辑高电平状态、而显性状态我是指总线处于逻辑低电平状态。 我已将 LaunchPad 和 GPIO 映射的接地层也已正确连接、正如您在视频中所指出的那样。 问题仍然未解决。 我将尝试自行进行进一步调试。 再次感谢您提供调试技巧和视频。 他们非常乐于助人。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    GPIO 映射也可以像您在视频中指出的那样正确完成。

    对于 GPIO 重映射、请坚持使用 SPRACE5中的说明。 本视频是为 F280025制作的、这是一个不同的器件(尽管概念仍然是相同的)。

    在 CCS 的调试窗口中,CanaRegs.can_ES.boff=1

    脱离总线是一个严重错误。 在一个简单的双节点网络中、该网络也使用相同的 H/W 并运行 TI 提供的示例、您不应该看到 BO。

    总线始终处于显性状态 A

    总线绝不应"始终"处于显性状态。