【问题标题】:CAN-bus communication in the beaglebonebeaglebone 中的 CAN 总线通信
【发布时间】:2015-01-12 20:38:52
【问题描述】:

我正在努力实现大陆 ARS308 雷达和 beaglebone black 之间的 CAN 总线通信。除了这两个设备之外,我还连接了 MCP2551 以将 CAN 信号转换为 Rx/Tx。 问题是在配置通信时(一旦安装了 lib-socket 和 can-utils 包):

  1. modprobe 可以
  2. modprobe can-dev
  3. modprobe can-raw
  4. ip link set can0 up type can bitrate 500000

到目前为止,一切似乎都运行良好,但是当 can 通信开始时:

  1. ifconfig can0 up

beaglebone 中 Rx 引脚(MCP2551 的 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无法区分电平,什么也不读…… 有人遇到过这个问题吗?我已经尝试并搜索了很多,但没有任何东西对我有用。有什么可以帮助的想法吗?!

提前谢谢你!

【问题讨论】:

    标签: c# beagleboneblack can-bus


    【解决方案1】:

    您必须启动环回。 而不是:

    ip link set can0 up type can bitrate 500000
    

    放:

    ip link set can0 up type can bitrate 500000 loopback on
    

    这将允许系统转储。然而,candump 的值将被重复。为了测试您的网络,您将需要另一个 CAN 设备。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多