3. AURIX Bootloader与量产刷写协议选型

在AURIX Bootloader量产刷写系统中,协议选型不是单纯比较“谁更快”,而是要在刷写节拍、线束成本、网关路径、诊断接口能力与整车EOL工位约束之间取得平衡。AURIX TC3xx通常通过CAN/CAN-FD、DoIP(以太网)或FlexRay与外部诊断设备通信,Bootloader需要根据所选协议实现对应的传输层、网络层与应用层。本节先建立协议栈视角,再给出可落地的选型判断。

一、三种协议在Bootloader中的角色差异

UDS(ISO 14229)是统一的应用层诊断协议,Bootloader的编程会话、安全访问、请求下载、传输数据、例程控制等均以UDS服务表达。差异主要发生在UDS之下的传输层与网络层:

  • UDS over CAN/CAN-FD:基于ISO-TP(ISO 15765-2)做多帧分包与流控,CAN-FD单帧数据场最大64字节,经典CAN为8字节。AURIX的CAN节点通常支持CAN-FD,适合刷写数据量中等、线束沿用传统CAN的诊断口。
  • DoIP:基于ISO 13400,UDS消息封装在DoIP报文中,通过以太网传输,单包可承载较大负载,适合大容量固件、并行刷写与高节拍EOL。
  • FlexRay:时间触发、确定性通信,静态段与动态段并存,通常用于底盘/动力域高可靠通信,作为刷写通道时需额外实现UDS到FlexRay帧的映射,工程复杂度高。

因此,选型的第一步是确认AURIX目标ECU当前可用的物理接口与网关转发能力,而不是先决定协议。

二、量产线束、网关与诊断接口的约束

量产EOL工位通常从OBD诊断口接入。若整车网关只开放CAN诊断通道,则Bootloader必须支持UDS over CAN/CAN-FD;若网关具备以太网诊断路由(如DoIP边缘节点),则可走DoIP。需要重点确认三点:

  1. 物理层与引脚:OBD口CAN_H/CAN_L、以太网ACT/LINK引脚是否引出,AURIX所在网段是否与诊断口直连或经网关转发。
  2. 网关路由规则:诊断请求的源地址、目标地址、功能寻址与物理寻址是否被网关放行,DoIP需要确认逻辑地址与激活线。
  3. 刷写节拍:单ECU固件大小、工位允许刷写时间、是否多ECU并行,直接决定CAN-FD是否够用。
示例估算:某AURIX TC377固件约1.5 MB。若用CAN-FD,有效载荷按64字节/帧、总线500 kbps仲裁段+2 Mbps数据段估算,理论数据段吞吐约1.6 Mbps,考虑ISO-TP流控与UDS开销,实际有效刷写速率约0.6~0.9 MB/s,单ECU约2~3 s;若用经典CAN 500 kbps,实际约0.04~0.06 MB/s,单ECU需25~40 s。该数值为教学估算,实际以台架测量为准。

三、协议选型判断路径

下面用一张关系图表达从“接口可用性”到“协议确定”的判断逻辑,图中同时标出各协议对应的AURIX外设与典型约束。

AURIX量产刷写协议选型判断关系 EOL诊断接口可用性确认 OBD引脚 / 网关路由 / 目标ECU接口 诊断口是否具备 以太网/DoIP能力? 否 UDS over CAN / CAN-FD AURIX MCMCAN 固件大小与节拍 是否满足? 否 升级CAN-FD 或改走DoIP 是 确定CAN-FD方案 ISO-TP + UDS 是 DoIP AURIX GETH ISO 13400 + UDS 网关是否放行 逻辑地址路由? 是 确定DoIP方案 高节拍/大固件 FlexRay 作为刷写通道 需UDS→FlexRay帧映射,工程复杂 仅当整车仅暴露FlexRay时考虑 特殊场景

四、AURIX侧协议栈落地要点

确定协议后,Bootloader需要把UDS服务映射到具体外设。以CAN-FD为例,AURIX TC3xx使用MCMCAN模块,配置要点包括:

  • 波特率与采样点:仲裁段500 kbps、数据段2 Mbps是常见组合,采样点建议仲裁段80%、数据段75%~80%,需与诊断仪和网关一致。
  • ISO-TP参数:BS(块大小)与STmin(最小间隔)影响流控效率。示例配置BS=0、STmin=0,可减少等待;但若网关缓冲有限,可设BS=8、STmin=2 ms。
  • UDS服务实现:0x10进入编程会话、0x27安全访问、0x34请求下载、0x36传输数据、0x37退出传输、0x31例程控制(擦除/校验)。
  • 看门狗与超时:P2/P2*超时需与刷写工位节奏匹配,避免长擦除期间误判超时。

若走DoIP,AURIX需启用GETH外设,实现ARP、UDP发现、TCP数据连接与DoIP报文头解析。DoIP的激活线(Activation Line)在EOL工位常由诊断仪拉高,Bootloader需检测该状态后再进入编程会话。FlexRay方案则需在静态段分配刷写时隙,并处理帧同步与冷启动,通常不作为首选。

五、选型决策表(示例)

下表给出一个可直接用于项目评审的选型对照,字段按量产刷写实际关注点设置,数值为教学示例,需按项目实测替换。

评估项 UDS over CAN UDS over CAN-FD DoIP FlexRay
AURIX外设 MCMCAN MCMCAN GETH E-Ray
单帧有效载荷 8 B 64 B 较大(TCP流) 固定时隙帧
1.5 MB固件估算刷写时间 25~40 s 2~3 s <1 s(千兆链路) 取决于时隙分配
线束与网关改动 最小 小(需CAN-FD收发器) 需以太网诊断口 大
Bootloader实现复杂度 低 中 中高 高
适用场景 小固件、旧线束 主流EOL、中等固件 大固件、高节拍、并行刷写 特殊整车网络
注意:CAN-FD的“快”依赖收发器、网关与诊断仪全链路支持。若网关仍按经典CAN转发,数据段加速不会生效,实际速率会回落到经典CAN水平。选型时必须做端到端链路确认,而不是只看AURIX节点能力。

六、拓扑确定与验证方法

协议确定后,拓扑上要明确刷写路径:诊断仪→OBD口→网关→目标网段→AURIX。若多ECU并行刷写,需确认网关是否支持多路路由与带宽分配。验证时建议分三步:

  1. 物理层验证:用示波器或CAN分析仪确认CAN-FD数据段波特率、采样点与终端电阻;DoIP则确认链路速率与ARP响应。
  2. 协议层验证:发送0x10 0x02进入编程会话,观察AURIX是否返回0x50 0x02;再发0x27安全访问,确认种子/密钥流程。
  3. 刷写节拍验证:用示例固件跑完整下载,记录从0x34到0x37的总时间,与工位节拍对比,留出20%余量。

最终选型应形成一份“协议—拓扑—参数”绑定表:协议类型、AURIX外设、波特率/链路速率、ISO-TP或DoIP参数、网关路由规则、目标ECU逻辑地址、刷写时间预算。该表既是Bootloader开发输入,也是EOL工位配置依据,避免开发与产线各自理解不一致。