车载以太网概念及协议架构介绍(一)

文章目录

  • 车载以太网概念及协议架构介绍
    • 前言
    • [1. 什么是车载以太网](#1. 什么是车载以太网)
      • [1.1 基本定义](#1.1 基本定义)
      • [1.2 为什么汽车需要以太网](#1.2 为什么汽车需要以太网)
    • [2. 车载以太网发展历程](#2. 车载以太网发展历程)
    • [3. 物理层:车载以太网的"地基"](#3. 物理层:车载以太网的"地基")
      • [3.1 单对以太网(SPE)](#3.1 单对以太网(SPE))
      • [3.2 PHY 收发器](#3.2 PHY 收发器)
      • [3.3 MAC 控制器](#3.3 MAC 控制器)
    • [4. 网络拓扑架构](#4. 网络拓扑架构)
      • [4.1 域架构(Domain Architecture)](#4.1 域架构(Domain Architecture))
      • [4.2 区域架构(Zonal Architecture)](#4.2 区域架构(Zonal Architecture))
      • [4.3 常见拓扑类型](#4.3 常见拓扑类型)
    • [5. 协议栈分层架构](#5. 协议栈分层架构)
      • [5.1 各层协议一览](#5.1 各层协议一览)
      • [5.2 数据封装过程](#5.2 数据封装过程)
      • [5.3 数据链路层(L2):MAC 完整帧结构](#5.3 数据链路层(L2):MAC 完整帧结构)
        • [5.3.1 线上完整帧 vs MAC 帧本体](#5.3.1 线上完整帧 vs MAC 帧本体)
        • [5.3.2 无 VLAN Tag 的标准以太网帧](#5.3.2 无 VLAN Tag 的标准以太网帧)
        • [5.3.3 带 VLAN Tag 的以太网帧(802.1Q)](#5.3.3 带 VLAN Tag 的以太网帧(802.1Q))
        • [5.3.4 无 Tag vs 带 Tag 对比](#5.3.4 无 Tag vs 带 Tag 对比)
        • [5.3.5 双层 Tag(Q-in-Q,了解即可)](#5.3.5 双层 Tag(Q-in-Q,了解即可))
        • [5.3.6 RX 解封装与 AUTOSAR 映射](#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:车载以太网发展历程时间线
#mermaid-svg-bMaub8orjzV5OYyI{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-bMaub8orjzV5OYyI .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-bMaub8orjzV5OYyI .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-bMaub8orjzV5OYyI .error-icon{fill:#552222;}#mermaid-svg-bMaub8orjzV5OYyI .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-bMaub8orjzV5OYyI .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-bMaub8orjzV5OYyI .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-bMaub8orjzV5OYyI .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-bMaub8orjzV5OYyI .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-bMaub8orjzV5OYyI .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-bMaub8orjzV5OYyI .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-bMaub8orjzV5OYyI .marker{fill:#333333;stroke:#333333;}#mermaid-svg-bMaub8orjzV5OYyI .marker.cross{stroke:#333333;}#mermaid-svg-bMaub8orjzV5OYyI svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-bMaub8orjzV5OYyI p{margin:0;}#mermaid-svg-bMaub8orjzV5OYyI .edge{stroke-width:3;}#mermaid-svg-bMaub8orjzV5OYyI .section--1 rect,#mermaid-svg-bMaub8orjzV5OYyI .section--1 path,#mermaid-svg-bMaub8orjzV5OYyI .section--1 circle,#mermaid-svg-bMaub8orjzV5OYyI .section--1 path{fill:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .section--1 text{fill:#ffffff;}#mermaid-svg-bMaub8orjzV5OYyI .node-icon--1{font-size:40px;color:#ffffff;}#mermaid-svg-bMaub8orjzV5OYyI .section-edge--1{stroke:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .edge-depth--1{stroke-width:17;}#mermaid-svg-bMaub8orjzV5OYyI .section--1 line{stroke:hsl(60, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-bMaub8orjzV5OYyI .lineWrapper line{stroke:#ffffff;}#mermaid-svg-bMaub8orjzV5OYyI .disabled,#mermaid-svg-bMaub8orjzV5OYyI .disabled circle,#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:lightgray;}#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:#efefef;}#mermaid-svg-bMaub8orjzV5OYyI .section-0 rect,#mermaid-svg-bMaub8orjzV5OYyI .section-0 path,#mermaid-svg-bMaub8orjzV5OYyI .section-0 circle,#mermaid-svg-bMaub8orjzV5OYyI .section-0 path{fill:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-bMaub8orjzV5OYyI .section-0 text{fill:black;}#mermaid-svg-bMaub8orjzV5OYyI .node-icon-0{font-size:40px;color:black;}#mermaid-svg-bMaub8orjzV5OYyI .section-edge-0{stroke:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-bMaub8orjzV5OYyI .edge-depth-0{stroke-width:14;}#mermaid-svg-bMaub8orjzV5OYyI .section-0 line{stroke:hsl(240, 100%, 83.5294117647%);stroke-width:3;}#mermaid-svg-bMaub8orjzV5OYyI .lineWrapper line{stroke:black;}#mermaid-svg-bMaub8orjzV5OYyI .disabled,#mermaid-svg-bMaub8orjzV5OYyI .disabled circle,#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:lightgray;}#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:#efefef;}#mermaid-svg-bMaub8orjzV5OYyI .section-1 rect,#mermaid-svg-bMaub8orjzV5OYyI .section-1 path,#mermaid-svg-bMaub8orjzV5OYyI .section-1 circle,#mermaid-svg-bMaub8orjzV5OYyI .section-1 path{fill:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .section-1 text{fill:black;}#mermaid-svg-bMaub8orjzV5OYyI .node-icon-1{font-size:40px;color:black;}#mermaid-svg-bMaub8orjzV5OYyI .section-edge-1{stroke:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .edge-depth-1{stroke-width:11;}#mermaid-svg-bMaub8orjzV5OYyI .section-1 line{stroke:hsl(260, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-bMaub8orjzV5OYyI .lineWrapper line{stroke:black;}#mermaid-svg-bMaub8orjzV5OYyI .disabled,#mermaid-svg-bMaub8orjzV5OYyI .disabled circle,#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:lightgray;}#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:#efefef;}#mermaid-svg-bMaub8orjzV5OYyI .section-2 rect,#mermaid-svg-bMaub8orjzV5OYyI .section-2 path,#mermaid-svg-bMaub8orjzV5OYyI .section-2 circle,#mermaid-svg-bMaub8orjzV5OYyI .section-2 path{fill:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .section-2 text{fill:#ffffff;}#mermaid-svg-bMaub8orjzV5OYyI .node-icon-2{font-size:40px;color:#ffffff;}#mermaid-svg-bMaub8orjzV5OYyI .section-edge-2{stroke:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .edge-depth-2{stroke-width:8;}#mermaid-svg-bMaub8orjzV5OYyI .section-2 line{stroke:hsl(90, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-bMaub8orjzV5OYyI .lineWrapper line{stroke:#ffffff;}#mermaid-svg-bMaub8orjzV5OYyI .disabled,#mermaid-svg-bMaub8orjzV5OYyI .disabled circle,#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:lightgray;}#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:#efefef;}#mermaid-svg-bMaub8orjzV5OYyI .section-3 rect,#mermaid-svg-bMaub8orjzV5OYyI .section-3 path,#mermaid-svg-bMaub8orjzV5OYyI .section-3 circle,#mermaid-svg-bMaub8orjzV5OYyI .section-3 path{fill:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .section-3 text{fill:black;}#mermaid-svg-bMaub8orjzV5OYyI .node-icon-3{font-size:40px;color:black;}#mermaid-svg-bMaub8orjzV5OYyI .section-edge-3{stroke:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .edge-depth-3{stroke-width:5;}#mermaid-svg-bMaub8orjzV5OYyI .section-3 line{stroke:hsl(120, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-bMaub8orjzV5OYyI .lineWrapper line{stroke:black;}#mermaid-svg-bMaub8orjzV5OYyI .disabled,#mermaid-svg-bMaub8orjzV5OYyI .disabled circle,#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:lightgray;}#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:#efefef;}#mermaid-svg-bMaub8orjzV5OYyI .section-4 rect,#mermaid-svg-bMaub8orjzV5OYyI .section-4 path,#mermaid-svg-bMaub8orjzV5OYyI .section-4 circle,#mermaid-svg-bMaub8orjzV5OYyI .section-4 path{fill:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .section-4 text{fill:black;}#mermaid-svg-bMaub8orjzV5OYyI .node-icon-4{font-size:40px;color:black;}#mermaid-svg-bMaub8orjzV5OYyI .section-edge-4{stroke:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .edge-depth-4{stroke-width:2;}#mermaid-svg-bMaub8orjzV5OYyI .section-4 line{stroke:hsl(150, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-bMaub8orjzV5OYyI .lineWrapper line{stroke:black;}#mermaid-svg-bMaub8orjzV5OYyI .disabled,#mermaid-svg-bMaub8orjzV5OYyI .disabled circle,#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:lightgray;}#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:#efefef;}#mermaid-svg-bMaub8orjzV5OYyI .section-5 rect,#mermaid-svg-bMaub8orjzV5OYyI .section-5 path,#mermaid-svg-bMaub8orjzV5OYyI .section-5 circle,#mermaid-svg-bMaub8orjzV5OYyI .section-5 path{fill:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .section-5 text{fill:black;}#mermaid-svg-bMaub8orjzV5OYyI .node-icon-5{font-size:40px;color:black;}#mermaid-svg-bMaub8orjzV5OYyI .section-edge-5{stroke:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .edge-depth-5{stroke-width:-1;}#mermaid-svg-bMaub8orjzV5OYyI .section-5 line{stroke:hsl(180, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-bMaub8orjzV5OYyI .lineWrapper line{stroke:black;}#mermaid-svg-bMaub8orjzV5OYyI .disabled,#mermaid-svg-bMaub8orjzV5OYyI .disabled circle,#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:lightgray;}#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:#efefef;}#mermaid-svg-bMaub8orjzV5OYyI .section-6 rect,#mermaid-svg-bMaub8orjzV5OYyI .section-6 path,#mermaid-svg-bMaub8orjzV5OYyI .section-6 circle,#mermaid-svg-bMaub8orjzV5OYyI .section-6 path{fill:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .section-6 text{fill:black;}#mermaid-svg-bMaub8orjzV5OYyI .node-icon-6{font-size:40px;color:black;}#mermaid-svg-bMaub8orjzV5OYyI .section-edge-6{stroke:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .edge-depth-6{stroke-width:-4;}#mermaid-svg-bMaub8orjzV5OYyI .section-6 line{stroke:hsl(210, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-bMaub8orjzV5OYyI .lineWrapper line{stroke:black;}#mermaid-svg-bMaub8orjzV5OYyI .disabled,#mermaid-svg-bMaub8orjzV5OYyI .disabled circle,#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:lightgray;}#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:#efefef;}#mermaid-svg-bMaub8orjzV5OYyI .section-7 rect,#mermaid-svg-bMaub8orjzV5OYyI .section-7 path,#mermaid-svg-bMaub8orjzV5OYyI .section-7 circle,#mermaid-svg-bMaub8orjzV5OYyI .section-7 path{fill:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .section-7 text{fill:black;}#mermaid-svg-bMaub8orjzV5OYyI .node-icon-7{font-size:40px;color:black;}#mermaid-svg-bMaub8orjzV5OYyI .section-edge-7{stroke:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .edge-depth-7{stroke-width:-7;}#mermaid-svg-bMaub8orjzV5OYyI .section-7 line{stroke:hsl(270, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-bMaub8orjzV5OYyI .lineWrapper line{stroke:black;}#mermaid-svg-bMaub8orjzV5OYyI .disabled,#mermaid-svg-bMaub8orjzV5OYyI .disabled circle,#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:lightgray;}#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:#efefef;}#mermaid-svg-bMaub8orjzV5OYyI .section-8 rect,#mermaid-svg-bMaub8orjzV5OYyI .section-8 path,#mermaid-svg-bMaub8orjzV5OYyI .section-8 circle,#mermaid-svg-bMaub8orjzV5OYyI .section-8 path{fill:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .section-8 text{fill:black;}#mermaid-svg-bMaub8orjzV5OYyI .node-icon-8{font-size:40px;color:black;}#mermaid-svg-bMaub8orjzV5OYyI .section-edge-8{stroke:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .edge-depth-8{stroke-width:-10;}#mermaid-svg-bMaub8orjzV5OYyI .section-8 line{stroke:hsl(330, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-bMaub8orjzV5OYyI .lineWrapper line{stroke:black;}#mermaid-svg-bMaub8orjzV5OYyI .disabled,#mermaid-svg-bMaub8orjzV5OYyI .disabled circle,#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:lightgray;}#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:#efefef;}#mermaid-svg-bMaub8orjzV5OYyI .section-9 rect,#mermaid-svg-bMaub8orjzV5OYyI .section-9 path,#mermaid-svg-bMaub8orjzV5OYyI .section-9 circle,#mermaid-svg-bMaub8orjzV5OYyI .section-9 path{fill:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .section-9 text{fill:black;}#mermaid-svg-bMaub8orjzV5OYyI .node-icon-9{font-size:40px;color:black;}#mermaid-svg-bMaub8orjzV5OYyI .section-edge-9{stroke:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .edge-depth-9{stroke-width:-13;}#mermaid-svg-bMaub8orjzV5OYyI .section-9 line{stroke:hsl(0, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-bMaub8orjzV5OYyI .lineWrapper line{stroke:black;}#mermaid-svg-bMaub8orjzV5OYyI .disabled,#mermaid-svg-bMaub8orjzV5OYyI .disabled circle,#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:lightgray;}#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:#efefef;}#mermaid-svg-bMaub8orjzV5OYyI .section-10 rect,#mermaid-svg-bMaub8orjzV5OYyI .section-10 path,#mermaid-svg-bMaub8orjzV5OYyI .section-10 circle,#mermaid-svg-bMaub8orjzV5OYyI .section-10 path{fill:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .section-10 text{fill:black;}#mermaid-svg-bMaub8orjzV5OYyI .node-icon-10{font-size:40px;color:black;}#mermaid-svg-bMaub8orjzV5OYyI .section-edge-10{stroke:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .edge-depth-10{stroke-width:-16;}#mermaid-svg-bMaub8orjzV5OYyI .section-10 line{stroke:hsl(30, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-bMaub8orjzV5OYyI .lineWrapper line{stroke:black;}#mermaid-svg-bMaub8orjzV5OYyI .disabled,#mermaid-svg-bMaub8orjzV5OYyI .disabled circle,#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:lightgray;}#mermaid-svg-bMaub8orjzV5OYyI .disabled text{fill:#efefef;}#mermaid-svg-bMaub8orjzV5OYyI .section-root rect,#mermaid-svg-bMaub8orjzV5OYyI .section-root path,#mermaid-svg-bMaub8orjzV5OYyI .section-root circle{fill:hsl(240, 100%, 46.2745098039%);}#mermaid-svg-bMaub8orjzV5OYyI .section-root text{fill:#ffffff;}#mermaid-svg-bMaub8orjzV5OYyI .icon-container{height:100%;display:flex;justify-content:center;align-items:center;}#mermaid-svg-bMaub8orjzV5OYyI .edge{fill:none;}#mermaid-svg-bMaub8orjzV5OYyI .eventWrapper{filter:brightness(120%);}#mermaid-svg-bMaub8orjzV5OYyI :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 2010 BroadR-Reach 技术诞生 单对双绞线百兆通信 2011 OPEN Alliance 成立 制定车载以太网互操作标准 2013 100BASE-T1 标准化 IEEE 802.3bw 发布 2015 DoIP (ISO 13400) 发布 以太网诊断成为主流方案 2016 SOME/IP 广泛部署 面向服务通信进入量产 2017 1000BASE-T1 标准化 IEEE 802.3bp 千兆单对以太网 2019 TSN 车载应用起步 IEEE 802.1Qbv/Qbu 时间调度 2022+ 区域架构 (Zonal) 量产 以太网成为整车数据骨干 10BASE-T1S 多点总线应用 车载以太网发展历程

关键组织与标准:

组织/标准 职责
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 数据封装过程

数据从应用层向下逐层封装,最终在物理层以电信号发送:
#mermaid-svg-BmS5Pl5zshrQ7NtL{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-BmS5Pl5zshrQ7NtL .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-BmS5Pl5zshrQ7NtL .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-BmS5Pl5zshrQ7NtL .error-icon{fill:#552222;}#mermaid-svg-BmS5Pl5zshrQ7NtL .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-BmS5Pl5zshrQ7NtL .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-BmS5Pl5zshrQ7NtL .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-BmS5Pl5zshrQ7NtL .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-BmS5Pl5zshrQ7NtL .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-BmS5Pl5zshrQ7NtL .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-BmS5Pl5zshrQ7NtL .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-BmS5Pl5zshrQ7NtL .marker{fill:#333333;stroke:#333333;}#mermaid-svg-BmS5Pl5zshrQ7NtL .marker.cross{stroke:#333333;}#mermaid-svg-BmS5Pl5zshrQ7NtL svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-BmS5Pl5zshrQ7NtL p{margin:0;}#mermaid-svg-BmS5Pl5zshrQ7NtL .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-BmS5Pl5zshrQ7NtL .cluster-label text{fill:#333;}#mermaid-svg-BmS5Pl5zshrQ7NtL .cluster-label span{color:#333;}#mermaid-svg-BmS5Pl5zshrQ7NtL .cluster-label span p{background-color:transparent;}#mermaid-svg-BmS5Pl5zshrQ7NtL .label text,#mermaid-svg-BmS5Pl5zshrQ7NtL span{fill:#333;color:#333;}#mermaid-svg-BmS5Pl5zshrQ7NtL .node rect,#mermaid-svg-BmS5Pl5zshrQ7NtL .node circle,#mermaid-svg-BmS5Pl5zshrQ7NtL .node ellipse,#mermaid-svg-BmS5Pl5zshrQ7NtL .node polygon,#mermaid-svg-BmS5Pl5zshrQ7NtL .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-BmS5Pl5zshrQ7NtL .rough-node .label text,#mermaid-svg-BmS5Pl5zshrQ7NtL .node .label text,#mermaid-svg-BmS5Pl5zshrQ7NtL .image-shape .label,#mermaid-svg-BmS5Pl5zshrQ7NtL .icon-shape .label{text-anchor:middle;}#mermaid-svg-BmS5Pl5zshrQ7NtL .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-BmS5Pl5zshrQ7NtL .rough-node .label,#mermaid-svg-BmS5Pl5zshrQ7NtL .node .label,#mermaid-svg-BmS5Pl5zshrQ7NtL .image-shape .label,#mermaid-svg-BmS5Pl5zshrQ7NtL .icon-shape .label{text-align:center;}#mermaid-svg-BmS5Pl5zshrQ7NtL .node.clickable{cursor:pointer;}#mermaid-svg-BmS5Pl5zshrQ7NtL .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-BmS5Pl5zshrQ7NtL .arrowheadPath{fill:#333333;}#mermaid-svg-BmS5Pl5zshrQ7NtL .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-BmS5Pl5zshrQ7NtL .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-BmS5Pl5zshrQ7NtL .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-BmS5Pl5zshrQ7NtL .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-BmS5Pl5zshrQ7NtL .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-BmS5Pl5zshrQ7NtL .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-BmS5Pl5zshrQ7NtL .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-BmS5Pl5zshrQ7NtL .cluster text{fill:#333;}#mermaid-svg-BmS5Pl5zshrQ7NtL .cluster span{color:#333;}#mermaid-svg-BmS5Pl5zshrQ7NtL div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-BmS5Pl5zshrQ7NtL .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-BmS5Pl5zshrQ7NtL rect.text{fill:none;stroke-width:0;}#mermaid-svg-BmS5Pl5zshrQ7NtL .icon-shape,#mermaid-svg-BmS5Pl5zshrQ7NtL .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-BmS5Pl5zshrQ7NtL .icon-shape p,#mermaid-svg-BmS5Pl5zshrQ7NtL .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-BmS5Pl5zshrQ7NtL .icon-shape .label rect,#mermaid-svg-BmS5Pl5zshrQ7NtL .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-BmS5Pl5zshrQ7NtL .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-BmS5Pl5zshrQ7NtL .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-BmS5Pl5zshrQ7NtL :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 应用数据

SOME/IP Message

  • TCP/UDP Header

Segment

  • IP Header

IP Packet

  • Ethernet Header

Frame (Dst MAC + Src MAC + EtherType)
PHY 调制

电信号

反向解封装(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 上层协议类型 0x0800 IPv4、0x0806 ARP、0x86DD IPv6
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),04095 有特殊含义

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 后偏移 16 byte
线上最大帧长 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 判断)
#mermaid-svg-pZVC8RMJfY40rvFQ{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-pZVC8RMJfY40rvFQ .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-pZVC8RMJfY40rvFQ .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-pZVC8RMJfY40rvFQ .error-icon{fill:#552222;}#mermaid-svg-pZVC8RMJfY40rvFQ .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-pZVC8RMJfY40rvFQ .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-pZVC8RMJfY40rvFQ .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-pZVC8RMJfY40rvFQ .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-pZVC8RMJfY40rvFQ .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-pZVC8RMJfY40rvFQ .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-pZVC8RMJfY40rvFQ .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-pZVC8RMJfY40rvFQ .marker{fill:#333333;stroke:#333333;}#mermaid-svg-pZVC8RMJfY40rvFQ .marker.cross{stroke:#333333;}#mermaid-svg-pZVC8RMJfY40rvFQ svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-pZVC8RMJfY40rvFQ p{margin:0;}#mermaid-svg-pZVC8RMJfY40rvFQ .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-pZVC8RMJfY40rvFQ .cluster-label text{fill:#333;}#mermaid-svg-pZVC8RMJfY40rvFQ .cluster-label span{color:#333;}#mermaid-svg-pZVC8RMJfY40rvFQ .cluster-label span p{background-color:transparent;}#mermaid-svg-pZVC8RMJfY40rvFQ .label text,#mermaid-svg-pZVC8RMJfY40rvFQ span{fill:#333;color:#333;}#mermaid-svg-pZVC8RMJfY40rvFQ .node rect,#mermaid-svg-pZVC8RMJfY40rvFQ .node circle,#mermaid-svg-pZVC8RMJfY40rvFQ .node ellipse,#mermaid-svg-pZVC8RMJfY40rvFQ .node polygon,#mermaid-svg-pZVC8RMJfY40rvFQ .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-pZVC8RMJfY40rvFQ .rough-node .label text,#mermaid-svg-pZVC8RMJfY40rvFQ .node .label text,#mermaid-svg-pZVC8RMJfY40rvFQ .image-shape .label,#mermaid-svg-pZVC8RMJfY40rvFQ .icon-shape .label{text-anchor:middle;}#mermaid-svg-pZVC8RMJfY40rvFQ .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-pZVC8RMJfY40rvFQ .rough-node .label,#mermaid-svg-pZVC8RMJfY40rvFQ .node .label,#mermaid-svg-pZVC8RMJfY40rvFQ .image-shape .label,#mermaid-svg-pZVC8RMJfY40rvFQ .icon-shape .label{text-align:center;}#mermaid-svg-pZVC8RMJfY40rvFQ .node.clickable{cursor:pointer;}#mermaid-svg-pZVC8RMJfY40rvFQ .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-pZVC8RMJfY40rvFQ .arrowheadPath{fill:#333333;}#mermaid-svg-pZVC8RMJfY40rvFQ .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-pZVC8RMJfY40rvFQ .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-pZVC8RMJfY40rvFQ .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-pZVC8RMJfY40rvFQ .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-pZVC8RMJfY40rvFQ .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-pZVC8RMJfY40rvFQ .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-pZVC8RMJfY40rvFQ .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-pZVC8RMJfY40rvFQ .cluster text{fill:#333;}#mermaid-svg-pZVC8RMJfY40rvFQ .cluster span{color:#333;}#mermaid-svg-pZVC8RMJfY40rvFQ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-pZVC8RMJfY40rvFQ .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-pZVC8RMJfY40rvFQ rect.text{fill:none;stroke-width:0;}#mermaid-svg-pZVC8RMJfY40rvFQ .icon-shape,#mermaid-svg-pZVC8RMJfY40rvFQ .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-pZVC8RMJfY40rvFQ .icon-shape p,#mermaid-svg-pZVC8RMJfY40rvFQ .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-pZVC8RMJfY40rvFQ .icon-shape .label rect,#mermaid-svg-pZVC8RMJfY40rvFQ .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-pZVC8RMJfY40rvFQ .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-pZVC8RMJfY40rvFQ .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-pZVC8RMJfY40rvFQ :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 否

否 无 Tag
是 有 Tag
PHY 收到比特流
MAC/GETH 收帧

校验 FCS
FCS 正确?
丢弃错帧
Eth_RxIndication / EthIf_RxIndication
Dst MAC 字段后

是否为 0x8100?
EtherType 在偏移 12

0x0800 → IPv4
解析 VID / PCP

剥离 4 byte Tag
EtherType 在偏移 16

0x0800 → IPv4
TcpIp_RxIndication
L3 IP 解析 → L4 Port 解复用

概念 AUTOSAR 模块 / 配置 说明
MAC 帧收发 Eth Driver (MCAL) DMA 描述符、FCS 硬件校验
VLAN 剥离/插入 EthIf EthIfVlanId 配置,RX 时剥离 Tag 上报上层
Frame Owner EthIf FrameOwnerConfig 按 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 不匹配

未完待续~

相关推荐
hilda_jlu2 天前
Ethernet SW-IC的学习-3
ethernet
车软派开发学长15 天前
车企研发的“整合与自研”之争,本质是一场生意
车载系统·汽车·can·autosar
赞哥哥s1 个月前
Autosar Dem学习笔记-DTC状态位详解与用法
autosar·dem·dtc
hilda_jlu1 个月前
Ethernet SW-IC的学习-2
ethernet
Echo_cy_2 个月前
基于ZYNQ-7000的Ethernet驱动配置
linux·驱动开发·嵌入式硬件·fpga开发·ethernet·zynq
叶修_A2 个月前
FS-17 功能安全ISO26262之敏捷开发融合深度解析
敏捷开发·autosar·汽车电子·功能安全·iso26262
叶修_A2 个月前
FS-11 功能安全ISO26262之生产运维与报废阶段安全保障深度解析
autosar·汽车电子·功能安全·iso26262
齊家治國平天下2 个月前
Google AAOS 中 SOME/IP 框架深度解析:从架构到实践
android·autosar·aaos·车载以太网·some/ip·sdv·vsomeip
叶修_A3 个月前
IF-07 AURIX TC3xx Flash与NVM子系统深度解析
英飞凌·aurix