CAN延迟通讯故障的判定和解决

产品链接:https://www.zlg.cn/can/can/product/id/44.html

随着人们生活节奏的逐渐提高,地区与地区之间的距离已经不在成为问题,这得益于交通运输业的大力发展,其中高铁作为交通运输业的佼佼者,他也得到了人民大众的广泛认可。正因为如此,高铁中的通讯问题也得到了各种设备供应商和铁路公司的高度重视,他们是不能容忍这种错误的,因为这与每一位出行人员和列车人员的生命安全息息相关。下面针对某高铁通讯问题进行简要的实例讲解。

一、总线延迟产生原因

CAN总线主要制约其传输距离,由于高铁列车的车身较长通讯点较多,就会导致数据传输和响应的延迟。导线在传输数据时是存在延迟的,一般通常延迟为5ns/m,同时隔离器件的不同也会导致不同的延迟。其中还与导线材质(镀金的0.2平方米相当于1.0平方米的铜线)、CAN收发器与隔离方式有关,例如:光耦隔离延迟要比磁耦隔离大得多。

如果CAN的重同步不能弥补传输中所产生的延迟,就会导致应答定界符的位宽变大,最终导致应答定界符在识别过程中识别出错,将隐性电平识别为显性电平,出现定界符错误。如图1所示:

图表 1延时错误

二、延迟错误导致的结果

下面已某高速铁路的中产生的延时错误类型进行讲解:

这次检测出来的错误类型主要包括:应答定界符错误、定界符格式错误和帧结束格式错误,他们均属于延迟错误导致,下面已应答定界符错误为例:

应答定界符错误

图表 2应答定界符错误

从数据我们可以看出,应答定界符本应该为隐性电平,但由于传输应答的延迟问题导致应答定界符一直处在显性状态,这导致应答界定符格式出现错误。

三、如何检测传输延迟

首先要想检测CAN总线延迟错误必须有相应的CAN总线分析仪,下面以广州致远电子的CANSCOPE检测方式为例:

1)延迟分析

为了更快的进行故障点的定位,我们首先要对整个通讯过程的延时状况进行分析,找出延时存在的地方。根据CANSCOPE中“传输延时”将整个列表以延时从大到小的顺序将延时排列出来,以0.245倍位宽为界,超出该范围可定义为有应答错误风险。

图表 3延时统计与等效导线长度

由于总线上面挂接的节点距离测试点都不同,所以引起的延时都不一样。我们为了检测出总线最大的延时,通常把测试点放在总线的最远两端,测试的对象也是总线最远两端的两个节点发出来的报文。

图表 4延时测量

我们可以假定报文是从最左边的主机发出来的,那么距离他最远的从机就是最右端的,则最大延迟为:整体导线延迟+最远端节点(即最右端)的电路延迟(包括隔离器件与收发器延迟)。

四、消除延时误差的方法

为了减小延时,增加通讯距离和降低通讯错误率,我们可以采取以下措施:
1.采用磁隔离的CTM1051方案设计接口收发电路;
2.用较粗的导线代替细导线,标准为1.5线缆(延迟为5ns/m);
3.使用镀金或镀银的线缆;
4.增加网桥中继设备CANBridge延长通讯距离。
5.采用光纤传输,如致远电子的CANHUB-AF1S1,同等波特率可延长1倍通讯距离。

五、总结

要想保证CAN总线通讯正常首先要保证合理布置CAN节点,保每一个到达节点的报文不出现延时错误,其次一台好的分析工具也是必不可少的,它不但可以帮助我们精确快速地发现故障所在,还能以模拟方式测试我们总线在各种环境中的工况。

产品链接:https://www.zlg.cn/can/can/product/id/44.html