查看: 1557|回复: 0

[原创] 教您如何解决CAN总线中报文传输受限

[复制链接]
  • TA的每日心情
    开心
    2023-6-12 14:34
  • 签到天数: 165 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2019-8-20 09:59:22 | 显示全部楼层 |阅读模式
    分享到:
        目前在市场上的商用车和工业控制领域中广泛使用CAN总线网络。随着电子、半导体、通讯等行业的快速发展,为了提高汽车的安全性和舒适性,实现工业控制领域的智能化,以及增强网络连接与安全等问题,使得CAN总线的负载急剧增大。这时候CAN总线1Mbps的最高传输速率就显得捉襟见肘。
       每个CAN报文只有8字节,当节点需要发送较大的数据报文时很容易受限,所以要传输大于8字节数据时,就要进行分包传输。
    1.jpg
                                  
       由此可见,在一些特殊场景,只有8字节的CAN帧容量给功能的实现带来了许多困扰。
    下面就是一些常见的问题:
       1,传输大于8字节的内容的时候必须分包传输,这就导致了每发一次8字节CAN帧,都需要重新发送ID、CRC、帧结尾等“无用”的数据。
       2,CAN控制器与CPU之间的通讯需要一位进行校验,如果没有校验就会导致出错风险,而每个CAN帧只有8字节,再减去1个校验字节,就只有7个字节是有效负载,更加恶化了数据传输。
       3,在采取分包传输的方法时,很容易被其他优先级较高的报文插入,或者因为干扰等错误引起报文丢失、抑或延迟,导致了接受节点的软件判断困难,增加了软件复杂程度。
    下面接介绍三种方法解决报文传输数据不够用的解决办法
    一、把CAN ID中的某些位当作数据来用
       下图所示的就是在29位ID的扩展帧ID中,可以挤出3个字节做数据位。
    2.jpg

    二、升级到CAN FD
      CAN FD协议在2012年Bosch发布了CAN总线的升级协议。CAN FD相较于CAN拥有更高的带宽与更快的传输速率。
    3.jpg

    三、通过多路CAN转CAN FD网桥
    在很多场合无法重新将CAN节点更改为CAN FD节点,最简单的解决方法就是使用CAN-CAN FD网桥,利用多路复用技术实现将多个节点的CAN报文通过打包为一个CAN FD报文进行更高速率传输,来改善CAN总线数据不够用的情况。
    QQ截图20190813172728.jpg
    典型的CAN网桥如Ixxat的CANbridgeNT420,通过CANbridge NT420也可以连接两个不同波特率的CAN网络或者进行电气隔离。
       
    CANbridge NT420具有4个CAN通道,其中两个通道也可以作为CANFD通道使用。
    CANbridge NT具有强大处理能力,可以进行消息过滤,ID翻译和数据多路复用技术 (例如需要CANFD到CAN消息转换)。

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-20 12:25 , Processed in 0.129068 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.