目前在市场上的商用车和工业控制领域中广泛使用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的CANbridgeNT420,通过CANbridge NT420也可以连接两个不同波特率的CAN网络或者进行电气隔离。 CANbridge NT420具有4个CAN通道,其中两个通道也可以作为CANFD通道使用。 CANbridge NT具有强大处理能力,可以进行消息过滤,ID翻译和数据多路复用技术 (例如需要CANFD到CAN消息转换)。
|