基于Kvaser Leaf Light v2的车载控制单元Bootloader 测试系统设计
2018-06-07王邵龙谷原野刘德利孙运玺
王邵龙,谷原野,刘德利,孙运玺
(一汽轿车股份有限公司,吉林 长春 130000)
随着汽车电子电气技术的快速发展,车载电子控制单元数量日益增多,对控制器软件的更新需求也越来越多。Bootloader是在主程序运行前的一段小程序,主要完成应用数据下载和更新任务[1],是底层硬件与上层应用软件之间的交互接口,与用户应用程序完全独立[2],由于其刷写速度快、车载接口方便的特点,得到了大家的普遍使用。
目前,控制单元Bootloader刷新流程的设置主要基于ISO 14229和ISO 15765标准,在此基础上,各主机厂根据不同情况略有不同。针对控制单元Bootloader刷新测试,目前采用的软硬件工具主要有Vector公司的CANcaseXL /CANoe、Softing公司的EDICusb / DTS(Diagnostic Tool Set)工具集等;但以上工具都不是针对Bootloader测试开发,所以设置繁琐、价格昂贵。本文提出了一种基于Kvaser Leaf Light v2设备的车载控制单元Bootloader测试系统(以下简称测试系统),能够实现控制单元Bootloader刷新流程中的预刷新、刷新程序、刷新后处理的自动化测试,并自动判断测试结果。
1 测试系统的硬件环境建立
Kvaser Leaf Light v2是瑞典Kvaser公司推出的用于CAN总线的单通道高速USB接口,具有价格低廉、方便携带等特点。
测试系统主要由PC机、Kvaser Leaf Light v2总线通信设备、被测ECU组成。其中,PC机通过USB接口连接Kvaser Leaf Light v2总线通信设备,Kvaser Leaf Light v2设备通过DB9接头连接网关Diag_CAN,再由网关连接相应总线上的被测ECU,具体连接情况如图1所示。实际应用中,也可以通过OBD接口连接。
图1 测试系统硬件连接图
2 测试系统的软件设计方案
图2为测试软件初始界面——测试界面。本系统网络层遵循ISO 15765-2[3]标准,应用层遵循ISO 15765-3[4]标准,诊断服务参考ISO 14229[5]标准。测试系统的人机接口分为测试界面和配置界面两部分。软件运行后的初始界面为测试界面,在此界面中主要包括4个方面的内容。
1)装载内容窗体 显示装载的下载文件的内容,可加载*.hex,*.s19,*.bin,*.mot等多种格式的flash文件。
2)配置窗体 用于配置下载过程中的参数,包括安全算法MASK值、装载文件个数、连续刷写次数、连续刷写间隔、诊断口波特率、ECU类型、文件分段个数、文件分段大小、文件分段使能、刷写失败后可继续发送、暂停下载后可继续下载、直接进入编程会话下载、配置管理按钮、确认按钮等。
图2 测试软件初始界面——测试界面
3)操作窗体 包括装载文件按钮、下载按钮、暂停下载按钮、继续下载按钮、清除显示按钮、存储Trace按钮、停止显示按钮等。
4)运行信息窗体 主要显示外部下载工具的初始化信息、下载过程中的数据信息、下载结果状态信息等。
通过测试界面的配置管理按钮,可以打开配置界面,如图3所示。
图3 测试软件配置界面
在整个下载过程中,需要首先通过此界面制作或导入下载时所用的配置文件。此界面主要包括三大窗体的内容。
1)命令及参数设置框 用来编辑下载所需的配置文件及配置某些下载参数,包括基础参数如数据下载延时(STmin)、P2CAN_ECUmax、P2NCAN_ECUmax以及被测控制器的请求响应ID等。
2)命令操作 ①加入命令:把目前命令框中显示的具体数值按照命令列表窗口中所需的内容加入到命令列表中,形成一条下载命令。②删除命令:删除最近加入的一条命令。③导入配置:导入已经生成的命令列表配置文件,文件格式为*.TXT文件,并在命令列表窗口中完全显示。④存储配置:将当前命令集存储为*.TXT文件。⑤确认:将当前命令集读入系统内存,做好下载准备。⑥退出:退出图3所示的配置管理界面,命令列表窗口中的命令集不会被读入内存。
3)命令列表窗体 在此窗体中,通过修改、删除、插入动作,实现对命令的修正。
3 测试系统测试执行及测试效果
测试系统具体测试执行流程如图4所示。打开程序后,通过加载已生成的命令列表配置文件或新建命令列表配置文件,如图3所示;按照Bootloader测试需求加入对应的命令条目,生成测试所需的命令列表。
图4 测试执行流程图
确认命令列表后,在软件的测试页面-配置窗体中,选择正确的下载参数;在操作窗体中,进行文件装载后,点击下载按钮,进行测试,软件对测试数据进行处理和分析,并生成测试结果,结果反馈到运行信息窗体中,图5和图6分别表现了正在下载和下载成功时软件的运行情况。
图5 测试软件运行中
图6 测试结果反馈
结合图5、图6中TPMS Bootloader测试执行效果,阐述执行过程如下。
1)加载TXT格式的下载命令列表至测试系统中。
2)选择正确的测试参数,并加载需要被下载到控制器中的Flash文件。
3)点击下载按钮,测试系统(上位机)自动发送诊断命令,并持续保持检测控制器的诊断响应与命令列表中的预设值是否一致。如完全一致,继续执行命令列表中的后续命令;如不一致,测试结果为下载失败,并立即终止测试。
4)命令列表持续发送完毕并检测无误后,测试终止,并提示下载成功。
5)测试完成之后,不论下载成功或失败,点击存储Trace,系统自动保存下载过程Trace,包含了测试每一步骤的诊断请求和响应。
4 结论
本文阐述了测试系统的硬件和软件设计方案,及其应用于控制器Bootloader功能测试的效果,能够有效发现控制器在Bootloader功能中存在的问题,保证了控制器的开发品质和不同控制器在Bootloader功能上的一致性。
本测试系统的人机界面友好,软件设计通用化,可加载多种格式的flash文件,对于不同车型平台、不同控制器,只需要更改控制器的掩码即可,可大大缩短由于测试软件参数配置而耗费的周期和成本,并能够在试制车辆需要进行软件更新时,方便地使用OBD接口进行更新,避免了零部件拆装带来的麻烦。
[1] 蔡营,王永峰,范志容,等.基于CAPL的CAN控制器Bootloader上位机系统设计[J].汽车电器, 2017(3):68-72.
[2] 王青萍.嵌入式系统启动软件Bootloader 的设计[J].现代电子技术,2008(10) : 70- 72.
[3] ISO 15765-2,Road vehicles-Diagnostics on Controller Area Networks(CAN)-Part2: Network layer services[S].
[4] ISO 15765-3,Road vehicles-Diagnostics on Controller Area Networks(CAN)-Part 3: Implementation of unified diagnostic services(UDS on CAN)[S].
[5] ISO 14229,Road vehicles-Unified diagnostic services(UDS)-Specification and Requirement[S].