【经验分享】如何快速解决CAN/CAN FD通讯延迟困扰?
2020/3/25 20:26:21发布506次查看
can-bus总线在轨道交通、医疗设备等行业得到广泛应用,但工程师们经常会遇到信号传输延迟的问题困扰。本文将针对传输延迟问题,进行详细分析,并给出一些可行的解决方案。
由于can-bus总线的实时性强、抗干扰能力强等特点,在轨道交通、汽车电子等行业得到广泛的应用。伴随着技术的升级和can节点的增加,can协议提供的8字节数据传输以及最高1mbps的波特率已经不能满足工程师的应用需求。针对此现象,cia协议联合各大车厂,制定出新一代的can fd协议,其主要的内容就是将一帧的数据段由8字节提升到64字节,同时可以提升数据段的波特率,以缩短通讯时间。
在一些行业中,对实时性要求很高,例如can通信在轨道交通制动系统中的应用,如果can-bus总线通讯出现了延迟,会严重影响轨道交通安全,造成列车运行瘫痪,甚至危及人身安全。那么,如何评估can网络延时情况以及如何降低can/can fd通讯延迟,保证通讯稳定呢接下来,做详细介绍。
can/can fd网络信号延时上限
can-bus总线采用多主通信模式、非破坏式总线仲裁机制。发送节点在发送报文时,在发完crc校验场之后,会发出长度为2个位的ack段,如图1所示。当接收节点正确接收到有效报文时,就会在应答间隙(ack slot)向发送节点发送一个“显性”位来作为回应。发送节点检测到总线呈现显性状态,便认为成功发送报文。如果发送节点没有检测到有效的显性位,则认为总线错误。所以,can fd信号延迟的最大时限是确保发送节点在应答间隙内接收到有效的应答信号。
图1 ack应答
以1mbit/s波特率为例,在单次采样模式下,当采样率为75%时,应保证在750ns内,发送节点能够采集到接收节点发出的显性位,否则会出现总线错误。即,延时总和时间≤位时间x采样点百分比。
如何快速评估can网络延时情况
工程师们在开发设计can底层硬件时,需要结合应用场景充分考虑延迟带