【经验分享】怎样快速解决CAN通讯延迟困扰

由于CAN-bus总线的实时性强、抗干扰能力强等特点,在轨道交通、汽车电子等行业得到广泛的应用。伴随着技术的升级和CAN节点的增加,CAN协议提供的8字节数据传输以及最高1Mbps的波特率已经不满足工程师的应用需求。针对此现象,CiA协议就联合各大车厂,制定出新一代的CANFD协议,其主要的内容就是将一帧的数据段由8字节提升到64字节,同时可以提升数据段的波特率,以缩短通讯时间。

在一些行业中,对实时性要求很高,例如CAN通信在轨道交通制动系统中的应用,如果CAN-bus总线通讯出现了延迟,会严重影响轨道交通安全,造成列车运行瘫痪,甚至危及人身安全。那么,如何评估CAN网络延时情况以及如何降低CAN/CAN FD通讯延迟,保证通讯稳定呢?接下来,做详细介绍。

1.1 CAN/CAN FD网络信号延时上限

CAN-bus总线采用多主通信模式、非破坏式总线仲裁机制。发送节点在发送报文时,在发完CRC校验场之后,会发出长度为2个位的ACK段,如图1所示。当接收节点正确接收到有效报文时,就会在应答间隙(ACK SLOT)向发送节点发送一个“显性”位来作为回应。发送节点检测到总线呈现显性状态,便认为成功发送报文。如果发送节点没有检测到有效的显性位,则认为总线错误。所以,CAN FD信号延迟的最大时限是确保发送节点在应答间隙内接收到有效的应答信号。

图1 ACK应答

以1Mbit/s波特率为例,在单次采样模式下,当采样率为75%时,应保证在750ns内,发送节点能够采集到接收节点发出的显性位,否则会出现总线错误。即,延时总和时间≤位时间x采样点百分比。

1.2如何快速评估CAN网络延时情况?

工程师们在开发设计CAN底层硬件时,需要结合应用场景充分考虑延迟带来的影响。那么,工程师如何快速评估CAN网络的延时情况?如图2所示,是CANScope分析仪抓取的,由于传输延迟导致的错误波形。

图2 传输延迟错误

由于ACK界定符被前面的应答场严重压缩,导致被某个节点识别为显性(原本是隐性),所以这个识别错误的节点后面发出了错误帧,进行全局通知,让发送节点重新发送。

CANScope分析仪可以提供传输延迟测量的功能,可以进行单帧的延迟测量,也可以进行所有波形的延时统计。如图3所示,可以通过延迟测量出导线的等效长度,即最大延迟÷5ns/m,并给出该波特率下最长等效传输距离。

图3 CANScope传输延迟测量功能
1.3 CAN/CAN FD信号延时分析

通过延时上限可以了解到,我们需要严格的控制总线上各个部分造成的延时时间,确保延时时间总和在一定范围内。接下来,以CAN FD为例,了解一下造成延时的具体原因。

如图4所示,CAN FD网络上两节点之间通信过程中,CAN FD报文首先从节点A控制器发出,经过隔离器件、CAN FD收发器发送到总线上,再通过一段距离的传输依次达到节点B的CAN FD收发器、隔离器件,CAN FD控制器,最后又节点B发出ACK显性应答位,重复上述过程到达节点A。很明显,整个过程中,会影响信号传输延迟的因素有:CAN FD控制器、隔离方式、收发器循环延时、线缆传播。

图4 总线节点通讯结构

1.CAN FD控制器延时

CAN FD控制器造成的延时可以从两方面分析:

软件延时:在应用进程中,主CPU将数据从CAN FD控制器中读写耗费的时间;

控制器延时:CAN FD控制器实现串行化信息所耗费的时间。

这个过程中与主控制器、CAN FD控制器、接口芯片等有关,通常情况下,延时在纳秒级以下,可以忽略不计。

2.隔离方式造成的延时

为了增加信号传输的可靠性,通常都会在CAN FD底层硬件设计中添加隔离设计。隔离器件的添加,带来一定的延时并影响CANFD系统容许的线缆长度。不同的隔离方式,延时效果也不同。

常用的米乐官方版m6(中国)官方网站IOS/安卓通用版/手机APP有光耦+CAN FD收发器,如图5所示。图中光耦6N137具有典型的单向延时60ns,加上全部信号双向传输会造成240ns延时。

图5 光耦+CAN收发器

相比上述分立器件的隔离方式,也可以采用隔离收发器的方案,如图6所示。例如,CTM5MFD采用磁耦隔离方式,延时时间在3~5ns。这种情况下,基本不会影响总线容许通信线缆长度。

图6 CAN FD隔离收发器
3. 收发器循环延时

循环延时指TXD引脚信号变化导致至RXD引脚信号变化的时间差。如图7所示,可以测试TXD和RXD之间的循环延时。

图7 收发器循环延时测量

CAN FD收发器循环延时由收发器本身的性能决定,传播延时最大可达几百纳秒。CAN FD收发器延时是CAN总线规范必测项目,选取性能高的收发器,可以有效降低传输延时,增加总线传输距离。

4. 线缆传播延时

线缆是CAN-bus总线传输的重要介质,其长度也是影响通讯延时的重要原因。不同类型的线缆会造成不同的延时效果。通常情况下,导线延时为5ns/m,建议选择较粗的导线,线径越大,延迟越小,或者可以使用镀金、镀银的线缆(镀金的0.2平方毫米线相当于1.0平方毫米的铜线)。线径过小,其导线阻值过大,影响传输速率造成延迟。线缆的延时越小,CAN总线传输的距离越远。

综合上述介绍,我们可以总结出以下解决信号延迟的方案:

选择性能较好的CAN FD收发器和CAN FD控制器;

使用CTM3(5)MFD磁偶隔离收发器,降低延时;

使用标准线缆,禁止使用电话线、网线等线径较小的线缆,必要时可选择较好材质的导线;

波特率一定时,传输距离过大,可以添加CAN FD网桥,降低导线传输延时。

1.4 CAN/CANFD转CAN/CANFD网桥

如图8所示,CANFDBridge是广州米乐官方版m6(中国)官方网站IOS/安卓通用版/手机APP有限公司开发的高性能CAN/CANFD智能协议网桥,集成2路CAN/CANFD可切换接口,支持ISO标准CANFD与Bosch CANFD标准。每个接口具备独立的2500VDC电气隔离保护电路,使接口卡避免由于地环流的损坏,增强系统在恶劣环境中使用的可靠性。

CANFDBridge支持 CAN 转 CAN、CAN 转CANFD、CANFD转 CAN、CANFD转CANFD 等报文默认转换处理。除此之外,还提供帧映射、合并和拆分等特殊转换处理。用户可自由设定 CAN(FD)报文的转发映射、组包拆包等规则,满足自身应用需求。

图8 CAN FD网桥
1.1 CANScope总线综合分析仪系列

如图9所示,CANScope总线综合分析仪是一款综合性的CAN总线开发与测试的专业工具,集海量存储示波器、网络分析仪、误码率分析仪、协议分析仪及可靠性测试工具于一身,并把各种仪器有机的整合和关联;重新定义CAN总线的开发测试方法,可对CAN网络通信正确性、可靠性、合理性进行多角度全方位的评估;帮助用户快速定位故障节点,解决CAN总线应用的各种问题。

图9 CANScope分析仪