制定远比技术发展要慢。
图1  ECU远程刷写用例图图2  OTA功能系统架构图
功能系统架构
功能架构建立在车联网体系中,主要由云服务器端、
OEM组成。图1是进行ECU远程刷写的应用示例图。
上汽通用五菱汽车股份有限公司
2.1 云服务器端
服务器的作用是负责数据收集、数据存储,以及提供数据分析挖掘的基础规范接口[1] 。在需要对大量数据进行存储和处理的情况下,自行组建服务器平台并对服务器硬件、软件进行定期的维护往
OTA服务器通过统一通讯端口服务器来完成更新数据的下发。CDN服务器负责转发相关的ECU软件更新包到车辆端,最终在车辆端完成ECU软件的升级。
PKI服务器对证书进行公钥管理,通过第三方可信任机构,把公钥和用户标识信息捆绑在一起。通过这种方式使得通过CDN服务器分发更新数据的时候,能够验证车辆身份[2] 。
2.1.2数据库管理系统
在OTA服务器中,需要部署相应的数据库管理系统,以应对大规模并发更新请求,并需要保证高并发场景数据的安全性和一致性。
图3  一种T-Box硬件设计方案
在进行ECU远程刷写过程中,Server通过移动通信网络对TCU
下达对某个或者某几个ECU进行刷写的命令,TCU再通过汽车总线
把命令传输到要刷写的ECU节点,ECU节点则进入刷写模式,完成
ECU软件远程刷写。
2.2.2控制器端
控制器端主要是ECU软件和硬件,其硬件作为车辆中最常见的
电子控制单元,其主要由微型控制单元(MCU)、存储单元、通信单
元、高级定时单元和数字/模拟量采集器等组成。对于控制端而言,
ECU要成功地刷写软件,需要具备CAN通信功能和BootLoader(引
导加载程序),以及包含UDS/KWP2000诊断协议。图4  ECU软件更新过程
图5  差分压缩算法原理图
以下3种指令来描述新旧版本之间的差异。
DATA 指令:当软件新版本的某个程序块在一些位置与上一版本完全不相同时,DATA 指令负责把新程序块插入进来。SKIP 命令:当软件新版本的某个程序块内容和起始地址都和上
一版本相同时,SKIP 指令负责跳过该程序块。COPY 命令:当软件新版本某个程序块的内容和上一版本相同,
但起始地址不同时,通过COPY 命令来移位。
由上述可知道,delta 文件大小取决于COPY、SKIP 和DATA 命
令的数量。设[NUM]_c 为COPY 指令数,[NUM]_s 为SKIP 指令数,
[NUM]_d 为DATA 指令数,L_d 代表新添加数据块的长度,地址的长度为L_add。由以上可得出delta 的
大小如下。
[delta]_size=(1+L_add+1+L_d )×[NUM]_d+(2+L_add )×([NUM]_c+[NUM]_s )
对于压缩算法,提高压缩率需要耗费时间,节约时间则压缩率
就会低。ECU 固件更新包体积很小,因此不需要采用高压缩率算法,甚至不压缩。而对于车载娱乐信息系统软件更新,对差分文件进行压缩则很有必要。4.2 寻址技术
寻址技术有静态和动态之分。静态寻址技术在软件开发阶段,
提前对每个数据块提前预留存储空隙。日后修改时,相对应的数据