Linux can配参

背景

项目问题:设备CAN甩线接到车上,车就会挂/报错。
问题原因:波特率和采样率不一致导致,物理连接后若can参数与总线参数不同就会报错。这里应用程序默认是不修改和启动can0的。采样率一般80%,波特率这里是250K,查看系统网卡配参,can0启动时设置的波特率是500000。

can0默认配置

can0启动时默认参数(网卡配置文件:/etc/network/interfaces)

# can0 interfaces
auto can0
iface can0 inet manual
pre-up /sbin/ip link set $IFACE type can bitrate 500000 triple-sampling on
up /sbin/ifconfig $IFACE up                                               
down /sbin/ifconfig $IFACE down

# can1 interfaces
auto can1                     
iface can1 inet manual        
pre-up /sbin/ip link set $IFACE type can bitrate 500000 triple-sampling on
up /sbin/ifconfig $IFACE up                                               
down /sbin/ifconfig $IFACE down

Linux文本内容替换

sed -i 's/500000/250000/g'  /etc/network/interfaces

查看CAN参数

以can0为例,

ip -details link show can0

查看 can0 的配置在这里插入图片描述
查看 can0 的比特率配置等,以及统计数据(接收/发送/出错帧等)

ip -details -statistics link show can0 

在这里插入图片描述

canconfig can0

在这里插入图片描述

设置CAN参数

应用代码是这样设置can参数的

ifconfig can0 down;ip link set can0 type can restart-ms 200;ip link set can0 type can bitrate 500000 sample-point 0.80 sjw 3 > /dev/null;ifconfig can0 up

ifconfig can1 down;ip link set can1 type can restart-ms 200;ip link set can1 type can bitrate 250000 sample-point 0.80 sjw 3 > /dev/null;ifconfig can1 up

//其他
ifconfig can0 down;canconfig can0 bitrate 500000 > /dev/null;ifconfig can0 up

参考资料

  1. 如何测试验证linux下的CAN接口
  2. 嵌入式linux的can0配置
  3. 网卡配置规则
  4. pre-up、up、post-up、pre-down、down、post-down
  5. I.MX6 Android CAN 命令行测试
  6. CAN接口简介
  7. 如何处理CAN通讯故障

网卡配置规则

ubuntu需要在/etc/network/interfaces文件中设置网络配置,基本的格式如下:

auto <网卡名>
iface <网卡名> inet <模式>
address <ip>
netmask <掩码>
gateway <网关>
dns-nameservers <dns1, dns2>

网卡名可通过以下命令来获取到系统全部的网卡名:

ifconfig -a

模式一般使用dhcp或static。当设置为static静态设置时,需要说明至少address和netmask两个参数,示例:

1.通过dpchp

auto eth0
iface eth0 inet dhcp

2.静态ip

auto eth0
iface eth0 inet static
address 192.168.0.11
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1

pre-up、up、post-up、pre-down、down、post-down

pre-up网卡启用前的动作
up启用时候的动作
post-up启用后的动作
pre-down关闭前的动作
down关闭时动作
post-down关闭后动作
  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值