第6期32客 车 技 术 与 研 究
BUS & COACH TECHNOLOGY AND RESEARCH No. 6 2020
基于UDS 协议的CAN BootLoader 的开发与验证
余莹莹,王法龙,杨 卓,王定庚
(安徽安凯汽车股份有限公司,合肥230051)
黑猎蝽摘 要:为满足电动客车VCU 在线程序更新的需求,设计一种基于UDS 协议的CAN BootLoader 系
统,以提升刷写效率、成功率以及稳定性,并通过测试验证。
关键词:UDS 协议;CAN BootLoader ; VCU 在线程序;功能测试
中图分类号:U462. 1 ; TP391. 72
文献标志码:B
文章编号:1006-3331(2020)06-0032-04
Development and Verification of CAN BootLoader Based on UDS Protocol
YU Yingying, WANG Falong, YANG Zhuo, WANG Dinggeng ( Anhui Ankai Automobile Co., Ltd., Hefei 230051 , China)制钢
Abstract : In order to meet the update need of VCU online program for electric buses , a type of CAN Boot
Loader system based on UDS protocols is designed to improve the swiping efficiency , success rate and stabil
ity and is verified by test.
Key words : UDS protocol ; CAN BootLoader ; VCU online program ; function test
一次性封条
随着汽车电子技术的迅猛发展,电控单元越来越复杂,新技术的出现导致电控产品需要不断更新换
代,其在线程序升级就显得尤为重要。采用基于UDS
协议CAN 总线的BootLoader 来实现VCU 软件代码 的更新是一种有效的解决方案[1]o 本文基于UDS 协 议中的诊断服务,设计一种CAN BootLoader 来完成上 下位机之间的通讯以及信息交互,实现对VCU 程序
代码的在线更新。
1 CAN BootLoader 系统总体设计贴膜工具
BootLoader 程序是 VCU 上电后最先运行的一段
代码,首先会对硬件设备进行初始化,同时会为相关
的寄存器进行赋值,设置内核启动参数。初始化完成
后‘BootLoader 会进入CAN 总线通信循环等待上位机 命令,当接收到启动命令后,它会将电控单元FLASH
中的应用程序代码加载至系统内存RAM 中,并跳转 到应用程序入口开始运行;当BootLoader 接收到上位
机发送的下载命令后,它会通过CAN 总线从上位机 上将应用程序代码下载下来并烧写到电控单元的
FLASH 中存储起来,从而实现VCU 的在线程序下载
功能[2]o
本文主要是基于UDS 诊断服务协议,将上位机
发送的数据经 USB 转 CAN 接口转换器转换成 CAN
帧,发送至下位机的CAN 接收缓冲区,下位机接收到
信息处理后作出应答,并将数据帧通过USB 转CAN
接口转换器发送至上位机形成循环,实现信息交互。
图1为CAN BootLoader 系统架构图。
铜包铝漆包线|——-;——,
I ,------------------------ , I PC 上位机
USB 转CAN 接口 VCU 下位机
图 1 CAN BootLoader 系统架构图
UDS ( Unified Diagnostic Services ) 诊 断 服 务 协
议⑵即ISO 14229统一诊断服务,是ISO 国际标准化
组织为实现车辆电子系统故障诊断服务而制定的统
一国际标准。通过读取数据流获取VCU 内部状态信
息,是PC 上位机与整车VCU 之间通信必不可少的一
碱式氧化锰部分。在诊断规范中,定义了上位机和整车VCU 之 间的请求响应规则,以及对于请求报文时整车VCU
的处理行为[3]。
基于UDS 协议的CAN BootLoader 在线程序升级
刷新操作,需要依照UDS 协议规则来处理会话,用
到相关的UDS 服务有VCU 握手识别、数据之间的
作者简介:余莹莹(1990—),女,硕士;工程师;主要从事新能源客车整车控制开发和软件测试工作。