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.

[参考译文] LAUNCHXL-F28379D:CAN 硬件实现

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1113199/launchxl-f28379d-can-hardware-implementation

器件型号:LAUNCHXL-F28379D
主题中讨论的其他器件:SysConfigSN65HVD230

您好!  

我已使用 SysConfig 将 GPIO 18和19配置为 CAN 模块的 CAN_RX 和 CAN_TX 端口。 我启用了 CAN B 模块的 CAN 线路0中断和线路0上的全局中断。 我想将数据从 CAN A 模块传输到 CAN B 模块。 CAN B 模块有一个内置收发器。 因此、我使用了一个外部收发器 SN65HVD230来将数据从 CAN 模块传输到 CAN 总线。 为了实现此功能、我使用了 CAN_ex3_external_transmit。c 代码。 当我运行程序时、错误标志被设置为1、表示传输的数据不等于接收的数据。 我连接了示波器以监控 GPIO 19 (CAN_TX)引脚的输出、以检查是否传输了任何数据。 我在示波器中看到了最后期限。 (我甚至正确设置示波器以查看每分段20µs μ s 的信号、下降触发)。 我不认为任何数据是从 GPIO 19 (CAN 模块的 CAN_TX 引脚)传输的。

这就是我实现它的方式。

CAN B 模块的 SysConfig 设置

CAN A 的 SysConfig 设置

请帮助我解决此问题。 我无法理解 CAN 模块的 CAN_TX 引脚为何不传输数据。

谢谢、

Karthikeya

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

    Karthikeya  

    请参阅"CAN_ex1_loopback"。 通过针对 CANA 模块运行此示例、使用示波器检查是否能够观察到 GPIO19处传输的帧。  

    如果按预期运行、在运行"CAN_ex3_external_transmit "时、请检查 CAN_ERRC 寄存器、特别是发送错误计数器。 如果该值已递增、则表示发送节点未接收到 ACK 信号、这意味着接收节点的配置存在问题。

    另请参阅 AppNote https://www.ti.com/sprace5a/ 以了解常见的调试策略。

    如有任何疑问、请联系我们。

    谢谢。