APP下载

汽车电子控制单元Bootloader刷新功能测试方法

2017-12-05孙运玺刘德利谷原野

汽车电器 2017年11期
关键词:功能测试驱动程序程序

李 英,孙运玺,刘德利,谷原野,孙 云

(一汽轿车股份有限公司,吉林 长春 130000)

汽车电子控制单元Bootloader刷新功能测试方法

李 英,孙运玺,刘德利,谷原野,孙 云

(一汽轿车股份有限公司,吉林 长春 130000)

电子控制单元可以通过Bootloader刷新功能快速实现应用软件、标定数据的更新,在整车电子开发、生产、售后等环节发挥重要作用。因此需要对电子控制单元Bootloader刷新功能进行系统完整的功能验证,以确保其满足设计要求。本文重点介绍电子控制单元Bootloader刷新测试流程及方法。

Bootloader;刷新;测试方法

随着汽车电子技术的迅速发展,电子控制单元在整车中得到越来越多的应用,功能也变得越来越复杂,其传统的程序更新方法已经不能满足开发要求。基于CAN通信的电子控制单元Bootloader刷新功能由于操作简便、刷新速度快等优点,得到了快速发展和大量应用。

1 ISO 14229与ISO 15765诊断通信标准

目前,电子控制单元Bootloader刷新功能普遍基于ISO 14229及ISO 15765等国际汽车诊断通信标准进行开发设计。ISO 14229,Road vehicles—— Unified diagnostic services (UDS)--Part 1:Specification and requirements,称为道路汽车——统一诊断服务——第1部分:规范与需求,主要对诊断服务进行了详细描述,这其中包括用于刷新的诊断服务[1]。ISO 14229定义的可用于Bootloader刷新功能的诊断服务,如表1所示。

控制单元Bootloader刷新通信遵循ISO 15765协议,其中网络层的通信遵循ISO 15765-2,Road vehicles--Diagnostics on Controller Area Networks (CAN)——Part2:Network layer services,道路汽车——CAN诊断——第2部分:网络层服务。应用层的通信遵循ISO15765-3,Road vehicles--Diagnostics on Controller Area Networks (CAN)--Part 3:Implementation of unified diagnostic services (UDS on CAN),道路汽车--CAN诊断--第3部分:统一诊断服务的应用。ISO 15765-2中定义了诊断数据通信传输方式[2]。ISO 15765-3 中定义了电子控制单元刷新流程及相关的诊断服务[3]。

表1 刷新功能诊断服务表

2 电子控制单元Bootloader刷新流程

各个主机厂会在ISO 15765定义的刷新流程基础上,结合具体实际情况,定义各自的刷新流程。电子控制单元Bootloader刷新流程主要包括3个部分:预刷新、刷新程序、刷新后处理。电子控制单元Bootloader刷新流程如图1所示,刷新流程中每一步骤均由相应的诊断服务实现。

1)预刷新 主要步骤包括:①通过10诊断服务,进入扩展会话模式。②通过85诊断服务关闭记录诊断故障码功能:在扩展会话模式下,通过功能寻址,向所有控制单元发送关闭记录诊断故障码功能指令,使得所有控制单元在刷新期间不记录诊断故障码。③通过28诊断服务,屏蔽非诊断相关总线通信:在扩展会话模式下,通过功能寻址向所有控制单元发送屏蔽非诊断相关总线通信功能指令,使得所有控制单元在刷新期间不进行非诊断相关的总线通信,以降低负载率,保证控制单元Bootloader刷新的正常进行。预刷新步骤如表2所示。

图1 程序刷新流程图

表2 预刷新步骤

2)刷新程序 是整个刷新流程的主体,将原有的应用程序或标定数据擦除,写入新的应用程序或标定数据。常见刷新步骤分为以下几步:①通过10诊断服务进入编程会话模式。②通过27诊断服务完成安全访问:刷新之前需要验证刷新工具的合法性。电子控制单元向上位机发送Seed,上位机根据约定算法计算出Key,并发送给电子控制单元进行判断,如果正确则允许刷新,如果错误则拒绝刷新。③通过2E诊断服务写入识别信息:包括维修站代码或诊断仪序列号,编程日期。④刷新驱动程序:驱动程序的主要作用为擦除原有程序,引导安装新程序。通常驱动程序并不保存在电子控制单元内部,需要通过此步骤下载到RAM存储器中。刷新过程需要时进行调用,当刷新结束,电子控制单元返回正常模式时,此驱动程序就从RAM 中清除掉。有的电子控制单元,其驱动程序是固化在电子控制单元的Flash 存储器里面的,因此就可以跳过此步骤[4]。在刷新过程中,通过34/36/37诊断服务进行循环操作,直至所有驱动程序刷新完成。完成后,通过31诊断服务进行CRC校验,以保证所有字节正确传输。⑤通过31诊断服务调用驱动程序,擦除原程序。⑥刷新新程序:刷新新程序的过程与刷新驱动程序的过程完全相同。⑦通过2E诊断服务写入配置信息,包括VIN码、系统配置信息、车辆模式。刷新程序步骤如表3所示。

表3 刷新程序步骤

3)刷新后处理 在刷新程序完成后,需对电子控制单元进行复位操作,使新程序被激活生效,同时擦除驱动程序。由于预刷新阶段对车辆所有电子控制单元进行了关闭诊断故障码记录功能,并屏蔽了非诊断类的通信报文,所以在刷新后处理阶段,需先对车辆所有电子控制单元开启非诊断类报文的通信,再重新开启诊断故障码的记录功能,恢复车辆原来的正常状态。

在进行刷新的电子控制单元进行复位后,会话模式将自动切换到默认会话模式,导致被刷新的电子控制单元在预编程阶段关闭的诊断故障码记录功能重新被开启,而此时其他电子控制单元仍然保持在扩展会话模式,在未开启非诊断类通信报文的这段时间里,可能会导致被刷新的电子控制单元记录其他节点丢失的诊断故障码,所以在所有控制单元开启非诊断类通信和诊断故障码记录后,需对进行刷新的电子控制单元进行清除诊断故障码操作。编程后处理阶段操作步骤见表4。

表4 刷新后处理步骤

3 Bootloader刷新测试工具

Bootloader刷新测试硬件工具采用德国Softing公司DTS(Diagnostic Tool Set)系列的汽车诊断测试工具集。该工具集支持Diag on CAN(ISO-15765)和UDS(ISO-14229)等诊断协议。完全支持ODX数据库。可满足电子控制单元诊断开发过程中开发、模拟、测试等工作需求。在此测试中,硬件工具为EDICusb,是诊断数据库编译测试硬件,使用USB接口连接测试电脑。软件主要应用DTS-Monaco,是诊断分析及数据库验证工具。DTS-Monaco 具有2种操作模式:配置模式和执行模式。在配置模式下,用户可根据测试需要通过设计人机接口控制来编辑诊断测试界面。在执行模式下,用户打开已设计好的诊断测试界面,连接ECU 进行诊断测试。测试的设备连接图如图2所示。其中,测试电脑通过EDICusb连接至车辆诊断接口,通过车辆诊断接口中的CAN总线对电子控制单元进行刷新测试。电源的输出电压要求为12 V。

图2 测试设备连接图

刷新过程中,需要加载刷新程序文件,常见的文件格式包括以下3种,分别为Intel hex、Motorola S19和Bin。

4 Bootloader刷新测试内容

电子控制单元Bootloader刷新程序的主要功能是实现应用程序和标定程序的擦除和刷新。在电子控制单元刷新过程中,Bootloader刷新程序不可被擦除,而应用程序和标定程序则可进行重复刷新。因此Bootloader刷新测试主要测试对象为Bootloader刷新程序,其基本原则就是,可以支持应用程序的无错误刷新,而且无论刷新成功或失败,都应支持重复刷新。

在章节2中,详细介绍了电子控制单元Bootloader刷新流程,刷新流程中每一步骤均由相应的诊断服务实现,这些诊断服务组合在一起即构成Bootloader刷新测试序列。在测试过程中,任一诊断服务出现负响应且该负响应不为负响应—等待,则退出刷新流程,表示该项未通过,需要确认是否由于电子控制单元Bootloader刷新功能不满足设计要求所导致的。

针对电子控制单元Bootloader刷新测试包括正向测试和误操作测试2类。

4.1 正向测试的具体测试内容

1)正常刷新测试:按照刷新流程进行正常电子控制单元刷新,如果刷新成功,电子控制单元功能正常,表示测试通过。

2)连续多次刷新:需要保证每一次均能正确完成刷新。作者曾测试某一电子控制单元,当连续刷新时,电子控制单元会出现死机情况,导致第2次无法正常刷新。

3)刷新结束后,需要读取之前写入的识别信息与配置信息,以确保相关信息被正确写入电子控制单元之中。个别电子控制单元会误将此类信息写入ROM中,导致刷新结束后将相关信息擦除。

4.2 误操作测试的具体测试内容

除了正向测试以外,还需要对电子控制单元进行Bootloader相关的误操作测试。

1)中断刷新测试 在刷新过程中,分别在刷新驱动程序、擦除原程序、刷新新程序时,随机暂停刷新,然后重新开始刷新,如果中断后,下一次仍然可以正确刷新,则表示此项测试通过。通过该测试确保中断刷新不会对电子控制单元的刷新功能造成影响。

2)载入错误文件 在刷新之前,载入程序文件非电子控制单元匹配的文件(包括文件格式不匹配、刷新程序文件不匹配),刷新过程中必然导致刷新失败,然后载入正确文件,重新开始刷新,如果重新载入正确文件后,下一次仍然可以正确刷新,则表示此项测试通过。通过该测试确保文件格式错误或文件错误不会对电子控制单元的刷新功能造成影响。

3)刷新程序内容错误 在刷新之前,修改刷新文件内容数据,检验电子控制单元校验功能是否正常。如果电子控制单元校验步骤提示校验失败,则表示此项测试通过。通过该测试确保电子控制单元Bootloader刷新校验功能正常。

4)中断供电电源测试 在刷新过程中,分别在刷新驱动程序、擦除原程序、刷新新程序时,中断供电电源,必然导致刷新失败,然后恢复供电,重新开始刷新,如果下一次仍然可以正确刷新,则表示此项测试通过。通过该测试确保意外掉电不会对电子控制单元的刷新功能造成影响。

5)通信异常测试 在刷新过程中,分别在刷新驱动程序、擦除原程序、刷新新程序时,断开CAN通信,必然导致刷新失败,然后恢复CAN通信,重新开始刷新。如果下一次仍然可以正确刷新,则表示此项测试通过。通过该测试,确保通信异常不会对电子控制单元的刷新功能造成影响。

5 结束语

本文详细介绍了基于ISO 14229电子和ISO 15765国际标准的电子控制单元Bootloader刷新测试方法,包括电子控制单元Bootloader刷新流程、刷新测试工作、测试内容等,为电子控制单元Bootloader刷新测试提供测试依据,有效地保证了电子控制单元Bootloader刷新功能满足整车开发要求。

[1] ISO 14229-1:2013,Road vehicles -- Unified diagnostic services (UDS)--Part 1:Specification and requirements[S].

[2] ISO 15765-2:2004,Road vehicles–Diagnostics on Controller Area Networks ( CAN ) -Part2:Network layer services[S].

[3] ISO 15765-3:2004,Road vehicles- Diagnostics on Controller Area Networks (CAN)-Part 3:Implementation of unified diagnostic services (UDS on CAN)[S].

[4] 闫利利.汽车电控单元刷新的标准化研究[C]//第十二届中国标准化论坛论文集,2015:1720-1724.

[5] 张立华.整车电气故障诊断的流程设计及应用[J].电子设计工程,2014(21):176-178.

(编辑 凌 波)

Ridecell收购Auro,推出完整的自主移动性解决方案

Ridecell公司,一家分享和分散运营商平台,收购了位于加州的自主车辆技术开发商Auro。在全股交易中,Ridecell还宣布公开提供其已经成功用于自主试点项目的自主运营平台。

对Auro的收购将带来专业知识,加速Ridecell自主运营平台的功能。Auro团队将成为Ridecell自主驾驶部门,Ridecell将能够通过在私人道路环境中集成支持Auro的无人驾驶班车,在现实环境中测试其自主操作平台。

Ridecell将继续合作以将Ridecell平台应用于世界领先的自主驾驶车辆,用于诸如自动化管理清洁、加油和应急情况等操作任务。

Auro为低速部署提供一个自主驾驶平台,Auro与班车制造商合作,为领先的班车和邻里电动车平台增加自主驾驶能力。这些班车可以安全地运载校园、主题公园、度假村、商业园区和退休社区的人们。

Auro成立于2013年,由印度理工学院和卡内基·梅隆大学的机器人科学家组成。自2011年以来,他们一直在自主车辆上合作,并得到包括Combinator和Motus投资者的支持。

Ridecell的自主操作平台旨在为自动化车队设计自动化车辆和运营管理。

该平台在日常和紧急情况下,为自主车队提供管理自己的操作任务的情报。该平台可以将自主车辆定向到维修站和路线支援车辆,以便在自主车辆中进行诸如清洁的例行操作任务,以及在特殊情况下的按需帮助。该平台还将自动接入车辆,使服务人员能够进入车辆。此外,该平台还可以自动报告执行自动合规性和风险数据。

(信息来源:2017.10.13 Green Car Congress)戴朝典 编译

ECU Bootloader Refresh Function Test Method

LY Ying,SUN Yun-xi,LIU De-li,GU Yuan-ye,SUN Yun
(FAW Car Co., Ltd., Changchun 130000,China)

We can quickly update the ECU application software and calibration data through Bootloader refresh function,which plays an important role in the vehicle electronic development, production and after-sales services. Therefore we need a complete functional test to the ECU Bootloader refresh function, in order to ensure that it will meet the design requirements.This article focuses on ECU Bootloader refresh function test process and method.

Bootloader;refresh;function test method

U463.6

A

1003-8639(2017)11-0063-04

2017-01-12

李英(1978-),男,辽宁沈阳人,副高级工程师,博士,主要工作方向为汽车电气架构、电气系统、主动安全、智能网联系统开发与验证;孙运玺(1984-),男,辽宁鞍山人,工程师,硕士,主要从事汽车电器单系统功能测试、电气功能测试硬件在环测试系统的设计与应用、整车电气功能测试等工作;刘德利(1987-),男,吉林长岭人,工程师,硕士,主要从事汽车电器单系统功能测试、电气功能测试硬件在环测试系统的设计与应用、整车电气功能测试等工作;谷原野(1984-),男,吉林乾安人,工程师,硕,主要从事汽车电器单系统功能测试、电气功能测试硬件在环测试系统的设计与应用、整车电气功能测试等工作;孙云(1989-),男,内蒙古呼伦贝尔人,主要从事整车测试环境搭建、HIL自动化测试环境搭建、整车电气功能测试等工作。

猜你喜欢

功能测试驱动程序程序
某内花键等速传动轴八功能测试夹具设计
避免Windows系统更新反复安装显示驱动
给Windows添加程序快速切换栏
阻止Windows Update更新驱动程序
试论我国未决羁押程序的立法完善
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
妙用鼠标驱动
驱动程序更新与推荐