admin管理员组

文章数量:1539571

文章目录

  • 背景
    • can0默认配置
    • 查看CAN参数
    • 设置CAN参数
  • 参考资料
    • 网卡配置规则
    • pre-up、up、post-up、pre-down、down、post-down

背景

项目问题:设备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关闭后动作

本文标签: Linux配参