4. 升级介质与传输方式

固件升级的成败,往往在“介质选型”这一步就已经决定了一半。升级介质不仅决定了传输速率,还直接影响升级包的封装格式、校验方式、断点续传能力、现场可维护性,甚至决定了产品能否支持远程批量升级。本节从工程视角梳理 UART、USB、CAN、以太网、无线 OTA 五类主流介质的特点,并给出一套可落地的选型方法。

一、核心原理:介质决定升级链路的“物理上限”

固件升级本质上是把一段二进制镜像从“源端”搬运到“目标端”,再写入 Flash 并校验。介质处于这条链路的最底层,它决定了三件事:带宽上限、可靠性边界、可触达范围。带宽决定升级耗时,可靠性决定是否需要重传与断点续传,可触达范围决定是“现场插线升级”还是“远程空中升级”。

因此选型不能只看“哪个快”,而要看“在什么场景下、由谁操作、失败代价多大”。例如产线烧录追求速度与稳定,现场维护追求免拆机,远程运维追求可批量与可回滚。

五类升级介质:速率—距离—可维护性对比 传输速率 / 带宽 → 可触达范围 / 距离 → UART 低速 · 板级 · 需插线 CAN 中低速 · 车载总线 · 多节点 USB 高速 · 近距离 · 产线/现场 以太网 高速 · 局域网 · 可远程 无线OTA 中速 · 广域 · 免拆机 选型口诀:产线看速度,现场看便利,远程看可回滚,车载看总线兼容

二、五类介质的特点与适用场景

介质 典型速率 可靠性 典型场景 主要限制
UART 9.6k–921.6kbps 中,需协议层校验 MCU 板级升级、Bootloader 串口下载 速率低,无热插拔,线缆短
USB 12Mbps–5Gbps 高,硬件 CRC + 协议重传 产线批量烧录、设备本地升级 需驱动/枚举,主机端依赖强
CAN 125k–1Mbps 高,差分抗扰 + 仲裁重发 车载 ECU、工业多节点升级 单帧 8 字节,需分包与流控
以太网 10M–1Gbps 高,TCP 保证有序可靠 网关、工控机、局域网批量升级 需 IP 配置与网络环境
无线 OTA 几十 k–几 Mbps 中,依赖链路与重传策略 已部署设备远程升级、消费电子 带宽波动,需断点续传与回滚

三、方法流程:四步完成介质选型

  1. 明确升级场景:产线、现场维护、远程运维,三者对操作者和环境的要求完全不同。
  2. 估算镜像大小与时间预算:用“镜像大小 ÷ 有效速率 × 1.3(协议开销)”估算耗时,判断是否可接受。
  3. 评估可靠性与回滚需求:是否允许升级中断?是否必须支持 A/B 分区或双备份?
  4. 确认硬件与协议栈成本:接口是否已存在、是否需要额外芯片、Bootloader 是否支持该介质。

耗时估算示例:镜像 512KB,UART 115200bps 有效速率约 11KB/s,理论约 47 秒,加协议开销约 60 秒;若换 USB 全速 12Mbps,实际约 1–2 秒。产线节拍紧张时,UART 往往不可接受。

四、案例与配置:CAN 与 OTA 的典型参数

以车载 CAN 升级为例,常见做法是把镜像按 8 字节分包,通过 ISO-TP 或自定义流控传输。下面是一段典型的升级参数配置:

# CAN 升级参数示例
can_bitrate      = 500000      # 500kbps
frame_payload    = 8           # 经典 CAN 单帧 8 字节
block_size       = 4096        # 每块 4KB,块尾校验
flow_control     = ISO-TP      # 流控帧控制发送节奏
retry_limit      = 3           # 单块重传上限
verify           = CRC32       # 整包校验

无线 OTA 则更强调“可恢复”。典型策略是:先下载到备份分区,校验通过后再切换启动标志;若升级中断,下次上电仍从原分区启动。关键参数包括分片大小、重试次数、超时时间和回滚标志位。

实用建议:无论哪种介质,都应在协议层加入“包序号 + 校验 + 确认重传”三件套。介质本身可靠,不代表升级过程可靠;断电、复位、总线拥塞都可能造成半包。

五、误区与复盘

  • 误区一:只看峰值速率。USB 标称 480Mbps,但实际受协议栈、Flash 写入速度限制,瓶颈常在存储侧。
  • 误区二:忽略 Bootloader 支持。硬件有以太网,但 Bootloader 只实现了 UART,等于无法用以太网升级。
  • 误区三:OTA 不做回滚。一旦新固件启动失败,设备可能彻底失联,现场只能拆机。
  • 误区四:CAN 升级不做流控。多节点同时升级会挤占总线,导致关键报文延迟甚至丢失。

复盘要点:选型时把“升级失败后的恢复路径”写进设计文档。能本地恢复的,优先本地;只能远程恢复的,必须双分区 + 看门狗 + 回滚标志。介质选得再快,恢复不了就是事故。

综上,UART 适合低成本板级引导,USB 适合产线与本地高速升级,CAN 适合车载与工业多节点,以太网适合局域网批量与网关设备,无线 OTA 适合已部署设备的远程维护。选型的核心不是追求最快,而是在速率、可靠性、可触达性、成本四者之间找到与业务场景匹配的平衡点。