TI中文支持网
TI专业的中文技术问题搜集分享网站

AM335x的DCAN和TMS320F2812的eCAN通信失败

我想用AM335x的DCAN通过CAN总线控制几个DSP节点,双方设置了相同的波特率和采样点,但是就是无法通信,收发器用的都是TI的SN65HVD230,请问有人能帮我解决下这个问题吗?谢谢。

Steven Liu1:

信息有点太少了。

建议你参考着我们的DCAN User guide进行AM335x这边的设置,然后用分析仪或者是另一块AM335x的板子确认相应的CAN数据包这边有没有发送成功。

这样有助于你辨识是在335这边出的问题,还是在外部出的问题。

如果是裸跑的Starterware,里面应该有收发例程;如果是用Linux可以参考如下:

Linux SDK 7.0 :http://processors.wiki.ti.com/index.php/Linux_Core_DCAN_User%27s_Guide

Linux SDK 6.0及之前:http://processors.wiki.ti.com/index.php/AM335X_DCAN_Driver_Guide

Xiaomin Zhou:

回复 Steven Liu1:

谢谢您的回答,我已经解决了,是CAN波特率的问题,我还想问下CAN的波特率是不是不能自己随便设置,我设置两块DSP的CAN波特率为500000,采样点87.5%(我自己算的参数),它们无法通信,换成文档里的就可以了。另外linux socketcan的波特率是怎么算的,我设置bitrate 500000 sample-point 0.8,然后查看can0,发现实际上bitrate是500000,但是采样点是0.75,不知道里面是怎么计算的

Steven Liu1:

回复 Xiaomin Zhou:

我没有深入研究过,建议你可以看一下AM335x的TRM手册 23.3.16 CAN Bit Timing章节,这里面说的倒是蛮详细的。

The DCAN supports bit rates between less than 1 kBit/s and 1000 kBit/s.

赞(0)
未经允许不得转载:TI中文支持网 » AM335x的DCAN和TMS320F2812的eCAN通信失败
分享到: 更多 (0)