车载以太网基础:从CAN到以太网的进化之路
说实话,我刚入行那会儿,车上跑的都是CAN、LIN这些老伙计。那时候谁能想到,有一天以太网会钻进车里?但你看现在,一辆智能驾驶汽车,光摄像头就七八个,激光雷达、毫米波雷达全堆上,数据量动不动就是几个Gbps。CAN总线那1Mbps的带宽,说白了就是小水管,根本扛不住。
所以,车载以太网就这么来了。它不是简单的「把电脑上的以太网搬到车上」,而是做了大量针对性的改造。今天我就带你看看,以太网在车上到底怎么用,物理层有什么门道,协议栈又长什么样。
一、以太网在车上的应用场景
我参与过的第一个车载以太网项目,是给一台L3级自动驾驶车做骨干网络。那时候我们面临一个核心问题:这么多传感器数据,怎么传?
车载以太网主要用在以下几个地方:
- ADAS/自动驾驶数据骨干网:摄像头、激光雷达、毫米波雷达的数据,通过以太网汇聚到域控制器。我记得有个项目,单路8M像素摄像头,原始数据就超过2Gbps,不用以太网根本不行。
- 信息娱乐系统:中控大屏、仪表盘、后排娱乐屏之间的音视频传输。这里常用的是AVB(音频视频桥接)协议,说白了就是保证音视频不卡顿、不撕裂。
- OTA远程升级:整车固件升级,动辄几个GB的数据包。用CAN刷写?那得刷到天荒地老。以太网几分钟搞定。
- 诊断与标定:DoIP(基于IP的诊断协议)已经成了新车的标配。工程师在车间里用笔记本连上车载以太网,就能远程诊断全车ECU。
核心观点:车载以太网不是替代CAN,而是和CAN共存。CAN负责实时控制(刹车、转向),以太网负责大数据传输(感知、娱乐)。两者各司其职。
二、100BASE-T1与1000BASE-T1物理层
这里有个坑,我先说一下。很多人一听「以太网」,就想到家里那个RJ45网口。但车载以太网物理层,跟那个完全不是一回事。
家用以太网用的是100BASE-TX,需要两对差分线(四根线)。而车载以太网用的是100BASE-T1,只需要一对差分线(两根线)。为什么?因为车上线束越少越好,重量、成本、空间都是硬约束。
100BASE-T1
- 速率:100Mbps,全双工
- 传输介质:单对非屏蔽双绞线(UTP)
- 最大距离:15米(车内完全够用)
- 调制方式:PAM3(3级脉冲幅度调制)
- 标准:IEEE 802.3bw
我曾经在一个项目中,用100BASE-T1连接前视摄像头和域控制器。当时遇到一个问题:线束长度超过12米后,信号就开始丢包。后来查了规范才发现,100BASE-T1的传输距离上限就是15米,而且还要考虑线缆质量。嗯,这里要注意,别为了省成本用劣质双绞线。
1000BASE-T1
- 速率:1Gbps,全双工
- 传输介质:单对非屏蔽双绞线(UTP)
- 最大距离:15米
- 调制方式:PAM4(4级脉冲幅度调制)
- 标准:IEEE 802.3bp
1000BASE-T1的速率是100BASE-T1的10倍,但物理层复杂度也高得多。PAM4调制意味着每个符号携带2比特信息,对信噪比的要求更苛刻。我建议,如果只是传摄像头控制信号,100BASE-T1就够了;但如果是传原始视频流,老老实实上1000BASE-T1。
| 参数 | 100BASE-T1 | 1000BASE-T1 |
|---|---|---|
| 速率 | 100 Mbps | 1 Gbps |
| 调制方式 | PAM3 | PAM4 |
| 线对数量 | 1对 | 1对 |
| 最大距离 | 15m | 15m |
| 典型应用 | 摄像头控制、传感器数据 | 原始视频流、激光雷达点云 |
避坑指南:我曾经在一个项目中,把100BASE-T1的PHY芯片和1000BASE-T1的PHY芯片混用在同一根线缆上。结果呢?两边协商速率失败,直接断连。记住,100BASE-T1和1000BASE-T1的PHY不兼容,不能直接对接。
三、车载以太网协议栈
车载以太网的协议栈,说白了就是在标准以太网的基础上,加了一层「汽车专用」的东西。你想想看,家用电脑上网,丢几个包无所谓,顶多视频卡一下。但车上要是丢了一个刹车指令的包,那可就出大事了。
所以,车载以太网协议栈的核心目标就两个:实时性和可靠性。
协议栈分层
从下往上,我习惯这么分:
- 物理层(PHY):100BASE-T1或1000BASE-T1,负责比特流的收发。
- 数据链路层(MAC):标准以太网MAC,加上802.1Q VLAN标签,用于流量隔离。
- 网络层(IP):IPv6逐渐成为主流,因为车上设备太多,IPv4地址不够用。
- 传输层(UDP/TCP):实时数据走UDP,可靠数据走TCP。
- 应用层:这里才是车载以太网的特色所在。
关键应用层协议
- SOME/IP:Scalable service-Oriented MiddlewarE over IP。说白了就是面向服务的通信,取代传统的CAN信号。每个服务可以独立发布、订阅,灵活性极高。
- DDS:Data Distribution Service。实时性比SOME/IP更强,常用于ADAS系统。我参与的一个激光雷达项目中,就用DDS做点云数据的发布订阅,延迟控制在1ms以内。
- AVB/TSN:Audio Video Bridging / Time-Sensitive Networking。保证音视频和实时控制数据的确定性延迟。TSN是AVB的升级版,支持时间触发调度。
- DoIP:Diagnostic over IP。基于IP的诊断协议,取代传统的CAN诊断。
个人经验:我建议初学者先从SOME/IP入手。为什么?因为SOME/IP是AUTOSAR的标准协议,几乎所有主流OEM都在用。你学会了SOME/IP,去面试至少能聊半小时。
四、知识体系总览
下面这张图,是我自己画的。它把车载以太网的核心知识点串在了一起。你仔细看,就能明白各个模块之间的关系。
这张图你看懂了吗?从物理层到应用层,每一层都有它的职责。物理层解决「怎么传」,数据链路层解决「怎么分」,网络层解决「怎么找」,应用层解决「怎么用」。层层递进,缺一不可。
五、实战中的几个关键点
最后,我分享几个实战中容易踩的坑:
- 线束质量:车载以太网对线缆的阻抗匹配要求很高。我曾经用了一根阻抗不匹配的线,结果PHY芯片死活协商不上。后来换了符合100BASE-T1规范的线,一次通过。
- EMC问题:车上电磁环境复杂,以太网信号容易受干扰。我建议在PHY芯片周围加共模扼流圈,并且PCB布局时把以太网走线远离电源模块。
- 协议选择:别盲目追求新协议。如果只是传传感器数据,SOME/IP足够了。非要上DDS,反而增加复杂度。
- 测试验证:一定要做物理层一致性测试。我见过一个项目,PHY芯片的发射电平超标,导致整车EMC测试不过。后来花了两个月整改,得不偿失。
总结一下:车载以太网是智能驾驶的「血管」。100BASE-T1和1000BASE-T1是物理层的基础,协议栈是上层应用的骨架。你把这些搞懂了,车载网络这块就算入门了。