1.什么是OTA?
OTA全称Over-the- Air,无线升级。
通过移动通信网络(2G/3G/4G或Wifi)对汽车的零部件终端上固件、数据及应用进行远程管理的技术。
2.为什么要OTA?
一者,软件定义汽车时代,用户越来越刁,功能越来越花,ECU越来越多,车企越来越卷,开发周期越来越短。传统的开发方式开发周期长,OTA可通过快速软件版本迭代推动车型快速上市,助力整车厂抢占风云变幻莫测的汽车市场。
二者,是软件就会有bug,从车辆维修的角度,传统的方式是通过线下维修和召回的模式,维修成本大。而OTA技术具备减少召回成本、快速响应安全需求的等多种优势。
3.怎样实现OTA?
OTA技术分三步:
(1)软件上传到OTA后台。(前端 + 后台开发)
(2)OTA后台无线传输软件至车辆端。
a、后台与T-Box的交互(Http协议)
b、T-Box与Gateway的交互(车载以太网协议栈)
(3)车辆端实现软件的更新。
a、Gateway与大屏的交互。(以太网协议栈)
b、Gateway与其他后节点的交互。(CAN/LIN/FR/Eth等总线通信协议 + UDS诊断协议)
4.OTA方案实现案例介绍
(1)架构
(2)模块介绍
(3)跳转策略
待更新...
5.OTA具体实现
(1)版本同步
版本同步顾名思义就是将车端各ECU的零件版本号进行收集,运算(ECU很多,信息量大,通过一些算法算出一个摘要信息),并上传到后台。后台会根据上传上来的版本信息进行下一步的策略,比如结算OTA任务,下发OTA任务等。
(2)软件下载
软件下载是指OTA下发任务到车端的过程。整个OTA任务的下发包含需要升级的软件的下发、证书的下发以及安装说明书(包含软件的签名)等的下发。车端OTA主节点会根据接收到的OTA任务信息对其下挂的后节点进行升级,升级的策略一般都是车企自定义。当然,整个的软件下载过程会涉及到文件的校验、文件的验证等步骤。
软件下载过程中,必定涉及到数据的信息安全,外网入车,如何验证下载到车端数据的正确性必不可少,本文着重介绍一下下载的文件的验签过程。
后台: 文件(.hex/.vbf)SHA256 > HASH值 1 RSA2048(私钥加密) > 签名(密文)
车端1:签名(密文) RSA2048(公钥解密) >HASH值2
车端2:对下载的文件 SHA256 >HASH值3
上述后台、车端计算的哈希值123理论上均相同,其中SHA256为非对称加密算法,RSA2048为对称加密算法,所以车端可以通过RSA2048反推出HASH值1,但不能通过SHA256反推出文件,只能通过再一次计算HASH值3,与HASH值2进行对比,即可在车端完成对文件的验签。
(3)软件安装
软件安装过程是指OTA主节点对后节点进行升级的过程。包括升级前对车辆状态的检查、对安装任务的核对、安装过程以及安装后对车辆状态的恢复和安装结果的反馈。
a、预安装
b、安装流程
- Enter Program Mode
- Pre-Programming
- Programming
- Post-Programming
c、后安装
待更新...