码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Linux can配参


    文章目录

    • 背景
      • 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    Linux文本内容替换

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

    查看CAN参数

    以can0为例,

    ip -details link show can0
    
    • 1

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

    ip -details -statistics link show can0 
    
    • 1

    在这里插入图片描述

    canconfig can0
    
    • 1

    在这里插入图片描述

    设置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
    • 2
    • 3
    • 4
    • 5
    • 6

    参考资料

    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>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

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

    ifconfig -a
    
    • 1

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

    1.通过dpchp

    auto eth0
    iface eth0 inet dhcp
    
    • 1
    • 2

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

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

    pre-up网卡启用前的动作
    up启用时候的动作
    post-up启用后的动作
    pre-down关闭前的动作
    down关闭时动作
    post-down关闭后动作
  • 相关阅读:
    2024年申报国自然项目基金撰写及技巧
    2023年浙江大学报考点公告及网报公告
    国科大-计算机算法设计与分析-卜东波作业3
    孟菲斯风格知道吗?如何应用在UI设计领域
    systrace/perfetto抓取方式分享
    C语言 | Leetcode C语言题解之第148题排序链表
    【Linux开发】Linux中uboot的常用命令及环境变量大全
    求最大公约数、最小公倍数、
    Spring——AOP用到的代理模式
    Flutter BoxDecoration 实现圆形、圆角、下划线、阴影、渐变色背景
  • 原文地址:https://blog.csdn.net/mayue_web/article/details/127590036
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号