点击蓝字
关注我们
点击蓝字
关注我们
点击蓝字
关注我们
点击蓝字
一、引言
随着车辆电子化程度提升,软件功能逐渐取代传统硬件逻辑,控制器(如 VCU、BMS、MCU、仪表等)需频繁迭代优化或修复缺陷。
为此,远程在线升级(Over-The-Air, OTA) 成为主流需求。在资源受限、实时性要求高的场景下,基于 CAN 总线实现 OTA 升级机制 成为一套兼容性广、可落地性强的方案。
二、OTA 系统的组成与通信架构
1. 系统组成模块
2. 通信拓扑结构
markdown
复制编辑
┌────────────┐ │ 远程升级主机 │ └────┬───────┘ │ (CAN 总线) ┌─────▼───────┐ │ 目标 ECU(MCU)│ └────────────┘
支持通过 USB-CAN、Kvaser、Vector 等设备连接车载 CAN 网络进行升级操作。
三、基于 CAN 的升级协议框架
1. 传输协议选型
基于 UDS 协议(ISO-14229)
使用 ISO-TP(ISO-15765) 长帧支持
通常传输最大帧为 4095 字节/段
2. 典型刷写服务序列
四、Bootloader 架构设计
1. 典型 Flash 分区布局
diff
复制编辑
+-----------------------+ | Bootloader(16KB) | 固定区域 +-----------------------+ | OTA缓冲区(64KB) | 下载中间缓存 +-----------------------+ | 应用程序区(剩余) | 程序主区 +-----------------------+
2. 启动流程图
text
复制编辑
上电 → 判断升级标志位? → 是 → 进入 Bootloader,等待刷写 → 否 → 跳转执行 App 程序
3. Bootloader 功能实现要点
初始化 CAN 接口
协议解析(ISO-TP / UDS)
Flash 擦除 / 编程控制
CRC 验证
状态报告 / Watchdog 防死机
五、上位机升级工具实现
1. 支持功能
固件加载与分段传输
UDS 服务封装(0x10/0x34/0x36等)
支持进度显示、日志记录
支持断点续传与自动重试
2. 示例代码(Python)
python
复制编辑
import udsoncan from udsoncan.client import Client with Client(conn, request_timeout=2) as client: client.change_session(udsoncan.services.DiagnosticSessionControl.ProgrammingSession) client.unlock_security() client.download_file("firmware.bin") client.transfer_exit() client.ecu_reset()
六、安全加固机制
1. 安全认证(Security Access)
双向认证机制
ECU 提供 Seed,Host 算出 Key
阻止非法升级或刷写操作
2. 固件签名机制
使用 SHA256 + RSA 签名
Bootloader 内验证签名,防止非法代码注入
3. 校验机制
支持 CRC32、MD5、加密校验
升级前后校验校验和一致性
七、异常处理与容错设计
八、实战案例:新能源汽车 MCU 升级系统
项目需求:
支持通过 CAN 升级主控程序(128KB)
刷写时间控制在 60s 内
每次升级必须带验证机制
电源掉电能自动续传
技术实现:
Bootloader 占用 16KB,支持 ISO-TP 解包
上位机使用 Python 脚本驱动 CANUSB 工具
加入密钥认证 + CRC 验证
使用 Flash Page 写入 + 写成功标志位
九、与其他升级方式对比
十、总结与展望
基于 CAN 的 OTA 系统具备如下优势:
适配传统与新能源车
使用通用 CAN 设备即可部署
与诊断协议(UDS)高度集成
可支持断点续传、加密验证、远程批量升级
未来方向建议:
支持 CAN-FD 加速传输速率
支持 多模块级联升级调度
整合 云平台 + OTA 日志反馈机制
实现 Bootloader 热更新与远程维护


*免责声明:本文由作者原创或转发。如无意中侵犯了某方的知识产权,告之即删。以上图文来源于网络,如有侵权,请及时联系我们,我们将在24小时内删除。文章内容系作者个人观点,汽车以太网技术研究实验室转载仅为了传达一种不同的观点,不代表汽车以太网技术研究实验室对该观点赞同或支持,如果有任何异议,欢迎联系汽车以太网技术研究实验室。
原文链接:
https://blog.csdn.net/2501_92511010/article/details/148883074

