我正致力于在大陆的ARS308雷达和beaglebone黑色之间实现CAN总线通信。除此之外,我还连接了MCP2551,将CAN信号转换为Rx / Tx。 问题是在配置通信时(一旦安装了lib-socket和can-utils包):
直到这一点,一切似乎都完美无缺,但是当能够开始沟通时:
beaglebone(MCP2551的Rx引脚)中Rx引脚上的信号波形改变其波形,低电压电平高于2伏。见下面的图片。
http://imageshack.com/a/img910/3126/VufRWU.jpg
http://imageshack.com/a/img903/2530/eusAhX.jpg
通信开始后,测试candump命令会显示它们无法正常工作。因为,当创建虚拟CAN端口这些工具(candump / cansend)工作时,我的猜测是电压水平的问题。可以看出,当CAN通信开始时,低电压电平高于2V,并且beaglebone不能区分电平,它不会读取任何东西...... 有谁遇到过这个问题?我已经尝试过google了很多,但没有任何对我有用。任何可以帮助的想法?!
提前谢谢!
答案 0 :(得分:0)
你必须开始环回。 而不是:
ip link set can0 up type can bitrate 500000
放:
ip link set can0 up type can bitrate 500000 loopback on
这将使系统变得甜蜜。但是,重复使用candump的值。要测试您的网络,您需要另一台CAN设备。