文章目录
- 车载以太网概念及协议架构介绍
- 前言
- 1. 什么是车载以太网
- 1.1 基本定义
- 1.2 为什么汽车需要以太网
- 2. 车载以太网发展历程
- 3. 物理层:车载以太网的"地基"
- 3.1 单对以太网(SPE)
- 3.2 PHY 收发器
- 3.3 MAC 控制器
- 4. 网络拓扑架构
- 4.1 域架构(Domain Architecture)
- 4.2 区域架构(Zonal Architecture)
- 4.3 常见拓扑类型
- 5. 协议栈分层架构
- 5.1 各层协议一览
- 5.2 数据封装过程
- 5.3 数据链路层(L2):MAC 完整帧结构
- 5.3.1 线上完整帧 vs MAC 帧本体
- 5.3.2 无 VLAN Tag 的标准以太网帧
- 5.3.3 带 VLAN Tag 的以太网帧(802.1Q)
- 5.3.4 无 Tag vs 带 Tag 对比
- 5.3.5 双层 Tag(Q-in-Q,了解即可)
- 5.3.6 RX 解封装与 AUTOSAR 映射
车载以太网概念及协议架构介绍
适用范围:汽车电子工程师、AUTOSAR BSW 开发、系统集成与测试人员
参考规范:IEEE 802.3 / OPEN Alliance / ISO 13400 / AUTOSAR SOME/IP / IEEE 802.1 TSN
关键词:车载以太网、100BASE-T1、1000BASE-T1、SOME/IP、DoIP、TSN、域架构、区域架构、AUTOSAR
前言
随着智能驾驶、座舱娱乐、OTA 远程升级和 ADAS 传感器融合对高带宽、低延迟、可扩展通信的需求持续增长,传统 CAN/CAN-FD 总线已难以承载整车数据流量。车载以太网(Automotive Ethernet)作为新一代车载骨干网络,正在从"诊断专用通道"演进为整车数据高速公路。
本文从概念定位 → 物理层特性 → 网络拓扑 → 协议栈架构 → 典型应用协议 → AUTOSAR 集成六个维度,系统介绍车载以太网的核心概念与协议架构,帮助读者建立从整体到局部的认知框架。
1. 什么是车载以太网
1.1 基本定义
车载以太网是将IEEE 802.3 以太网技术适配到汽车电子环境后的通信方案。它在保留以太网高带宽、成熟生态、IP 互通优势的同时,针对车载场景做了三项关键改造:
| 改造维度 | 传统以太网 | 车载以太网 |
|---|---|---|
| 物理线缆 | 4 对双绞线(RJ45) | 单对双绞线(SPE,Single Pair Ethernet) |
| 拓扑结构 | 星型交换机网络 | 点对点 / 星型,支持菊花链 |
| 实时性 | 尽力交付(Best Effort) | TSN / AVB增强确定性 |
1.2 为什么汽车需要以太网
| 应用场景 | 数据量估算 | CAN/CAN-FD 局限 | 以太网优势 |
|---|---|---|---|
| 摄像头视频流 | 100 Mbps ~ 1 Gbps | 带宽严重不足 | 百兆/千兆原生支持 |
| 激光雷达点云 | 10 ~ 100 Mbps | 无法实时传输 | 高带宽 + TSN 确定性 |
| OTA 固件升级 | 数百 MB ~ GB | 刷写耗时数小时 | TCP 可靠传输,分钟级完成 |
| 远程诊断 (DoIP) | 大包 UDS 请求 | 8/64 字节帧限制 | 1518 字节帧 + TCP 流 |
| 标定测量 (XCP) | 多路 DAQ 并发 | 带宽瓶颈 | 百兆级测量带宽 |
| 服务通信 (SOME/IP) | 动态服务发现 | 信号式通信不灵活 | 面向服务的发布/订阅 |
图 3:车载以太网 vs 传统以太网 vs CAN 总线对比
2. 车载以太网发展历程
车载以太网并非简单将办公网络搬入车内,而是经历了从诊断通道到数据骨干的渐进演进。
图 4:车载以太网发展历程时间线
关键组织与标准:
| 组织/标准 | 职责 |
|---|---|
| OPEN Alliance | 制定车载以太网 PHY 互操作规范(TC1~TC18) |
| IEEE 802.3 | 定义 100BASE-T1 / 1000BASE-T1 / 10BASE-T1S 物理层 |
| IEEE 802.1 | 定义 TSN(时间敏感网络)调度与整形机制 |
| AUTOSAR | 定义 Classic / Adaptive 平台的以太网 BSW 栈 |
| ISO 13400 | 定义 DoIP(Diagnostics over IP)协议 |
| GENIVI / COVESA | 推动 SOME/IP 服务通信标准化 |
3. 物理层:车载以太网的"地基"
3.1 单对以太网(SPE)
传统以太网使用 4 对双绞线(8 芯),而车载以太网通过BroadR-Reach技术实现单对双绞线上的全双工通信,显著降低线束重量与成本。
| 标准 | 速率 | 线缆 | 典型应用 |
|---|---|---|---|
| 10BASE-T1S | 10 Mbps | 单对,多点总线 | 区域控制器内部、传感器节点 |
| 100BASE-T1 | 100 Mbps | 单对,点对点 | 诊断、座舱、ADAS 数据 |
| 1000BASE-T1 | 1 Gbps | 单对,点对点 | 智驾域、高分辨率摄像头 |
| Multi-Gig T1 | 2.5/5/10 Gbps | 单对 | 下一代高算力域控 |
3.2 PHY 收发器
PHY(Physical Layer Transceiver)是 MAC 与物理线路之间的桥梁,负责信号调制、链路协商和唤醒管理。
| 厂商 | 典型芯片 | 速率 | 接口 |
|---|---|---|---|
| NXP | TJA1103 | 100BASE-T1 | MII/RMII |
| Realtek | RTL9010 | 100BASE-T1 | RMII |
| Marvell | 88Q2112 | 1000BASE-T1 | RGMII |
| Broadcom | BCM89811 | 100BASE-T1 | RGMII |
PHY 核心能力:
- Link Up/Down 检测:通过 SQI(Signal Quality Index)评估链路质量
- 自动协商:与对端协商速率与双工模式
- 唤醒 (Wakeup):支持局部网络唤醒,配合 EthTrcv 上报 EcuM
- 线缆诊断:部分 PHY 支持开路/短路检测
3.3 MAC 控制器
ECU 侧的 MAC(Media Access Controller)负责帧的发送与接收,通常通过 DMA 描述符环管理 TX/RX 缓冲区。以 Infineon AURIX TC377 为例,内置GETH(Gigabit Ethernet)控制器,通过 RMII/RGMII 连接外部 PHY。
ECU 内部连接关系: ASW/BSW → Eth Driver (MCAL) → GETH MAC → RMII/RGMII → PHY → 单对双绞线 → 对端4. 网络拓扑架构
车载网络的拓扑设计直接影响线束成本、通信延迟和系统扩展性。当前行业正从域架构向区域架构演进。
图 2:车载以太网网络拓扑演进
4.1 域架构(Domain Architecture)
每个功能域(动力、底盘、车身、座舱、智驾)拥有独立的 ECU 和域内总线(CAN/LIN),各域通过中央网关以以太网骨干互联。
| 特点 | 说明 |
|---|---|
| 优点 | 域内总线成熟稳定,域间以太网提供高带宽 |
| 缺点 | 中央网关负载重,线束从 ECU 到网关距离长 |
| 典型总线 | 域内 CAN/LIN + 域间 100BASE-T1 |
4.2 区域架构(Zonal Architecture)
将 ECU 按车辆物理位置分布为区域控制器(Zonal Controller),每个区域控制器管理本地传感器/执行器(通过 CAN/LIN),区域控制器之间通过高速以太网骨干(1000BASE-T1)互联,中央计算单元(HPC/域控)挂载在骨干上。
| 特点 | 说明 |
|---|---|
| 优点 | 线束大幅缩短减重,计算资源集中化,扩展性强 |
| 缺点 | 区域控制器算力要求高,软件架构复杂度增加 |
| 典型总线 | 区域间 1000BASE-T1 + 区域内 CAN/LIN/10BASE-T1S |
4.3 常见拓扑类型
| 拓扑 | 结构 | 适用场景 |
|---|---|---|
| 点对点 | 两个节点直连 | 域控 ↔ 传感器(摄像头、雷达) |
| 星型 | 交换机为中心,多节点辐射 | 座舱域多 ECU 接入 |
| 菊花链 | 节点串联 | 区域控制器链式连接 |
| 环形 | 闭环冗余 | 高可靠性智驾域 |
5. 协议栈分层架构
车载以太网协议栈遵循 OSI 七层模型,各层承载不同的车载专用协议。理解分层架构是掌握以太网通信的基础。
图 1:车载以太网协议栈分层架构
5.1 各层协议一览
| OSI 层 | 车载协议/技术 | 核心职责 | 数据单元 |
|---|---|---|---|
| L7 应用层 | SOME/IP、DoIP、XCP、DDS、HTTP | 业务逻辑、服务通信、诊断 | 服务消息 / UDS 请求 |
| L5 会话层 | SOME/IP SD(Service Discovery) | 服务注册、发现、订阅 | SD 报文 |
| L4 传输层 | TCP、UDP | 可靠/无连接传输、端口复用 | Segment / Datagram |
| L3 网络层 | IPv4/IPv6、ICMP、ARP、DHCP | 寻址、路由、地址分配 | IP Packet |
| L2 数据链路层 | Ethernet MAC、VLAN、TSN、AVB | 帧封装、时间调度、流量整形 | Ethernet Frame |
| L1 物理层 | 100/1000BASE-T1、PHY | 比特传输、信号调制 | Bit Stream |
5.2 数据封装过程
数据从应用层向下逐层封装,最终在物理层以电信号发送:
反向解封装(RX):PHY 收到电信号 → MAC 提取帧 → IP 层解析地址 → TCP/UDP 匹配端口 → 应用层处理业务数据。
5.3 数据链路层(L2):MAC 完整帧结构
以太网在 L2 以MAC 帧(Ethernet Frame)为单位传输。Wireshark 抓包、Eth Driver DMA 缓冲区、EthIf 回调中的DataPtr,面对的都是 MAC 帧中的Payload 及以上字段(前导码/SFD 通常由 PHY 剥离,FCS 由硬件校验)。
图 14:以太网 MAC 完整帧结构(无 VLAN Tag vs 带 VLAN Tag)
5.3.1 线上完整帧 vs MAC 帧本体
| 范围 | 包含字段 | 长度 |
|---|---|---|
| 线上完整帧(On-the-Wire) | Preamble + SFD + MAC 帧本体 | 72 ~ 1522 字节(无 VLAN) |
| MAC 帧本体 | Dst MAC ~ FCS | 64 ~ 1518字节(无 VLAN) |
| MAC 帧本体(带 1 个 VLAN Tag) | Dst MAC ~ FCS | 68 ~ 1522字节 |
注意:IEEE 802.3 规定的64 字节最小帧长指的是 MAC 帧本体(从目的 MAC 到 FCS),不含 Preamble/SFD。Payload 不足 46 字节时,由Padding(填充)补齐。
5.3.2 无 VLAN Tag 的标准以太网帧
这是车载 ECU 最常见的帧格式(EtherType 直接跟在源 MAC 之后)。以太网首部(Dst MAC + Src MAC + EtherType)共14 byte:
┌──────────────┬─────┬──────────────────────────────┬─────────────┬─────┐ │ Preamble │ SFD │ 以太网首部 (14 byte) │ Payload │ FCS │ │ 7 byte │1 byte│ Dst MAC(6)+Src MAC(6)+EthType(2)│ 46~1500 byte│4 byte│ │ (PHY处理) │ │ EtherType 例: 0x0800 IPv4 │ │ │ └──────────────┴─────┴──────────────────────────────┴─────────────┴─────┘ MAC 帧本体:64 ~ 1518 byte各字段说明:
| 字段 | 长度 | 说明 | 车载典型值 |
|---|---|---|---|
| Preamble | 7 byte | 前导码,用于 PHY 时钟同步 | 固定0x55× 7,软件层通常不可见 |
| SFD | 1 byte | 帧起始定界符 | 固定0xD5 |
| Destination MAC | 6 byte | 目的 MAC 地址 | 单播 / 广播FF:FF:FF:FF:FF:FF |
| Source MAC | 6 byte | 源 MAC 地址 | ECU 出厂烧录或配置 |
| EtherType | 2 byte | 上层协议类型 | 0x0800IPv4、0x0806ARP、0x86DDIPv6 |
| Payload | 46~1500 byte | 上层数据(含 Padding) | IP Packet、ARP 报文等 |
| FCS | 4 byte | CRC-32 帧校验 | 硬件计算与校验,错帧丢弃 |
常见 EtherType 速查:
| EtherType | 上层协议 | 车载场景 |
|---|---|---|
0x0800 | IPv4 | DoIP、SOME/IP、XCP 等主流业务 |
0x0806 | ARP | IP→MAC 地址解析 |
0x86DD | IPv6 | 新一代域控 |
0x8100 | VLAN Tag(TPID) | 见下文带 Tag 帧 |
0x88F7 | gPTP (802.1AS) | TSN 时间同步 |
5.3.3 带 VLAN Tag 的以太网帧(802.1Q)
当帧经过车载以太网交换机或 ECU 配置了 VLAN 时,在源 MAC 与 EtherType 之间插入4 字节 VLAN Tag。以太网首部扩展为18 byte(Dst MAC + Src MAC + VLAN Tag + EtherType),EtherType 仍在首部末尾、Payload 之前:
┌──────────┬──────────┬────────────────────────────────────┬─────────────┬─────┐ │ Dst MAC │ Src MAC │ VLAN Tag (4 byte) │ EtherType │ Payload │ FCS │ │ 6 byte │ 6 byte │ TPID 0x8100 + TCI │ 2 byte │ 46~1500 byte│4 byte│ └──────────┴──────────┴────────────────────────────────────┴─────────────┴─────┘ 以太网首部 18 byte(含 VLAN Tag + EtherType) MAC 帧本体:68 ~ 1522 byte易错点:802.1Q 是在源 MAC之后插入 Tag,EtherType 仍保留在 Tag 之后,并非被 Tag 替代。TPID
0x8100占用的是无 Tag 帧中 EtherType 的位置,但逻辑上仍须再跟一个真正的 EtherType(如0x0800)标识上层协议。
VLAN Tag 4 字节结构:
| 子字段 | 长度 | 说明 |
|---|---|---|
| TPID(Tag Protocol ID) | 16 bit | 固定0x8100,标识后续为 VLAN Tag |
| PCP(Priority Code Point) | 3 bit | 优先级(0~7),TSN/AVB 流量分类用 |
| DEI(Drop Eligible Indicator) | 1 bit | 丢弃许可指示 |
| VID(VLAN Identifier) | 12 bit | VLAN ID(0~4095),0和4095有特殊含义 |
VID 示例(车载规划示意):
| VLAN ID | 逻辑网络 | 典型业务 |
|---|---|---|
| 10 | 诊断网络 | DoIP、OBD 以太网 |
| 20 | ADAS 域 | 摄像头、雷达数据 |
| 30 | 座舱域 | IVI、 SOME/IP 服务 |
| 100 | 台架测试 | 开发调试隔离 |
5.3.4 无 Tag vs 带 Tag 对比
| 对比项 | 无 VLAN Tag | 带 1 个 VLAN Tag (802.1Q) |
|---|---|---|
| 以太网首部长度 | 14 byte(MAC 12 + EtherType 2) | 18 byte(MAC 12 + Tag 4 + EtherType 2) |
| MAC 帧本体最小长度 | 64 byte | 68 byte(Tag 占 4 byte) |
| MAC 帧本体最大长度 | 1518 byte | 1522 byte |
| EtherType 位置 | 源 MAC 后偏移 12 byte | 源 MAC 后偏移16byte |
| 线上最大帧长 | 1522 byte(含 Preamble+SFD) | 1526 byte |
| Payload 最大 | 1500 byte | 1500 byte(不变) |
| 交换机行为 | 按 MAC 转发 | 按VID + MAC隔离转发 |
| Wireshark 显示 | 直接显示 EtherType | 显示 VLAN ID,再显示 EtherType |
Payload 仍为 1500 byte:VLAN Tag 占用的是 MAC 首部空间,不是 Payload 空间。因此带 Tag 帧的 MAC 本体最大长度从 1518 增至 1522,而非压缩 IP 包。
5.3.5 双层 Tag(Q-in-Q,了解即可)
部分骨干交换机场景可能出现双层 VLAN Tag(SPVLAN),MAC 帧本体再增加 4 byte(最大 1526 byte)。车载 ECU 端较少直接发送 Q-in-Q,但域控/交换机背板可能遇到。EthIf RX 需正确剥离 Tag 层数,否则 TcpIp 无法解析 IP。
5.3.6 RX 解封装与 AUTOSAR 映射
图 15:MAC 帧接收解封装流程(含 VLAN 判断)
| 概念 | AUTOSAR 模块 / 配置 | 说明 |
|---|---|---|
| MAC 帧收发 | Eth Driver (MCAL) | DMA 描述符、FCS 硬件校验 |
| VLAN 剥离/插入 | EthIf | EthIfVlanId配置,RX 时剥离 Tag 上报上层 |
| Frame Owner | EthIfFrameOwnerConfig | 按 EtherType 决定 IPv4/AVB 帧交给 TcpIp |
| RX 回调数据指针 | EthIf_RxIndication(DataPtr) | 通常指向 IP 首部或以太网载荷起始(取决于 VLAN 配置) |
| 交换机 VLAN | EthSwt(可选) | 管理交换机端口 VLAN 映射 |
调试提示(Wireshark):
- 无 Tag 帧:
Ethernet II直接显示Type: IPv4 (0x0800) - 有 Tag 帧:先显示
802.1Q VLAN ID: 100,再显示内层Type: IPv4 (0x0800) - 若抓包看到
0x8100但读不到 IP,检查 ECU 是否未配置 VLAN 剥离或 VID 不匹配
未完待续~