2. 车载以太网基础

说实话,很多工程师一听到OSI七层模型就头疼,觉得这是教科书上的老古董。但做车载以太网测试,不理解这七层,你连问题出在哪都找不到。我刚开始带测试团队时,有个新人折腾了一周没搞定一个物理层问题,结果我一看,其实是应用层的配置写错了。嗯,这就是不懂分层带来的代价。

2.1 OSI七层模型:快速回顾

OSI模型把网络通信拆成七层,每一层只干自己的事。说白了,就是「各扫门前雪」。我习惯把这七层分成两组:

  • 下四层(1-4层):负责数据怎么传、传到哪里。物理层、数据链路层、网络层、传输层。
  • 上三层(5-7层):负责数据怎么用、怎么展示。会话层、表示层、应用层。

在车载以太网里,我们最常打交道的是下两层——物理层和数据链路层。上三层嘛,AVB/TSN协议族会用到一些,但测试的根子还是在下边。

层级 名称 车载以太网中的角色
7 应用层 诊断(DoIP)、音视频流(AVTP)
6 表示层 数据编码、加密(较少涉及)
5 会话层 会话管理(SOME/IP)
4 传输层 TCP/UDP,车载常用UDP(低延迟)
3 网络层 IPv6(车载趋势)、IPv4
2 数据链路层 MAC、VLAN、QoS(802.1Q)
1 物理层 100BASE-T1、1000BASE-T1、BroadR-Reach
我的小习惯: 做一致性测试时,我总先确认问题出在第几层。物理层问题看眼图,数据链路层问题抓MAC帧,应用层问题看协议栈日志。一层一层排除,效率最高。

2.2 车载以太网物理层:不一样的路子

车载以太网的物理层和传统以太网差别很大。你想想看,传统以太网用RJ45和四对线,车里哪塞得下?所以车载以太网只用一对非屏蔽双绞线,还得扛得住电磁干扰。

我记得第一次测100BASE-T1时,发现信号眼图总是闭合。排查了半天,原来是线束的屏蔽层接地没做好。嗯,这种坑踩过一次就记住了。

2.2.1 主要物理层标准

  • 100BASE-T1(IEEE 802.3bw):一对线,100Mbps,最常用。适合ADAS摄像头、网关。
  • 1000BASE-T1(IEEE 802.3bp):一对线,1Gbps,带宽更大。适合高分辨率传感器、主干网。
  • BroadR-Reach:OPEN Alliance推广的早期标准,和100BASE-T1基本兼容。
关键指标: 物理层一致性测试主要测发射抖动、幅度、上升/下降时间、回波损耗。这些参数不过关,通信就会丢包甚至断连。

2.2.2 物理层测试避坑指南

我曾经遇到过一台ECU,100BASE-T1物理层测试全过,但一上车就断连。后来发现是线束长度超过了15米,信号衰减太厉害。车载以太网物理层对线束长度、阻抗匹配非常敏感,实验室环境通过不代表实车没问题。

2.3 数据链路层:MAC、VLAN与QoS

数据链路层在车载以太网里承担了「交通警察」的角色。它负责把物理层收到的比特流组装成帧,还要管流量、优先级和隔离。

2.3.1 MAC地址与帧结构

车载以太网的MAC帧和传统以太网基本一样,但多了些扩展。我习惯用Wireshark抓帧时重点关注这几个字段:

  • 目的MAC:单播、多播还是广播?AVB/TSN常用多播。
  • VLAN Tag(802.1Q):4字节,包含PCP(优先级)和VID(VLAN ID)。
  • EtherType:0x8100表示VLAN,0x0800表示IPv4,0x86DD表示IPv6。
// 一个典型的带VLAN的MAC帧结构(从Wireshark抓包简化)
目的MAC: 01:00:5E:00:00:01
源MAC: 00:1E:C0:XX:XX:XX
VLAN Tag: 0x8100, PCP=5, VID=100
EtherType: 0x0800 (IPv4)
IP Payload: ...

2.3.2 VLAN:为什么车里需要它?

车里跑着诊断、音视频、控制信号,混在一起会互相干扰。VLAN就是给它们划「车道」。我建议这样划分:

VLAN ID 用途 优先级(PCP)
1 控制信号(CAN桥接、安全相关) 7(最高)
10 音视频流(AVB/TSN) 5
20 诊断(DoIP) 3
100 普通数据(OTA升级、日志) 0(尽力而为)
注意: VLAN配置不一致是车载以太网最常见的故障之一。我曾经排查过一个案例,网关和ECU的VID对不上,导致诊断报文一直发不过去。测试时一定要检查所有节点的VLAN配置表。

2.4 AVB/TSN协议族简介:时间敏感网络

AVB(Audio Video Bridging)和TSN(Time-Sensitive Networking)是车载以太网实现实时通信的关键。说白了,就是让数据包在确定的时间内到达,不卡顿、不丢包。

我刚开始接触TSN时,觉得它很复杂。后来发现,核心就三个东西:时间同步、流量调度、预留带宽。你只要抓住这三点,TSN就不难理解。

2.4.1 核心协议一览

  • IEEE 802.1AS(gPTP):精准时间同步。车里所有节点的时间误差控制在微秒级。我测过最好的结果,同步精度在±200ns以内。
  • IEEE 802.1Qav(FQTSS):流量整形。给音视频流预留带宽,避免突发流量挤占。
  • IEEE 802.1Qbv(TAS):时间感知整形。按时间窗口发送不同优先级的数据,这是TSN的核心。
  • IEEE 802.1Qbu & 802.3br(Frame Preemption):帧抢占。高优先级帧可以打断低优先级帧的发送,减少延迟。
我的经验: 做AVB/TSN一致性测试时,先测802.1AS时间同步。如果时间不同步,后面的Qbv、Qav全白搭。我见过太多团队一上来就调Qbv参数,结果同步都没过,折腾半天。

2.4.2 AVB/TSN在车里的典型应用

举个例子,车载摄像头采集的视频流,通过100BASE-T1传到域控制器。如果没有TSN,视频流可能被诊断报文打断,导致画面卡顿。用了TSN后,视频流走高优先级队列,诊断报文走低优先级,各走各的道。

我记得有一次测试ADAS摄像头,要求端到端延迟不超过2ms。我们用802.1Qbv配置了时间窗口,把摄像头数据放在第一个时隙,其他数据靠后。最终测下来延迟稳定在1.2ms左右,完美达标。

2.5 本章知识体系总览

下面这张图是我自己总结的,把OSI模型、车载以太网物理层、数据链路层和AVB/TSN串在了一起。你保存下来,以后做测试时对照着看,思路会清晰很多。

车载以太网知识体系总览 车载以太网知识体系总览 OSI七层模型 上三层 应用层 表示层 会话层 传输层 TCP / UDP 网络层 IPv4 / IPv6 数据链路层 MAC / VLAN QoS / 802.1Q 物理层 100BASE-T1 / 1000BASE-T1 车载以太网核心 物理层特点 一对非屏蔽双绞线 抗电磁干扰(EMC) 最大15米线束 数据链路层特点 VLAN隔离(802.1Q) 优先级标记(PCP) MAC地址过滤 AVB / TSN 协议族 802.1AS (gPTP) 时间同步 802.1Qav (FQTSS) 流量整形 802.1Qbv (TAS) 时间感知 802.1Qbu 帧抢占 802.3br 帧抢占增强 802.1Qci 流过滤 802.1CB 帧复制与消除 一致性测试关注点 物理层测试 发射抖动 / 幅度 上升/下降时间 回波损耗 / 眼图 数据链路层测试 VLAN配置一致性 MAC地址过滤规则 帧格式校验 AVB/TSN测试 时间同步精度 流量整形参数 时间窗口配置 端到端延迟 帧抢占行为 冗余与可靠性

这张图从左到右展示了:OSI七层模型 → 车载以太网核心(物理层、数据链路层、AVB/TSN)→ 一致性测试关注点。做测试时,你拿着这张图,就能快速定位问题出在哪个环节。

一句话总结: 车载以太网一致性测试,本质就是验证每一层是否按标准工作。物理层看信号质量,数据链路层看帧和VLAN,AVB/TSN看时间同步和流量调度。一层一层过,问题无处藏。