3. 车载网络架构
车载诊断路由策略的设计,其根基在于对物理网络架构与逻辑功能域之间映射关系的深刻理解。DoIP(Diagnostics over Internet Protocol,基于IP的诊断)并非凭空运行,它依赖以太网作为传输介质,依赖网关作为路由枢纽,依赖ECU(Electronic Control Unit,电子控制单元)作为诊断终端。本章将系统拆解车载以太网的拓扑形态、中央网关的功能定位、ECU节点的角色分类,以及诊断域划分的核心逻辑,为后续章节中路由表设计、地址分配与安全策略奠定架构基础。
上图展示了车载DoIP诊断网络的核心架构关系。诊断仪通过以太网物理链路连接中央网关,网关作为唯一入口,将诊断请求路由至不同功能域内的ECU节点。值得注意的是,不同域可能采用不同的底层通信介质(CAN、CAN FD或以太网),这要求网关具备跨协议转换能力。诊断域划分并非简单的物理分组,而是基于功能安全等级、实时性要求和数据敏感度的逻辑抽象。
3.1 车载以太网拓扑结构:从星型到混合型
核心原理:拓扑决定路由复杂度
车载以太网拓扑经历了从传统CAN总线到以太网交换式架构的演进。当前主流方案为中央网关+区域控制器的混合拓扑。在这种架构中,中央网关作为核心交换节点,连接若干域控制器或区域控制器,每个区域控制器再下挂多个ECU。这种设计将物理星型拓扑与逻辑分层相结合,既保证了带宽隔离,又降低了线束重量。
| 拓扑类型 | 带宽特性 | 故障隔离 | 线束成本 | 诊断路由复杂度 |
|---|---|---|---|---|
| 传统CAN总线 | 500kbps共享 | 差(总线广播) | 低 | 极低(广播式) |
| 星型以太网 | 100Mbps/1Gbps独占 | 优(端口隔离) | 中 | 中(需路由表) |
| 混合型(网关+区域) | 骨干1Gbps+分支100Mbps | 优(分段隔离) | 中高 | 高(多级路由) |
| 环形以太网 | 冗余链路 | 优(自愈) | 高 | 高(需链路冗余管理) |
判断方法:根据诊断需求选择拓扑
设计诊断路由策略前,需评估以下关键指标:
- 诊断并发性:是否需要同时诊断多个ECU?若需要,则必须采用交换式以太网,避免总线竞争。
- 实时性约束:安全关键ECU(如制动)的诊断响应时间要求通常小于50ms,这要求路由路径尽量短,避免经过过多网关转发。
- 物理可达性:某些ECU(如传感器)可能位于传统CAN节点,需要通过网关进行协议转换,这会增加路由跳数。
案例拆解:某量产车型的混合拓扑诊断设计
某中高端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%,满足规范。
3.2 中央网关的角色:路由、隔离与安全
核心原理:网关是诊断路由的"交通警察"
中央网关在DoIP诊断中承担三重角色:协议转换器(DoIP/UDP与CAN/CAN FD之间的转换)、路由决策器(根据诊断地址决定转发路径)、安全防火墙(过滤非法诊断请求)。网关内部维护一张路由表,该表将诊断逻辑地址(如0x0E00)映射到物理端口和ECU地址。
操作流程:网关路由表配置步骤
- 枚举ECU:通过诊断仪发送广播请求,网关响应所有在线ECU列表。
- 地址分配:为每个ECU分配唯一的逻辑地址(通常为16位),并记录其物理端口(如Port 3, CAN ID 0x7E0)。
- 路由规则定义:配置允许的源地址(诊断仪)与目标地址(ECU)之间的映射关系,以及允许的诊断服务(如禁止对安全气囊ECU执行0x31例程控制)。
- 安全策略下发:设置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元/车,因此采用网关代理是更经济的选择。
3.4 诊断域划分:安全、功能与物理的平衡
核心原理:域划分是路由策略的顶层约束
诊断域划分需同时考虑三个维度:功能安全等级(ASIL等级)、数据敏感度(是否涉及个人隐私或车辆控制)、物理位置(线束走向)。通常将ECU划分为以下逻辑域:
- 安全关键域(ASIL-D):动力、底盘、电池。诊断操作需双重认证,且禁止远程刷写。
- 车身控制域(ASIL-B):灯光、门锁、空调。允许诊断,但需防止误操作。
- 信息娱乐域(QM):IVI、仪表。诊断权限较低,但需保护用户数据。
操作流程:诊断域划分的实施步骤
- 功能清单梳理:列出所有ECU及其诊断功能(读码、清码、刷写、标定)。
- 安全等级评估:依据ISO 26262确定每个ECU的ASIL等级。
- 网络分区设计:将相同安全等级的ECU划分到同一VLAN,并配置访问控制列表(ACL)。
- 路由策略映射:为每个域定义诊断入口(如安全域仅允许物理连接诊断,信息域允许远程诊断)。
案例拆解:远程诊断的域隔离设计
某车企计划提供远程诊断功能,允许用户通过手机App读取车辆状态。但安全关键域(如制动)不允许远程访问。
方案设计:
- 在网关中配置两条诊断通道:本地通道(物理连接,可访问所有域)和远程通道(T-Box连接,仅可访问信息娱乐域和车身控制域的部分功能)。
- 远程通道采用TLS加密,且每次诊断会话需用户二次确认。
- 安全关键域的诊断请求在网关处被丢弃,并记录审计日志。
结果:远程诊断上线后,未发生一起安全域误访问事件。但发现部分用户尝试通过远程通道刷写IVI固件,导致网关CPU过载。后续增加了速率限制(每IP最大10Mbps)。