接口/总线/驱动
目前在市场上的商用车和工业控制领域中广泛使用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消息转换)。
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !