4、车载以太网基础:100BASE-T1与100BASE-T1物理层、车载以太网协议栈、AVB/TSN协议族

各位同学,欢迎来到第四章。这一章我们聊聊车载以太网。说实话,在座舱和智驾领域干了这么多年,我最大的感触就是:没有以太网,智能驾驶就是空中楼阁。为什么这么说?你想想看,一个L3级别的域控制器,每秒要处理几GB的传感器数据,传统的CAN总线那点带宽,连个摄像头的数据都传不完。

好,我们直接进入正题。今天要讲的内容分三块:物理层、协议栈、以及AVB/TSN这套时间敏感网络。我会结合我踩过的坑来讲,希望能帮你少走弯路。

4.1 物理层:100BASE-T1 与 1000BASE-T1

先说说物理层。车载以太网和咱们办公室用的以太网,最大的区别在哪?线束。办公室用的是4对差分线,而车载以太网只用1对。为什么?因为车里的空间太金贵了,线束越少越好,重量越轻越好。

4.1.1 100BASE-T1

100BASE-T1,也叫BroadR-Reach。它的速率是100Mbps,传输距离能到15米。嗯,15米对于一辆车来说,绰绰有余了。

我个人习惯把100BASE-T1看作是车载以太网的「入门级选手」。它主要用在什么场景?摄像头、激光雷达的数据传输。我记得有一次做泊车辅助系统,摄像头采集的图像数据量不大,用100BASE-T1刚刚好。但要注意,它不支持PoDL(Power over Data Line),也就是不能通过数据线供电。这一点和后面的1000BASE-T1不一样。

小提示: 100BASE-T1的编码方式是PAM3,不是传统的曼彻斯特编码。这意味着它的抗干扰能力更强,但同时也对PHY芯片的设计提出了更高要求。我在选型时,一般会优先考虑NXP或Broadcom的PHY,稳定性好一些。

4.1.2 1000BASE-T1

1000BASE-T1,顾名思义,速率是1Gbps。它同样只用一对差分线,但支持PoDL。说白了,就是既能传数据,又能供电。这在摄像头模组上特别实用——一根线搞定数据和电源,省掉了额外的供电线束。

我曾经在一个项目中,需要把4个800万像素的摄像头数据汇聚到域控制器。如果用100BASE-T1,带宽根本不够。换成1000BASE-T1后,单路带宽1Gbps,4路加起来也就4Gbps,完全扛得住。

这里有个坑要提醒大家:1000BASE-T1的PCB布线要求比100BASE-T1高很多。差分对的阻抗要严格控制在100Ω±10%,而且对串扰非常敏感。我见过一个团队,因为PCB走线没做好,导致链路丢包率高达5%,最后不得不重新打板。嗯,这个教训挺深刻的。

参数 100BASE-T1 1000BASE-T1
速率 100 Mbps 1 Gbps
传输距离 15 m 15 m
线对数量 1对 1对
PoDL支持
编码方式 PAM3 PAM3
典型应用 摄像头、激光雷达 高分辨率摄像头、域控间互联

4.2 车载以太网协议栈

物理层搞定了,接下来就是协议栈。车载以太网的协议栈和标准TCP/IP协议栈有什么不同?说白了,就是加了一层「中间件」,用来解决实时性和可靠性问题。

标准的OSI七层模型,在车载场景下被简化成了四层:

  • 应用层:SOME/IP、DDS、DoIP等
  • 传输层:TCP/UDP
  • 网络层:IPv4/IPv6
  • 数据链路层+物理层:MAC + PHY

这里我要重点提一下SOME/IP。SOME/IP是Scalable service-Oriented MiddlewarE over IP的缩写。它本质上是一个面向服务的通信中间件。我刚开始接触SOME/IP时,觉得它和传统的RPC差不多。但用久了才发现,它的服务发现机制(Service Discovery)非常巧妙——动态发现、按需订阅,不像CAN那样需要静态配置。

举个例子:当一辆车启动时,摄像头节点会通过SOME/IP广播自己的服务。域控制器收到广播后,就知道「哦,这里有个摄像头,我可以订阅它的数据」。整个过程不需要人工配置,全是自动的。这在量产项目中能省不少事。

避坑指南: 我曾经在一个项目中,因为SOME/IP的Service Discovery周期设置得太短(100ms),导致网络风暴。后来我把周期改成了1秒,同时增加了随机延迟,问题就解决了。记住:不要把所有节点同时发送广播,否则网络会瞬间崩溃。

4.3 AVB/TSN 协议族

最后,我们聊聊AVB和TSN。这两个东西,说白了就是让以太网变得「实时」。为什么需要实时?因为智能驾驶里,数据是有时效性的。比如刹车指令,如果延迟了10ms,可能就撞上了。

4.3.1 AVB(Audio Video Bridging)

AVB是IEEE 802.1标准的一部分,最初是为了解决音视频传输的同步问题。它包含三个核心协议:

  • 802.1Qat:流预留协议(SRP),说白了就是给数据流预留带宽
  • 802.1Qav:时间敏感流量的转发和排队(FQTSS),保证低延迟
  • 802.1AS:时间同步协议(gPTP),精度能达到亚微秒级

我记得在做一个环视系统时,4个摄像头的数据需要同步显示。如果没有802.1AS的时间同步,每个摄像头的时间戳都不一样,拼接出来的全景图像就会错位。用了gPTP后,时间误差控制在1微秒以内,效果立竿见影。

4.3.2 TSN(Time-Sensitive Networking)

TSN是AVB的升级版,它把实时性从音视频扩展到了工业控制和汽车领域。TSN的核心思想是:给数据流打上「优先级」标签,然后按照时间表来发送

TSN的关键技术包括:

  • 802.1Qbv:时间感知整形器(TAS)。它把时间分成一个个「时间片」,每个时间片只允许特定类型的数据传输。比如,前100微秒只传控制指令,后200微秒传视频数据。这样就能保证控制指令的延迟是确定的。
  • 802.1Qbu:帧抢占(Frame Preemption)。当高优先级数据(比如刹车指令)到来时,可以打断正在传输的低优先级数据(比如娱乐信息)。
  • 802.1CB:冗余传输。说白了就是发两份数据,走两条不同的路径,防止单点故障。
警告: TSN的配置非常复杂。我曾经在一个项目中,因为802.1Qbv的时间片设置不合理,导致高优先级数据反而被阻塞。后来我花了整整一周时间,用Wireshark抓包分析,才找到问题所在。建议大家在调试TSN时,先用仿真工具验证时间表,再上硬件。

4.3.3 AVB vs TSN:怎么选?

很多同学会问:AVB和TSN到底选哪个?我的建议是:

  • 如果你的应用是音视频同步(比如环视、座舱娱乐),AVB就够用了。它实现简单,成本低。
  • 如果你的应用是控制指令传输(比如线控转向、刹车),必须用TSN。因为TSN能提供确定性的延迟,而AVB做不到。
  • 如果你的应用是传感器数据融合(比如激光雷达+摄像头),建议用TSN。因为TSN的802.1AS时间同步精度更高,而且支持冗余传输,可靠性更好。

好了,这一章的内容就到这里。总结一下:物理层决定了你能传多快,协议栈决定了你怎么传,AVB/TSN决定了你传得是否准时。下一章,我们会深入讲解SOME/IP的实战配置,到时候我会带大家手写一个简单的SOME/IP服务。

有什么问题,欢迎在课程群里讨论。我们下章见。