【问题标题】:Linux MCP2551 CAN Bus: Stop working after one frameLinux MCP2551 CAN Bus:一帧后停止工作
【发布时间】:2021-02-05 14:54:55
【问题描述】:

我的问题好几天了,我的 Can Bus 在发送第一条消息后停止工作。

我使用 IOT-Gate-RPI 作为客户端,它具有 raspberry pi 3 计算模块和带有用于 can Bus 的 MCP2551 芯片的集成帽子。 线路的另一端,作为一个监视器,我使用的是运行在 W10 上的 IXXAT 软件 CANAnalyzer 3 Mini。

这是我在 Linux 上的设置: 在 /Boot/config.txt 上,我添加了:

dtparam=spi=on
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25
dtoverlay=spi0-hw-cs #(For Kernel > 4.4.x)

我还确保它将在启动时安装:

auto can0
iface can0 inet manual
    pre-up /sbin/ip link set can0 type can bitrate 125000 triple-sampling on restart-ms 100
    up /sbin/ifconfig can0 up
    down /sbin/ifconfig can0 down

然后,使用 can-utils:

$sudo ip link set can0 up
$cansend can0 111#1122334455667788 #Random message

到目前为止,一切顺利,消息出现在另一边的监视器上。但是,如果我再次发送它,什么都没有出现,我必须将 can0 设置为向下然后再向上,以便能够发送新消息。

[编辑 2021-02-10] 正如@Lundin 所问,我使用了示波器来检查信号形状。 因此,为了解释新设置,数据由连接在 CAN 总线上的 BMS(电池管理系统)连续发送。在第一张图片上,只有这个 BMS 和一个 IXXAT CAN 转 USB 加密狗。信号非常整洁,所有数据都安全到达。在第二张图片中,我只是插入了我的 IOT-Gate-RPI 的 MCP2515 帽子,信号直接变得混乱。而且我只能像上面描述的那样发送一帧。

Picture_1

Picture_2

Compulab 在 IOT-Gate-RPI 上给出的引脚排列也是第三张图片中的引脚排列。根据图 4,你会给出哪个引脚?

1 = ? 2 = ? 3 = ? 4 = ? 5 = ? 6 = ?

Picture_3

Picture_4

非常感谢您的帮助。

最好的问候

【问题讨论】:

  • 可能是消息没有得到确认?这会导致控制器停止工作。如果您的分析器有此选项,请告诉它确认消息。
  • 感谢@linuxfansaysReinstateMonica 的帮助!这是个好主意,但分析器似乎确实发送了一个 ACK​​。 “TX-passive”选项是禁用的,如果不是这样: 硬件阻止主动访问总线的模式。确认和错误都不能终止。 canAnalyser3 只是一个监听器
  • 监听软件是否跟踪错误帧?当你用示波器检查时,CAN 线上会发生什么?
  • 您好@Lundin,感谢您的帮助!所以只是为了解释示波器图片,数据是由连接在 CAN 总线上的 BMS(电池管理系统)连续发送的。在第一张图片上,只有这个 BMS 和一个 IXXAT CAN 转 USB 加密狗。信号非常整洁,所有数据都安全到达。在第二张图片中,我只是插入了我的 IOT-Gate-RPI 的 MCP2515 帽子,信号直接变得混乱。而且我只能如上所述发送一帧。 link谢谢大家!最好的问候
  • Compulab 在 IOT-Gate-RPI 上给出的引脚也是这个画廊的第一张图片上的引脚:link 根据图 2,你会给出哪个引脚? '1 = ? 2 = ? 3 = ? 4 = ? 5 = ? 6 = ?'谢谢大家 !最好的问候

标签: linux raspberry-pi3 can-bus canutils


【解决方案1】:

所以我刚收到 Compulab 支持的回复,声明的中断引脚有问题,它是 13 而不是 25。

在 /Boot/config.txt:

dtparam=spi=on
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=13
dtoverlay=spi0-hw-cs #(For Kernel > 4.4.x)

感谢大家的帮助,我学到了很多!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    • 1970-01-01
    • 2017-06-27
    • 2017-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多