如何解决CAN总线中报文传输受限

接口/总线/驱动

1139人已加入

描述

目前在市场上的商用车和工业控制领域中广泛使用CAN总线网络。随着电子、半导体、通讯等行业的快速发展,为了提高汽车的安全性和舒适性,实现工业控制领域的智能化,以及增强网络连接与安全等问题,使得CAN总线的负载急剧增大。这时候CAN总线1Mbps的最高传输速率就显得捉襟见肘。

每个CAN报文只有8字节,当节点需要发送较大的数据报文时很容易受限,所以要传输大于8字节数据时,就要进行分包传输。

总线网络

由此可见,在一些特殊场景,只有8字节的CAN帧容量给功能的实现带来了许多困扰。

常见问题

1、传输大于8字节的内容的时候必须分包传输,这就导致了每发一次8字节CAN帧,都需要重新发送ID、CRC、帧结尾等“无用”的数据。

2、CAN控制器与CPU之间的通讯需要一位进行校验,如果没有校验就会导致出错风险,而每个CAN帧只有8字节,再减去1个校验字节,就只有7个字节是有效负载,更加恶化了数据传输。

3、在采取分包传输的方法时,很容易被其他优先级较高的报文插入,或者因为干扰等错误引起报文丢失、抑或延迟,导致了接受节点的软件判断困难,增加了软件复杂程度。

介绍三种方法解决报文传输数据不够用的情况

把CAN ID中的某些位当作数据来用

下图所示的就是在29位ID的扩展帧ID中,可以挤出3个字节做数据位。

总线网络

升级到CAN FD

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

总线网络

通过多路CAN转CAN FD网桥

在很多场合无法重新将CAN节点更改为CAN FD节点,最简单的解决方法就是使用CAN-CAN FD网桥,利用多路复用技术实现将多个节点的CAN报文通过打包为一个CAN FD报文进行更高速率传输,来改善CAN总线数据不够用的情况。

总线网络

典型的CAN网桥如Ixxat的CANbridge NT420,通过CANbridge NT420也可以连接两个不同波特率的CAN网络或者进行电气隔离。

CANbridge NT420具有4个CAN通道,其中两个通道也可以作为CAN FD通道使用。

CANbridge NT具有强大处理能力,可以进行消息过滤,ID翻译和数据多路复用技术 (例如需要CAN FD到CAN消息转换)。

审核编辑:汤梓红

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分