图 2 传输延迟错误
由于 ACK 界定符被前面的应答场严重压缩,导致被某个节点识别为显性(原本是隐性),所以这个识别错误的节点后面发出了错误帧,进行全局通知,让发送节点重新发送。
CANScope分析仪可以提供传输延迟测量的功能,可以进行单帧的延迟测量,也可以进行所有波形的延时统计。如图3所示,可以通过延迟测量出导线的等效长度,即最大延迟÷5ns/m,并给出该波特率下最长等效传输距离。
图 3 CANScope传输延迟测量功能
CAN/CAN FD信号延时分析
通过延时上限可以了解到,我们需要严格的控制总线上各个部分造成的延时时间,确保延时时间总和在一定范围内。接下来,以CAN FD为例,了解一下造成延时的具体原因。
如图4所示,CAN FD网络上两节点之间通信过程中,CAN FD报文首先从节点A控制器发出,经过隔离器件、CAN FD收发器发送到总线上,再通过一段距离的传输依次达到节点B的CAN FD收发器、隔离器件,CAN FD控制器,最后又节点B发出ACK显性应答位,重复上述过程到达节点A。很明显,整个过程中,会影响信号传输延迟的因素有:CAN FD控制器、隔离方式、收发器循环延时、线缆传播。
图 4 总线节点通讯结构
CAN FD控制器延时
CAN FD控制器造成的延时可以从两方面分析:
软件延时:在应用进程中,主CPU将数据从CAN FD控制器中读写耗费的时间;
控制器延时:CAN FD控制器实现串行化信息所耗费的时间。
这个过程中与主控制器、CAN FD控制器、接口芯片等有关,通常情况下,延时在纳秒级以下,可以忽略不计。
隔离方式造成的延时
为了增加信号传输的可靠性,通常都会在CAN FD底层硬件设计中添加隔离设计。隔离器件的添加,带来一定的延时并影响CANFD系统容许的线缆长度。不同的隔离方式,延时效果也不同。
常用的解决方案有光耦+CAN FD收发器,如图5所示。图中光耦6N137具有典型的单向延时60ns,加上全部信号双向传输会造成240ns延时。