大数跨境
0
0

基于 CAN 总线的 OTA 远程升级机制实现与安全加固策略

基于 CAN 总线的 OTA 远程升级机制实现与安全加固策略 汽车以太网技术研究实验室
2025-12-05
5
导读:基于 CAN 总线的 OTA 远程升级机制实现与安全加固策略

点击蓝字

关注我们


一、引言

随着车辆电子化程度提升,软件功能逐渐取代传统硬件逻辑,控制器(如 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

【声明】内容源于网络
0
0
汽车以太网技术研究实验室
以客观、严谨的态度,讲解SOME/IP、AVB、TSN和SOA等相关知识。交流汽车以太网的最新资讯,包括网络、诊断、软件等。第一时间传递最新报道和深度解读。
内容 359
粉丝 0
汽车以太网技术研究实验室 以客观、严谨的态度,讲解SOME/IP、AVB、TSN和SOA等相关知识。交流汽车以太网的最新资讯,包括网络、诊断、软件等。第一时间传递最新报道和深度解读。
总阅读786
粉丝0
内容359