3. 车载网络架构

车载诊断路由策略的设计,其根基在于对物理网络架构与逻辑功能域之间映射关系的深刻理解。DoIP(Diagnostics over Internet Protocol,基于IP的诊断)并非凭空运行,它依赖以太网作为传输介质,依赖网关作为路由枢纽,依赖ECU(Electronic Control Unit,电子控制单元)作为诊断终端。本章将系统拆解车载以太网的拓扑形态、中央网关的功能定位、ECU节点的角色分类,以及诊断域划分的核心逻辑,为后续章节中路由表设计、地址分配与安全策略奠定架构基础。

车载DoIP诊断网络架构总览 诊断仪/测试设备 DoIP Client / Tester 中央网关 (CGW) 路由核心 / 防火墙 / NAT DoIP Server 入口 100BASE-T1 DoIP 激活线 动力域 (Powertrain) ECM 发动机控制 BMS 电池管理 VCU / 整车控制器 扭矩协调 底盘域 (Chassis) ESP 车身稳定 EPS 电动助力 AEB / 自动紧急制动 传感器融合 智能座舱域 (Cockpit) IVI 信息娱乐 仪表 Cluster HUD / 抬头显示 AR导航 CAN / 100BASE-T1 CAN FD 100BASE-T1 诊断域划分逻辑 安全关键域 动力/底盘/电池 高安全等级 舒适便利域 车身/空调/灯光 中安全等级 信息娱乐域 IVI/仪表/互联 低安全等级 注:实线箭头表示诊断路由路径,虚线框表示逻辑功能域划分

上图展示了车载DoIP诊断网络的核心架构关系。诊断仪通过以太网物理链路连接中央网关,网关作为唯一入口,将诊断请求路由至不同功能域内的ECU节点。值得注意的是,不同域可能采用不同的底层通信介质(CAN、CAN FD或以太网),这要求网关具备跨协议转换能力。诊断域划分并非简单的物理分组,而是基于功能安全等级、实时性要求和数据敏感度的逻辑抽象。

3.1 车载以太网拓扑结构:从星型到混合型

核心原理:拓扑决定路由复杂度

车载以太网拓扑经历了从传统CAN总线到以太网交换式架构的演进。当前主流方案为中央网关+区域控制器的混合拓扑。在这种架构中,中央网关作为核心交换节点,连接若干域控制器或区域控制器,每个区域控制器再下挂多个ECU。这种设计将物理星型拓扑与逻辑分层相结合,既保证了带宽隔离,又降低了线束重量。

拓扑类型带宽特性故障隔离线束成本诊断路由复杂度
传统CAN总线500kbps共享差(总线广播)低极低(广播式)
星型以太网100Mbps/1Gbps独占优(端口隔离)中中(需路由表)
混合型(网关+区域)骨干1Gbps+分支100Mbps优(分段隔离)中高高(多级路由)
环形以太网冗余链路优(自愈)高高(需链路冗余管理)

判断方法:根据诊断需求选择拓扑

设计诊断路由策略前,需评估以下关键指标:

  • 诊断并发性:是否需要同时诊断多个ECU?若需要,则必须采用交换式以太网,避免总线竞争。
  • 实时性约束:安全关键ECU(如制动)的诊断响应时间要求通常小于50ms,这要求路由路径尽量短,避免经过过多网关转发。
  • 物理可达性:某些ECU(如传感器)可能位于传统CAN节点,需要通过网关进行协议转换,这会增加路由跳数。
经验提醒:在项目早期,建议绘制一张"诊断通信矩阵"表格,横轴为所有可诊断ECU,纵轴为诊断功能(读码、刷写、标定),标注每个功能所需的带宽、延迟和安全性要求。这张矩阵将直接决定拓扑选型和路由策略。

案例拆解:某量产车型的混合拓扑诊断设计

某中高端SUV采用"中央网关+5个域控制器"架构。动力域(ECM、BMS、VCU)通过CAN FD连接至网关,底盘域(ESP、EPS)通过CAN连接,智能座舱域(IVI、仪表)通过100BASE-T1以太网连接。诊断仪连接网关的DoIP端口(100BASE-T1)。

初始现象:在售后诊断中,同时读取BMS和IVI数据时,BMS响应延迟达到200ms,超出规范。

分析过程:通过网关日志发现,网关在转发CAN FD报文时,需要将诊断请求从DoIP(UDP)转换为CAN FD帧,该转换过程占用CPU时间约15ms。当IVI的以太网诊断流量(大文件传输)与BMS的CAN诊断流量并发时,网关的以太网端口优先级高于CAN端口,导致CAN诊断帧排队。

解决方案:在网关中配置基于VLAN的优先级标记,将诊断流量(VLAN ID 100)标记为高优先级(PCP=6),将IVI的娱乐流量(VLAN ID 200)标记为低优先级(PCP=2)。同时,为CAN FD诊断通道分配独立的DMA缓冲区,避免与以太网数据竞争。

结果:优化后,BMS响应延迟降至30ms,IVI大文件传输速度仅下降5%,满足规范。

风险提示:不要将所有诊断流量都设置为最高优先级。若多个ECU同时刷写(如OTA升级),高优先级流量可能阻塞关键控制报文。建议为刷写类诊断设置独立的带宽预留(如50Mbps),并采用流量整形策略。

3.2 中央网关的角色:路由、隔离与安全

核心原理:网关是诊断路由的"交通警察"

中央网关在DoIP诊断中承担三重角色:协议转换器(DoIP/UDP与CAN/CAN FD之间的转换)、路由决策器(根据诊断地址决定转发路径)、安全防火墙(过滤非法诊断请求)。网关内部维护一张路由表,该表将诊断逻辑地址(如0x0E00)映射到物理端口和ECU地址。

操作流程:网关路由表配置步骤

  1. 枚举ECU:通过诊断仪发送广播请求,网关响应所有在线ECU列表。
  2. 地址分配:为每个ECU分配唯一的逻辑地址(通常为16位),并记录其物理端口(如Port 3, CAN ID 0x7E0)。
  3. 路由规则定义:配置允许的源地址(诊断仪)与目标地址(ECU)之间的映射关系,以及允许的诊断服务(如禁止对安全气囊ECU执行0x31例程控制)。
  4. 安全策略下发:设置TLS证书或MAC白名单,仅允许经过认证的诊断仪访问。

案例拆解:网关路由表错误导致的诊断失败

某测试车辆在产线终检时,发现无法通过DoIP访问车灯控制模块(BCM)。诊断仪发送路由激活请求后,网关返回"未知目标地址"错误。

排查过程:

  • 第一步:检查BCM是否在线——通过网关的调试端口查询,发现BCM在CAN总线上正常响应。
  • 第二步:检查网关路由表——发现路由表中BCM的逻辑地址(0x0A10)被错误配置为指向底盘域端口(Port 2),而BCM实际连接在车身域端口(Port 4)。
  • 第三步:修正路由表——将0x0A10的端口映射改为Port 4,并重新下发配置。

结果:诊断恢复。复盘发现,该错误源于软件版本更新时,路由表配置文件合并冲突,导致端口映射错位。

最佳实践:网关路由表应作为独立配置文件管理,纳入版本控制。每次软件更新后,需执行"路由表一致性校验",比对预期配置与实际运行配置的哈希值。

3.3 ECU节点分类与诊断能力分级

核心原理:ECU的硬件资源决定诊断深度

并非所有ECU都具备完整的DoIP诊断能力。根据硬件资源(CPU性能、内存、以太网MAC)和功能安全等级,ECU可分为三类:

ECU类型典型代表诊断能力路由策略
全功能DoIP节点域控制器、IVI支持完整DoIP协议栈,可独立处理诊断请求直接路由,无需协议转换
网关代理节点传统CAN ECU(如车窗电机)仅支持UDS over CAN,无法直接处理IP网关代理转发,需地址映射
受限诊断节点传感器、执行器仅支持物理层诊断(如DTC读取)通过网关的"诊断透传"功能

判断方法:如何确定ECU的诊断路由方式

在项目设计阶段,对每个ECU执行以下评估:

  • 该ECU是否具备以太网物理接口?若无,则必须通过网关代理。
  • 该ECU的MCU是否支持TCP/IP协议栈?若仅支持UDP,则只能使用DoIP的UDP诊断模式(较少见)。
  • 该ECU是否要求诊断会话保持(如刷写过程中)?若是,则需网关维持长连接。

案例拆解:OTA刷写中的ECU分级路由

某车型进行OTA升级,需同时刷写IVI(以太网节点)和BMS(CAN FD节点)。IVI刷写数据量为2GB,BMS刷写数据量为10MB。

策略设计:

  • IVI:通过DoIP直接刷写,网关仅做流量转发,不干预数据内容。
  • BMS:网关将DoIP刷写请求转换为CAN FD多帧传输,并采用流控机制(每发送5帧等待接收方确认),避免CAN缓冲区溢出。

结果:IVI刷写耗时12分钟,BMS刷写耗时8分钟。若将BMS刷写也走以太网(需额外硬件),成本将增加约30元/车,因此采用网关代理是更经济的选择。

风险提示:网关代理刷写时,若CAN总线出现错误帧,网关需具备"断点续传"能力。否则,刷写中断后需从头开始,严重影响售后体验。建议在网关中实现刷写会话的上下文保存。

3.4 诊断域划分:安全、功能与物理的平衡

核心原理:域划分是路由策略的顶层约束

诊断域划分需同时考虑三个维度:功能安全等级(ASIL等级)、数据敏感度(是否涉及个人隐私或车辆控制)、物理位置(线束走向)。通常将ECU划分为以下逻辑域:

  • 安全关键域(ASIL-D):动力、底盘、电池。诊断操作需双重认证,且禁止远程刷写。
  • 车身控制域(ASIL-B):灯光、门锁、空调。允许诊断,但需防止误操作。
  • 信息娱乐域(QM):IVI、仪表。诊断权限较低,但需保护用户数据。

操作流程:诊断域划分的实施步骤

  1. 功能清单梳理:列出所有ECU及其诊断功能(读码、清码、刷写、标定)。
  2. 安全等级评估:依据ISO 26262确定每个ECU的ASIL等级。
  3. 网络分区设计:将相同安全等级的ECU划分到同一VLAN,并配置访问控制列表(ACL)。
  4. 路由策略映射:为每个域定义诊断入口(如安全域仅允许物理连接诊断,信息域允许远程诊断)。

案例拆解:远程诊断的域隔离设计

某车企计划提供远程诊断功能,允许用户通过手机App读取车辆状态。但安全关键域(如制动)不允许远程访问。

方案设计:

  • 在网关中配置两条诊断通道:本地通道(物理连接,可访问所有域)和远程通道(T-Box连接,仅可访问信息娱乐域和车身控制域的部分功能)。
  • 远程通道采用TLS加密,且每次诊断会话需用户二次确认。
  • 安全关键域的诊断请求在网关处被丢弃,并记录审计日志。

结果:远程诊断上线后,未发生一起安全域误访问事件。但发现部分用户尝试通过远程通道刷写IVI固件,导致网关CPU过载。后续增加了速率限制(每IP最大10Mbps)。

总结复盘:诊断域划分不是一次性的静态设计,而是随车型功能演进持续迭代的过程。建议在网关中采用"策略表+动态加载"机制,便于OTA更新诊断权限。同时,每个域的诊断路由策略应独立测试,避免跨域干扰。