齐家敏 耿 煜 程 昊

(湖北文理学院 纯电动汽车动力系统设计与测试湖北省重点实验室,湖北 襄阳441053)

1 概述

CAN 总线是80 年代德国BOSCH 公司为了解决汽车内部通讯而研发的一套局部短距离通讯协议,由于其高传输速率及可靠性,以及防爆特性而在汽车等众多领域获得了广泛的应用[1]。多年来一直备受各个厂家的青睐,是目前最有前途的现场总线之一。随着电子技术日新月异,速率越来越高,工况干扰越来越复杂,同时对CAN 总线抗干扰能力提出了越来越高的要求。CAN 总线多用于工控和汽车领域,在CAN 总线的开发测试阶段,需要对其拓扑结构,节点功能,网路整合等进行开发测试,需要虚拟、半虚拟、全实物仿真测试平台,并且必须测试各节点是否符合ISO11898 中规定的错误响应机制等。CAN 总线测试主要包括物理层测试、数据链路层测试以及应用层测试,物理层测试主要测试CAN 总线的电气特性,数据链路层和应用层测试主要包括协议层测试及其抗干扰能力测试[2]。根据ISO11898 标准协议仅仅规定了物理层和数据链路层协议,应用层交给厂家根据自己的需求开发自己的应用层协议。应用层协议现如今应用比较广泛的是特用于工厂自动化的Device Net、适用于嵌入式工业局域网的CANOpen 和专门为大型货车和重工机械车辆设计J1939。CAN 总线测试是依据ISO11898-1 数据链路层标准和ISO11898-2 物理层协议标准,针对CAN 总线的电气参数测试、协议兼容性测试、噪声抑制等测试,制定了ISO16845 CAN总线一致性测试标准,主要包括单向接收、单向发送以及双向通讯的测试目的、连接结构、测试内容和通过准则等内容的测试细则,可有效而全面地解决CAN 总线产品的一致性、有效性测试问题[3]。ISO16845 规定的CAN 总线一致性测试除了对总线产品进行正常功能的测试外,还应包括波形畸变、失真、注入错误、加入噪声等特殊条件的测试。针对目前CAN 总线产品设计阶段CAN 总线测试设备的普遍需求,由于所需测试指标繁多、信号要求苛刻,能完整进行CAN 总线校准标定的科研设备国内还没有研发和使用的报道[4]。因此,研发一套能够对CAN 总线性能进行全面测试的系统是具有广泛使用前景的。

2 CAN 总体设计方案

CAN 总线信号实质上就是电平信号,电平信号的好坏决定着CAN 总线信号的稳定性和抗干扰能力。因此针对CAN 总线的物理层即电平信号特性进行测试;需要测试电平信号的显隐性电平的电压、电平信号上升下降的斜率、电平信号的位时间等进行测试。作为CAN 总线信号的发送和接收者电控单元也需要对其进行物理层的测试验证。因为电控单元的一些内部特性决定他发出的信号的电平特性和抗干扰能力;所以要测试电控单元的终端电阻、电控单元的耐高低压测试、CAN 总线故障测试和抗发动机启动电压波动测试。电控单元的功能实现,需要CAN 总线数据的交互;因此需要对CAN 总线信号传输的通信层和数据链路层进行测试。在通信层和数据链路层测试中,主要关注信号的采样点测试、报文长度、报文周期、总线负载率和非预期帧接收的测试。这些测试可以保证电控单元数据发送和接收准确性。根据CAN 节点的测试要求,设计的CAN 总线自动化测试系统框图如下图:

图1 CAN 自动化测试系统总体方案

CAN 总线测试分一对一测试和集成测试,一对一测试就是对CAN 总线的单个节点进行物理层和数据链路层测试,集成测试也就是把待测CAN 总线的所有节点同时打开来测试它的物理层和数据链路层特性。下面以单点一对一测试来简单描述测试的基本原理和流程。

CAN 总线测试严格依据ISO11898-1CAN 总线数据链路层协议、ISO11898-2 CAN 总线物理层协议以及ISO16845 CAN 总线一致性测试标准要求。主要完成待测CAN 总线系统的电气层、协议层及噪声抑制性能校准测试,总体功能包括:

a. CAN 总线接收发送性能测试功能:输出参数可控或经过计量确认的总线信号,来校准规定的容差范围内的接收性能,总线信号波形可控的参数包括电压幅度、占空比、上升沿、下降沿、过零点畸变、波形对称性、噪声叠加和同步信号。

b. CAN 总线时钟稳定度(抖动)的校准与测试功能:CAN 总线内部的时钟信号作为总线信号的基准,是影响总线波形参数的主要因素,包括位时间等,研究时钟频率对CAN 总线性能的影响。

c. 具备错误注入以及错误检测功能,可注入/检测的错误包括:奇偶检验错误、命令字错误、数据字错误及状态字错误等。

3 CAN 总线测试内容、过程与步骤

本测试系统基于Windows 操作系统,以Labview、VC++为程序设计工具,结合NI 公司MeasurmentStudio 虚拟仪器控件设计操作界面,使操作界面更加美观且便于操作。为了便于功能的修改和扩充,软件结构采用模块化程序设计方式。在功能上,根据CAN 总线物理层和数据链路层测试标准需求进行设计。

本测试系统的信号及控制流向见图一的箭头,具体测试项目描述如下:首先根据测试需求,CAN 信号源根据严格依据ISO11898-1CAN 总线数据链路层协议、ISO11898-2 CAN 总线物理层协议以及ISO16845 CAN 总线一致性测试标准要求产生标准帧、扩展帧以及错误帧等。

测试第一项,CAN 总线接收发送性能测试:首先在上位工控机的控制下,由CAN 信号源输出参数可控或经过计量确认的总线信号,来校准规定的容差范围内的接收性能,总线信号波形可控的参数包括电压幅度、占空比、上升沿、下降沿、过零点畸变、波形对称性、噪声叠加和同步信号。同时在一次测试过程中程控电源固定一定的电平,在后续的测试过程中每次更换一种电平,以及CAN 信号干扰源提供各种强度的电磁干扰信号以及人为可控的某一位或多位信号,产生错误帧信号,待测试系统根据发送的信号产生相应的回复信号,测试待测试系统针对不同信号的相应过程,由上位机根据待测试系统的相应来判断和标定待测试系统的相应性能。同时示波器也采集测试信号并把CAN 总线测试信号采集下来通过USB 接口把信号传输到上位机进行记录,根据示波器的采集信号与待测试系统的相应过程信号进行比对,从而测试出待测试系统的物理层缺陷。上述测试过程发送的信号包括标准帧、扩展帧、远程帧,出错帧、超载帧等,信号电平在2v-3.75V 之间可调,每次测试发送一种电平一种信号,然后更换下一种电平及下一种帧信号,从而完成所有可能信号在所有电平下的相应性能。

测试第二项,CAN 总线时钟稳定度的校准与测试:CAN 总线信号内部的时钟信号作为总线信号的基准,是影响总线波形参数的主要因素,包括位时间等,研究时钟频率对CAN 总线性能的影响。测试系统首先控制CAN 信号源发送周期和占空比可调的同时符合CAN 总线标准协议的标准帧、扩展帧、远程帧,出错帧、超载帧等,也就是说发送时钟抖动信号,根据待测试系统是否能在各种抖动情况下做出正确的接受来判断待测试系统能承受多大的时钟抖动信号,以判定待测试系统的接受性能。

测试第三项,总线误码率的校准和测试:提供外部噪声接口,校准时引入1kHz~4MHz 的高斯噪声信号,输出一系列叠加规定干扰信号的数据字,统计出远程终端RT 的拒收次数、接收字数、差错次数等信息,对误码率进行统计,最终得到误码率的校准数据。在测试过程中这种干扰信号主要由测试系统的CAN总线干扰模块来完成。

测试第四项,具备错误注入以及错误检测功能,可注入/检测的错误包括:奇偶检验错误、命令字错误、数据字错误及状态字错误等。在测试过程中,首先在上位机的控制下分别依次发送标准帧、扩展帧、远程帧,出错帧、超载帧等,由总线干扰信号模块通过上位机的命令来人为的干扰和更改上述信号中的一个数据位或者多个数据位而产生奇偶检验错误、命令字错误、数据字错误及状态字错误等,根据待测试系统的返回信号,由上位机来决断待测试系统是否做成了正确的相应。根据注入错误,待测试系统的相应过程应该是不做相应或者回复错误帧要求重发等才算做出了正确的相应,否则判断待测试对此种错误信号不具备抗干扰能力。

4 结论

本文主要讨论了CAN 总线测试系统的整体设计方案以及测试方法与过程,本测试系统不但能完成CAN 总线接收发送性能测试,包括输出参数可控或经过计量确认的总线信号,来校准规定的容差范围内的接收性能,总线信号波形可控的参数包括电压幅度、占空比、上升沿、下降沿、过零点畸变、波形对称性、噪声叠加和同步信号。同时设计了CAN 总线时钟稳定度(抖动)的校准与测试及错误注入以及错误检测,通过实际工程验证方案切实可行,有一定的推广实用价值。