车载电控OSEK网络管理测试设备设计

前言:寻找写作灵感?中文期刊网用心挑选的车载电控OSEK网络管理测试设备设计,希望能为您的阅读和创作带来灵感,欢迎大家阅读并分享。

车载电控OSEK网络管理测试设备设计

摘要:汽车电控单元ECU的数量在不断增多,对于ECU的网络管理测试需求猛增。手动测试及单个ECU网络管理专用测试程序已经很难满足测试需求,因此有必要设计一种通用性高、适用性广的网络管理自动测试设备。该测试设备基于OSEK/VDX网络管理规范开发,硬件主要使用Vector工具链,如总线接口卡、电源管理模块及VH6501等。测试设备通过CAPL编写测试脚本,在CANoe环境下进行测试。通过开NM通信模型的方式,支持OSEK网络管理单元测试或集成测试模式。

关键词:OSEK;CAPL;NM通信模型;自动化测试

1前言

汽车技术在朝着电子化发展的过程中,车载ECU(ElectronicControlUnit,电子控制单元)的数量必然急剧增加。ECU通信过程中,为防止其他节点未在线或处于故障状态而导致网络信号的丢失,专门的网络管理机制随之出现[1]。网络管理机制不仅能够保证ECU间通信的稳定,也可以作为休眠唤醒的管理机制,使ECU适时地进入静态功耗状态[2]。汽车软件标准OESK/VDX规范提供了两种网络管理机制,直接网络管理和间接网络管理,统称OSEK网络管理。间接网络管理基本没有节点间的通信控制逻辑,而直接网络管理涉及较为复杂的测试逻辑,因此也是本系统测试的重点。OSEK网络管理定义了NM通信报文,以特定ID作为与其他应用报文的区分,并为报文设定了特定数据内容。网络管理(NetworkManagement,简称NM)测试主要关注NM报文格式、NM时间参数测试和NM管理逻辑测试。下文将会详细讨论OSEKNM的测试内容和方法。

2测试内容分析

通过分析OSEK网络管理的需求规范,确定NM一致性测试的测试内容及方法。如图1所示为OSEK网络管理状态跳转示意图,网络管理状态如下:NMOff、NMOn、NMShutDown,其中NMOn状态下,又分为NMIinit、NMAwake、NMBusSleep三种子状态,NMAwake又包含NMReset、NMNormal、NMLimpHome三种状态。OSEK通过让各节点建环的形式进行网络的管理,如网段上包含A、B、C三个节点,则逻辑环为A-B-C-A,如此循环往复。为满足NM通信需求,OSEK定义了3种NMPDU(网络管理数据帧):Alive、Ring、LimpHome报文,并定义了几个重要时间参数,见表1。根据上述,可以设计一致性测试用例,本系统涵盖50+条OSEKNM测试用例,覆盖范围广泛,测试用例划分为以下几部分。

1)NM报文格式测试,如Alive报文格式、Ring报文格式、Limphome报文格式测试等。

2)NM时间参数测试:如T_Typ、T_Max、T_Error、T_WaitBusSleep等时间测试。

3)逻辑环测试:如逻辑环建立、异常Ring报文干扰等测试。

4)状态跳转测试:如Normal状态下睡眠响应、Limphome状态下睡眠响应、Limphome复位、睡眠中断等测试。基于以上测试需求,本文设计了一套车载电控单元网络管理自动化测试设备。设备以CANoe为软件平台,辅以针对测试而开发的osekNM通信模型,实现NM的自动化测试。较手动测试而言,该设备具有自动化程度高、通用性强、执行效率高等优点,通过NM通信模型的加入,可以模拟各种NM逻辑,使测试范围覆盖度远远高于手动测试。

3系统设计与实现

3.1测试系统设计

该测试设备基于测试内容设计,由测试执行软件、硬件系统、NM通信模型、测试脚本4部分组成。测试执行软件选用Vector公司的CANoe软件。CANoe具有分布式系统设计、仿真、测试、评估等功能,支持CAN总线通信仿真模型编写[3]。本设备应用到CANoe的CAPL编程环境,进行NM通信模型及测试脚本的开发。测试硬件系统包括总线接口卡、测试配置板卡、程控电源等,硬件通过开发程控包,可在CANoe中直接调用,例如配置测试终端电阻,通过串口进行供电电源的电压输出控制等[4]。测试配置示意如图2所示,虚线框内为通过测试配置板卡控制的可选终端电阻。NM通信模型由CAPL开发,因此可以与下位机执行软件无缝衔接。NM通信模型实现OSEK网络管理的虚拟节点在线仿真功能,如可以建立OSEK虚拟逻辑环、逻辑环异常干扰等,如图3所示。虚拟节点支持对NM报文的信号值、周期等参数进行设置,以满足不同的测试项要求,这些模型参数的调整接口在测试脚本中能够直接调用。测试脚本同样基于CAPL编写,因此可与NM通信模型联合运行在CANoe平台上进行NM测试。

3.2OSEKNM测试用例实现

假定测试ECU的NM网络管理报文ID为0x627,则设置NM通信模型主要参数如表2所示。根据测试需求,可以提炼出几种模型状态定义,如图4所示。两个比较典型的测试用例加以说明。1)插入指向ECU的Ring报文测试。首先,为ECU供电,使ECU唤醒;调用VirNode建环模型,使ECU与编号1~3的虚拟节点建立正常的逻辑环;然后调用VirNode异常干扰模型,即插入编号4的虚拟节点,且设置VirNode4.Byte(0)=0x27,VirNode4.OpCode=0x2,即指向ECU的Ring报文;最后观察ECU发送报文状态。2)Normal状态进入睡眠时NM唤醒中断测试。首先,为ECU供电,使ECU唤醒;调用VirNode建环模型,使ECU与编号1~3的虚拟节点建立正常的逻辑环;然后改变ECU供电状态,使其满足睡眠条件,则ECU发送带有睡眠请求的Ring报文;之后调用VirNode睡眠响应模型,满足总线睡眠;在T_WaitBusSleep时间内,调用VirNode睡眠中断模型,即重新使编号1的模拟节点上线,发送VirNode1.Byte(0)=0x28,VirNode1.OpCode=0x1的Alive报文;最后观察ECU发送报文状态。

4测试结果分析

因OSEKNM的测试条目总和达到了50条以上的规模,因此本节也只选取了两个典型的测试案例进行分析说明。

4.1T_WaitBusSleep时间测试

测试描述:验证T_WaitBusSleep时间参数的偏差。评价标准:T_WaitBusSleep时间应满足在4~6s时间内。测试结果分析如下。1)如图5所示,ECU在时间戳940.396s发送了睡眠帧,但是在之后又发送了一帧ID为0x2C9的应用帧,不满足OSEK的要求。2)如图6所示,在时间戳945.397s出现ECU不应答的发送错误帧,说明ECU进入睡眠状态,则T_WaitBusSleep时间为睡眠帧到出现错误帧的时间差,即5.001s。综合1)、2)结果分析,该项测试结果为错误,虽然T_WaitBusSleep时间正确,但是睡眠帧发出后,ECU应停止发送所有报文,因此状态错误。

4.2Limphome状态下睡眠中断测试

测试用例:Limphome状态进入睡眠时NM唤醒中断测试。测试描述:验证在ECU从Limphome状态进入睡眠模式过程中,接收到NM报文时的睡眠中断反应。评价标准:T_WaitBusSleep时间内,接收到NM报文时,ECU能被唤醒,并重新发送Limphome报文。测试结果分析如下。1)如图7所示,在时间戳1866.971s接收到NM报文,E-CU在1867.962s发出自身NM报文。2)唤醒后,ECU仍然处于limphome状态。唤醒后ECU.OpCode=0x14。综合1)、2)评价,本项测试结果正确

5结束语

基于OSEK/VDX网络管理规范开发的车载电控单元OSEK网络管理测试设备,通过开发NM通信模型的设计理念,使系统对于OSEK网络管理的测试更智能、更准确,且能覆盖更多的测试用例。通过验证,该设备能够准确的完成网络管理测试,且比人工测试缩短3倍以上的时间,因此极大提高了OSEK网络管理的整体测试效率。

作者:朱龙 周旋 王凯 黄帅 单位:徐州徐工汽车制造有限公司