在一些行业中,对实时性要求很高,例如CAN通信在轨道交通制动系统中的应用,如果CAN-bus总线通讯出现了延迟,会严重影响轨道交通安全,造成列车运行瘫痪,甚至危及人身安全。那么,如何评估CAN网络延时情况以及如何降低CAN/CANFD通讯延迟,保证通讯稳定呢?接下来,做详细介绍。
CAN-bus总线采用多主通信模式、非破坏式总线仲裁机制。发送节点在发送报文时,在发完CRC校验场之后,会发出长度为2个位的ACK段,如图1所示。当接收节点正确接收到有效报文时,就会在应答间隙(ACKSLOT)向发送节点发送一个“显性”位来作为回应。发送节点检测到总线呈现显性状态,便认为成功发送报文。如果发送节点没有检测到有效的显性位,则认为总线错误。所以,CANFD信号延迟的最大时限是确保发送节点在应答间隙内接收到有效的应答信号。
1.2如何快速评估CAN网络延时情况?
工程师们在开发设计CAN底层硬件时,需要结合应用场景充分考虑延迟带来的影响。那么,工程师如何快速评估CAN网络的延时情况?如图2所示,是CANScope分析仪抓取的,由于传输延迟导致的错误波形。
由于ACK界定符被前面的应答场严重压缩,导致被某个节点识别为显性(原本是隐性),所以这个识别错误的节点后面发出了错误帧,进行全局通知,让发送节点重新发送。
CANScope分析仪可以提供传输延迟测量的功能,可以进行单帧的延迟测量,也可以进行所有波形的延时统计。如图3所示,可以通过延迟测量出导线的等效长度,即最大延迟÷5ns/m,并给出该波特率下最长等效传输距离。
如图4所示,CANFD网络上两节点之间通信过程中,CANFD报文首先从节点A控制器发出,经过隔离器件、CANFD收发器发送到总线上,再通过一段距离的传输依次达到节点B的CANFD收发器、隔离器件,CANFD控制器,最后又节点B发出ACK显性应答位,重复上述过程到达节点A。很明显,整个过程中,会影响信号传输延迟的因素有:CANFD控制器、隔离方式、收发器循环延时、线缆传播。
1.CANFD控制器延时
CANFD控制器造成的延时可以从两方面分析:
这个过程中与主控制器、CANFD控制器、接口芯片等有关,通常情况下,延时在纳秒级以下,可以忽略不计。
2.隔离方式造成的延时
为了增加信号传输的可靠性,通常都会在CANFD底层硬件设计中添加隔离设计。隔离器件的添加,带来一定的延时并影响CANFD系统容许的线缆长度。不同的隔离方式,延时效果也不同。
常用的解决方案有光耦+CANFD收发器,如图5所示。图中光耦6N137具有典型的单向延时60ns,加上全部信号双向传输会造成240ns延时。
CANFD收发器循环延时由收发器本身的性能决定,传播延时最大可达几百纳秒。CANFD收发器延时是CAN总线规范必测项目,选取性能高的收发器,可以有效降低传输延时,增加总线传输距离。
4.线缆传播延时
线缆是CAN-bus总线传输的重要介质,其长度也是影响通讯延时的重要原因。不同类型的线缆会造成不同的延时效果。通常情况下,导线延时为5ns/m,建议选择较粗的导线,线径越大,延迟越小,或者可以使用镀金、镀银的线缆(镀金的0.2平方毫米线相当于1.0平方毫米的铜线)。线径过小,其导线阻值过大,影响传输速率造成延迟。线缆的延时越小,CAN总线传输的距离越远。
综合上述介绍,我们可以总结出以下解决信号延迟的方案:
选择性能较好的CANFD收发器和CANFD控制器;
使用CTM3(5)MFD磁偶隔离收发器,降低延时;
波特率一定时,传输距离过大,可以添加CANFD网桥,降低导线传输延时。
如图8所示,CANFDBridge是广州致远电子有限公司开发的高性能CAN/CANFD智能协议网桥,集成2路CAN/CANFD可切换接口,支持ISO标准CANFD与BoschCANFD标准。每个接口具备独立的2500VDC电气隔离保护电路,使接口卡避免由于地环流的损坏,增强系统在恶劣环境中使用的可靠性。
CANFDBridge支持CAN转CAN、CAN转CANFD、CANFD转CAN、CANFD转CANFD等报文默认转换处理。除此之外,还提供帧映射、合并和拆分等特殊转换处理。用户可自由设定CAN(FD)报文的转发映射、组包拆包等规则,满足自身应用需求。
如图9所示,CANScope总线综合分析仪是一款综合性的CAN总线开发与测试的专业工具,集海量存储示波器、网络分析仪、误码率分析仪、协议分析仪及可靠性测试工具于一身,并把各种仪器有机的整合和关联;重新定义CAN总线的开发测试方法,可对CAN网络通信正确性、可靠性、合理性进行多角度全方位的评估;帮助用户快速定位故障节点,解决CAN总线应用的各种问题。