CAN总线系统测试技术
引 言[1].[2]
随着汽车电子技术的发展,汽车上所用的电控单元不断增多,电控单元之间信息交换的需求促进了车用总线技术的发展。CAN总线即控制器局域网总线,由Bosch公司于1981年制定,主要目的为用作汽车的高速动力总线、中速车身总线等。由于CAN总线具有可靠性高、实时性好、成本合理等优点,逐渐被广泛应用于其他领域中,例如船舶、航天、工业测控、工业自动化、电力系统、楼宇监控等,成为了广泛使用的现场总线之一。基于CAN总线协议,还发展出CANopen、J1939、DeviceNet等多种上层总线协议。
CAN是一种开放式多主站线性结构的总线,使用双绞线作为连接介质连接所有节点,最高传输速率为1Mbit/s。 CAN总线使用载波侦听多路访问/冲突检测(CSMA/CD)技术这种非破坏性的总线仲裁方式,避免多个节点同时开始发送消息而造成总线冲突,保证优先级高的报文能够优先发送而不需要额外的时间开销。CAN协议不对节点进行地址规定,而是使用报文的标识符来指定报文的优先级以及报文的内容。同时,CAN总线协议提供了完善的错误检测与错误处理机制,包括了CRC检测、错误报文自动重发、错误状态判断、临时错误自动恢复、永久错误自动错误节点等措施,从而很好的保证了系统数据一致性。
图1 系统开发流程
1 CAN总线开发流程[3]
随着CAN总线技术应用在国内各个行业中广泛使用,CAN总线开发流程及开发方法也日益成为关注的重点。目前,基于开发-验证思想的V型开发流程被广泛用于CAN总线的开发过程中,如图1所示。
OEM厂商首先定义CAN总线系统需求,并进行系统构架设计,然后由供应商根据OEM厂商提出的需求,分析节点 ECU的需求并进行节点设计,再进行软硬件实现以及节点ECU集成,最后对ECU进行测试验证。供应商将所设计的节点ECU提供给OEM厂商,由OEM厂商进行CAN总线系统的集成,并对系统进行确认,才能形成最终的产品。
在V开发流程中,测试始终贯彻着整个开发流程,以在开发过程中能尽早的发现设计问题。供应商在节点ECU开发的最后阶段,需要对所开发的ECU进行验证,检查所开发的产品是否符合所需的设计规范,即"是否正确的做了产品"。而OEM厂商在获得供应商提供的各个节点 ECU后,进行系统集成,需要对CAN总线系统进行确认,检查是否符合原始的需求,即"是否设计了正确的产品"。
因此,无论对于供应商开发单节点ECU还是OEM厂商对整个系统进行集成,都需要对节点以及总线系统进行CAN总线测试,以完成验证与确认的工作。
2 CAN总线测试
CAN总线测试内容可以分为单节点测试和总线系统集成测试两部分。在每个节点连接到CAN总线网络之前都需要进行单节点测试,用以确定节点工作正确并且不会干扰总线的正常通讯。总线系统集成测试则是将各个节点都连接形成完整的CAN总线系统,对系统进行测试以验证系统运行的完整性及正确性、系统的通讯鲁棒性、电器鲁棒性以及系统的容错自恢复功能等。
进行CAN总线测试过程,首先需要制定测试规范,然后根据该测试规范编写测试案例,构建测试环境,并进行测试实现,最终将测试所得的数据进行分析,形成测试报告。
2.1 CAN总线测试规范
由于CAN总线基本协议的灵活性,目前并没有一个统一的完整覆盖CAN总线各个通讯层次的测试规范,而作为CAN总线技术使用最广泛的汽车行业,各个汽车厂商也只是自行定义其轿车CAN总线协议,并根据该协议制定各自的测试规范。
因此制定CAN总线的测试规范,必须从相关的设计需求和规范文档中提取测试需求,这些文档可以包括CAN协议、总线系统设计时所依据的标准或协议(例如ISO11898或J1939)、系统设计的需求、系统的诊断协议、以及其他行业性通讯规范。根据所提取的测试需要,将各个需求点对应为测试案例组。
将每组测试案例组在各测试节点上的实施称为测试案例。每个测试案例根据测试实现的过程,细分为一系列的测试步骤。对于每个测试案例,在测试结束时,都会存在一个测试结果,用以确定测试案例所对应的节点是否通过该测试需求点的测试。每个测试案例中,除了包含测试步骤的内容外,还包括了测试条件和测试环境两部分内容。测试条件是测试案例实施之前,被测单元所需要具备的条件,例如系统已经处于正常通讯等。而测试环境则是测试过程中,需要提供给被测单元的外部环境,例如供电电压、信号线的连接情况等。
2.2 CAN总线测试内容
CAN总线测试内容可以按照通讯层次划分为物理层测试、数据链路层测试、应用层测试等内容。
- 基于CAN总线的GaAs光电阴极制备测控系统(07-27)
- 基于LabVIEW的智能开关综合保护装置的数据获取与处理(03-09)
- 基于双层CAN总线的声纳数据通信系统设计(01-23)
- CAN总线网络测试研究(02-10)
- 基于CAN总线的航空电缆测试系统分布机研究(04-16)
- 基于DSP2812的带式输送机多路温度检测系统设计(06-18)