0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

T113核心板CAN通讯bus-off自动恢复

眺望电子 2025-04-10 08:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言:

在汽车、工业自动化等领域的广泛应用中,CAN 总线作为关键的通信协议,其稳定性直接关系到系统的可靠运行。然而,实际应用中,CAN 总线常因电磁干扰、硬件故障等出现错误,导致节点进入总线关闭状态,通信中断。本文将深入探讨 CAN 总线自动恢复机制的原理、调优方法及实战应用,旨在帮助工程师优化系统配置,提升通信可靠性。

软硬件环境说明

10eb668e-15a3-11f0-9434-92fbcf53809c.jpg

本次实战应用基于眺望T113-I平台,Talowe-EVM-T113-i底板引出两路 CAN 接口,为方便测试,这里将两个 CAN 口连接(L-L,H-H)进行回传收发测试。

一、CAN 总线的错误处理机制
在 CAN 总线通信中,节点可能会因各种原因(如电磁干扰、硬件故障等)出现错误导致无法正确收发报文而不断的破坏总线的数据帧,从而影响其它正常节点通信。为了应对这种情况,CAN 协议设计了错误计数器机制。根据计数值不同,节点会处于不同的错误状态,并根据计数值的变化进行状态转换,当节点的发送错误计数器TEC达到一定阈值(TEC>255)时,节点会自动进入总线关闭状态。总线关闭态是节点最严重的错误状态,在此状态节点不能收发报文,以防止其对总线通信造成进一步干扰。1103988a-15a3-11f0-9434-92fbcf53809c.png


二、bus-off自动恢复机制


为了提高系统的可用性和容错能力,CAN驱动提供了 restart-ms 参数,用于自动恢复进入总线关闭状态的 CAN 设备。restart-ms 参数允许用户设置设备在进入总线关闭状态后自动重启的时间间隔。例如,restart-ms 1000 表示设备会在检测到总线关闭状态后,等待 1000 毫秒自动尝试恢复。

自动恢复机制具有以下特点:

  1. 无限次重试:设备会在每次总线关闭后按照设定的时间间隔尝试重启,直到总线恢复正常。
  2. 自动化处理:无需人工干预,设备可以自行检测并修复错误。


三、restart-ms 参数的调优
在实际应用中,合理设置 restart-ms 参数至关重要,以确保系统在错误发生时能够高效恢复,同时避免对总线造成额外负担。 3.1根据实时性需求设置恢复时间

  • 在高实时性要求的场景(如汽车控制系统),建议将 restart-ms 设置为较短的时间间隔(如 500 - 1000 毫秒),以确保设备快速恢复。
  • 在低实时性要求的场景(如工业自动化监控),可以适当延长恢复时间(如 3000 毫秒),以减少频繁重启对总线负载的影响。

3.2考虑系统负载

在高负载的 CAN 总线中,建议延长 restart-ms 时间(如 2000 毫秒或更长),以避免频繁重启增加总线负载


3.3动态调整与监控

系统运行过程中,通过监控工具定期观察错误恢复情况,并根据实际运行状况动态调整 restart-ms 参数。

四、实战案例

全志SDK内CAN自动恢复机制默认未开启。烧录眺望提供固件或SDK默认编译固件。将两个 CAN 口连接(L-L,H-H)进行回传收发测试。

编写一个简单脚本,awlink1每隔1秒通过cansend向awlink0发送一个CAN消息。

#!/bin/bash
ip link set awlink0 downip link set awlink0 type can bitrate 500000ip link set awlink0 up
ip link set awlink1 downip link set awlink1 type can bitrate 500000ip link set awlink1 up
candump -ta awlink0 >/dev/null 2>&1 &
while true; docansendawlink1123#1122334455667788>/dev/null2>&1 sleep 1done

4.1未开启自动恢复机制

运行脚本放到后台去执行后,这里选择用杜邦线将其中一个CAN口的CANH/CANL 短接。CANH/CANL短路时会导致错误从而进入总线关闭(bus-off)状态不再接收和发送数据。

用ip -details -statistics link show awlinkX 查询CANX的状态及情况。

11140d1e-15a3-11f0-9434-92fbcf53809c.png

注:根据cansend awlinkX选择的不同,报错提示也会有所不同。这里脚本为cansend awlink1,所以报错为sunxi-awlink awlink@0x1 awlink1: bus-off。

4.2开启自动恢复机制

修改全志SDK内文件(TinaSDK为sunxi_awlink.c,Longan SDK为sunxi_can.c)开启自动恢复机制,这里参数为500ms 后恢复,用户可根据实际需求调整。

priv->awlink.restart_ms = 500;

添加内容如图所示:

1128224a-15a3-11f0-9434-92fbcf53809c.png

重复4.1测试过程,运行脚本放到后台去执行后,将其中一个CAN口的CANH/CANL 短接。设备在检测到进入总线关闭(bus-off)状态后,等待500ms后自动尝试重启。

113e560a-15a3-11f0-9434-92fbcf53809c.png

ip -details -statistics link showawlinkX 查询到CAN数据继续正常收发。证明自动恢复机制开启成功!

五、总结

通过开启CAN自动恢复机制和合理设置 restart-ms 参数,CAN 设备能够在总线错误发生时自动高效恢复,从而保障系统的可靠性和稳定性。

想了解更多相关技术知识或产品信息,请关注眺望电子公众号并联系我们,我们将竭诚为您服务!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 核心板
    +关注

    关注

    6

    文章

    1344

    浏览量

    31751
  • can通讯
    +关注

    关注

    1

    文章

    32

    浏览量

    11205
  • 全志T113
    +关注

    关注

    0

    文章

    65

    浏览量

    846
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    米尔核心板纯国产入门级性价比优选T113

    国产入门级性价比T113核心板。这款国产核心板怎么样,到底有什么优势呢?目前市场上,入门级MPU市场主要集中在Cortex-A7/A35,少量CortexA8、Corte
    的头像 发表于 08-14 09:43 1727次阅读
    米尔<b class='flag-5'>核心板</b>纯国产入门级性价比优选<b class='flag-5'>T113</b>

    什么是CANBUS-OFF,如何恢复BUS-OFF

    CAN作为一款强大的工业总线,其高性能和高可靠性让其应用特别广泛。一个小知识:汽车里面各个模块之间的通讯就是使用CAN来实现的哦。
    的头像 发表于 02-21 09:42 6027次阅读
    什么是<b class='flag-5'>CAN</b>的<b class='flag-5'>BUS-OFF</b>,如何<b class='flag-5'>恢复</b><b class='flag-5'>BUS-OFF</b>?

    STM32G4 CAN为什么无法检测到bus-off状态?

    ,最开始是在总线的末端,没有进入bus-off。当我在对板子的CAN收发器接口处进行短接时进入了bus-off。我意识到好像与短路的距离有关,我开始用一节金属丝重新再总线的末端短接,并将CAN
    发表于 03-11 07:46

    请问NUC240 CAN bus遇到bus-off如何自动恢复

    各位大大安安,我在BSP中CAN范例遇到CAN bus中断进到bus-off状态问题,导至message无法传送,想问除了重新上电复位之外,如何初始化让
    发表于 08-21 06:04

    68元工业级双核A7,全新T113核心板震撼上市!

    万象奥科全新T113核心板震撼上市,仅68元、工业级品质、双核A7处理器、外设丰富,诠释极致性价比!
    的头像 发表于 05-05 17:45 1544次阅读
    68元工业级双核A7,全新<b class='flag-5'>T113</b><b class='flag-5'>核心板</b>震撼上市!

    全志T113核心板|T113芯片,双核A7米尔核心板零售价低至79元!

    全志T113核心板|T113芯片,双核A7米尔核心板零售价低至79元!米尔基于全志T113-S3核心板
    的头像 发表于 05-22 18:09 7757次阅读
    全志<b class='flag-5'>T113</b><b class='flag-5'>核心板</b>|<b class='flag-5'>T113</b>芯片,双核A7米尔<b class='flag-5'>核心板</b>零售价低至79元!

    米尔核心板全志T113纯国产入门级性价比优选

    国产入门级性价比T113核心板。这款国产核心板怎么样,到底有什么优势呢? 目前市场上,入门级MPU市场主要集中在Cortex-A7/A35,少量CortexA8、CortexA9。米尔公司涉及入门的平台NXP
    的头像 发表于 08-11 16:58 2568次阅读
    米尔<b class='flag-5'>核心板</b>全志<b class='flag-5'>T113</b>纯国产入门级性价比优选

    全志D1和t113对比

    全志D1和t113对比 全志D1和t113是两款非常常见的芯片,比较轻巧,适合需要轻松搭建系统的用户使用,虽然它们都是基于ARM体系结构设计的,但是也有各种细微的差异。下面,我们将比较这两款芯片
    的头像 发表于 08-17 11:28 5491次阅读

    基于T113开发优化启动速度方法

    T113核心板+及底板天嵌核心板规格书以下介绍T113开发优化启动速度的方法:Uboot修改1、修改u-boot-2018/cmd/sun
    的头像 发表于 08-17 14:46 2785次阅读
    基于<b class='flag-5'>T113</b>开发<b class='flag-5'>板</b>优化启动速度方法

    100%国产物料认证,米尔入门级国产核心板全志T113-i方案

    自米尔国产全志T113系列的核心板发布以来,这款高性价比、低成本、入门级、高性能的国产核心板咨询不断,配套的开发已经成交量数百套,深受工程师们的青睐,为了集齐
    的头像 发表于 09-21 08:01 2298次阅读
    100%国产物料认证,米尔入门级国产<b class='flag-5'>核心板</b>全志<b class='flag-5'>T113</b>-i方案

    上新!米尔发布纯国产入门级核心板全志T113-i方案

    自米尔国产全志T113系列的核心板发布以来,这款高性价比、低成本、入门级、高性能的国产核心板咨询不断,配套的开发已经成交量数百套,深受工程师们的青睐,为了集齐
    的头像 发表于 09-22 10:21 2129次阅读
    上新!米尔发布纯国产入门级<b class='flag-5'>核心板</b>全志<b class='flag-5'>T113</b>-i方案

    T113开发平台修改分区办法

    T113开发平台修改分区办法
    的头像 发表于 09-28 09:56 1640次阅读
    <b class='flag-5'>T113</b>开发平台修改分区办法

    T113开发平台mipi 5.5寸屏调试

    T113平台5.5寸1080x1920mipi屏调试指导
    的头像 发表于 10-19 16:22 2402次阅读
    <b class='flag-5'>T113</b>开发平台mipi 5.5寸屏调试

    7折购!米尔基于全志T113系列开发

    全志T113系列芯片是目前比较受欢迎的国产入门级嵌入式工业芯片。米尔是基于T113芯片开发较早、提供配置最全的厂家,目前是唯一一家提供T113-S和T113-i两种芯片
    的头像 发表于 06-21 08:01 1338次阅读
    7折购!米尔基于全志<b class='flag-5'>T113</b>系列开发<b class='flag-5'>板</b>

    SOM-TLT113工业核心板规格书

    核心板简介创龙科技SOM-TLT113是一款基于全志科技T113-i双核ARMCortex-A7+玄铁C906RISC-V+HiFi4DSP异构多核处理器设计的全国产工业核心板
    发表于 03-18 09:31 0次下载