Can总线的调试方法及常见问题

目录

接线

测试

can指令

can检测


Can总线多用于汽车电子,车载通信功能,其功能稳定接线简单,通信速率快,现介绍其常用调试方法如下:

接线

只有两根高低电平线canl canh,要分别接到串口db9的2 7号端子,如果终端控制器没有终端电阻要并联终端电阻。否则数据无法接收到,而且电阻也不能并联太多,否则随着电阻值降低功能失效,不能形成有效回路。

测试

是否联通,可以用万用表分别测试两边是否短路,用canoe测试端口能否收到数据,canoe是不带终端电阻的如果两端都不带终端电阻那么接收数据回提示短路。可以用linux命令发送can数据。发送前确保can卡驱动安装好,可以用ifconfig -p看是否有can选项,另外可以用命令查看can口是否初始化过。确保canoe和控制器两端的波特率一致,否则无法接收到数据。

can指令

联通后可以用两个控制器分别接收发送can数据,包括标准帧和扩展帧,扩展帧id 29位,数据共8个字节。可以用指令can dump ,can send测试数据收发。

1. 安装can-utils包
“`
sudo apt-get install can-utils
“`
可以通过以上命令来安装can-utils包,这个包中包含了一些CAN工具,包括发送CAN数据的工具。

2. 启动CAN接口
在发送CAN数据之前,需要先启动CAN接口。以下是启动CAN接口的命令:
“`
sudo ip link set can0 up type can bitrate 500000
“`
其中can0是CAN接口的名称,可以根据实际情况修改。bitrate参数指定了CAN总线的波特率,这里设置为500000bps。

3. 发送CAN数据
使用cansend命令可以发送CAN数据。以下是cansend命令的语法:
“`
cansend  #
“`
其中,是CAN接口的名称,是CAN数据帧的标识符,是CAN数据。可以根据实际情况修改这些参数。

示例:
“`
cansend can0 123#11223344
“`
以上命令会向CAN接口can0发送一帧CAN数据,标识符为0x123,数据为0x11223344。

can检测

都正常的情况下,也有可能收不到数据,有可能是采样率设置不对,一般的采样点在0.85,用示波器看是上升沿的85%位置处。如果数据偶尔能收到一个两个说明要调整采样率。比如0.87直到能收到为止。可以通过指令设置采样率。

ip link set can0 type can bitrate 1000000 sample-point 0.8 dbitrate 5000000 dsample-point 0.75 fd on restart-ms 1000

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三十度角阳光的问候

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值