2、DoIP物理层与链路层:以太网在车内的应用、100BASE-T1 vs 1000BASE-T1、DoIP对物理层的要求
好,咱们进入第二章。这一章聊的是物理层和链路层,说白了就是信号怎么在线上跑,以及数据帧怎么组织。很多做应用层开发的同事容易忽略这一层,觉得反正上层协议栈帮我搞定了。但我得说,物理层选型一旦出问题,后面所有工作都是白搭。
2.1 以太网在车内的应用:从诊断总线到骨干网络
传统车载网络里,CAN和LIN是绝对的主角。但到了ADAS和域控时代,数据量暴涨,CAN那1Mbps的带宽根本不够看。我记得2018年做第一个基于以太网的环视系统项目时,光一个摄像头每秒就能产生几百兆的原始数据,CAN连个零头都传不了。
以太网在车内的应用,我把它分成三个阶段:
- 第一阶段:诊断专用——早期OEM用100BASE-TX(普通RJ45)做刷写和诊断,但线束太重,成本高,只用在产线和售后。
- 第二阶段:域内骨干——随着100BASE-T1成熟,开始用单对非屏蔽双绞线连接域控制器和摄像头、雷达。这时候以太网开始替代部分LVDS和CAN。
- 第三阶段:整车骨干——现在高端车型已经用1000BASE-T1甚至2.5G/5G BASE-T1做主干网,连接中央网关、智驾域控、座舱域控。你想想看,一个激光雷达每秒产生几十兆的点云数据,没有千兆以太网根本扛不住。
这里有个关键点:车载以太网和工业以太网最大的区别在于——EMC要求极高。车内环境电磁干扰严重,而且线束长度受限(通常不超过15米)。所以车载以太网必须用专用的PHY芯片和连接器,不能直接拿办公室的网线来用。
核心结论:DoIP作为诊断协议,必须跑在车载以太网上。物理层选型直接影响诊断的实时性和可靠性。
2.2 100BASE-T1 vs 1000BASE-T1:怎么选?
这两个标准是当前车载以太网的主流。我直接说结论:
| 对比项 | 100BASE-T1 (IEEE 802.3bw) | 1000BASE-T1 (IEEE 802.3bp) |
|---|---|---|
| 速率 | 100 Mbps | 1000 Mbps (1 Gbps) |
| 线束 | 单对非屏蔽双绞线 (UTP) | 单对非屏蔽双绞线 (UTP) |
| 最大距离 | 15米 | 15米 |
| 编码方式 | PAM-3 | PAM-4 |
| 典型应用 | 摄像头、传感器、诊断接口 | 域控间骨干、高带宽传感器 |
| 成本 | 低 | 高(约贵30%-50%) |
| 功耗 | 约1W | 约2-3W |
我个人习惯这样选型:
- 如果只是做DoIP诊断(刷写、读取DTC、在线标定),100BASE-T1完全够用。因为诊断数据包通常不大,100Mbps的带宽足够应付UDS诊断的请求/响应模式。
- 但如果要做远程刷写大文件(比如一个域控的固件有2GB),或者同时诊断多个ECU,我建议上1000BASE-T1。我曾经在一个项目中用100BASE-T1刷写智驾域控,刷了整整40分钟,客户直接投诉。
避坑指南:我曾经遇到过一个案例,某OEM在量产车上用了100BASE-T1做诊断接口,结果售后刷写时发现速度太慢,最后不得不改方案。所以如果你做的是面向未来的平台,建议直接预留1000BASE-T1的接口,哪怕当前用不到。
2.3 DoIP对物理层的要求
DoIP标准(ISO 13400-3)对物理层有明确要求。嗯,这里要注意,不是随便一个以太网PHY都能用。
核心要求有三点:
- 必须支持车载以太网PHY——即100BASE-T1或1000BASE-T1。普通RJ45的100BASE-TX不能用,因为线束和共模电压不同。
- 支持自动协商(Auto-Negotiation)——DoIP节点需要能自动识别对端速率。我记得有一次调试,两个ECU的PHY配置不一致,一个设成100M,一个设成1G,结果死活连不上。后来发现是自动协商没开。
- 支持唤醒/休眠管理——车内网络需要低功耗模式。DoIP物理层必须支持通过特定信号(如Wake-up Line)唤醒,不能一直全速运行。
另外,链路层也有讲究:
- 必须支持全双工模式。半双工在车载环境里基本不用,因为冲突检测机制在单对线上效率太低。
- MAC地址需要唯一且可管理。DoIP诊断仪通常通过MAC地址识别车辆节点。
- 建议开启流控(Flow Control)。我遇到过诊断刷写时丢包的问题,后来发现是接收端缓冲区满了,但发送端还在猛发。开了流控后问题解决。
警告:千万不要在DoIP链路上使用普通的交换机或集线器。车载以太网要求低延迟和确定性,普通消费级交换机会引入不可控的转发延迟。必须使用支持802.1Q(VLAN)和802.1AS(时间同步)的车规级交换机。
2.4 实际项目中的物理层设计要点
最后,我分享几个实际项目中的经验:
- 线束设计:单对非屏蔽双绞线虽然成本低,但对绞距有要求。我见过因为线束厂偷工减料,绞距不均匀导致信号质量差的案例。建议要求供应商提供S参数测试报告。
- 连接器选型:推荐使用H-MTD或MATEnet连接器。它们专门为车载以太网设计,支持100M到10G速率,而且有良好的屏蔽性能。
- PCB布局:PHY芯片到连接器的差分走线长度不要超过5cm,而且要等长。我踩过坑,走线长了10cm,结果眼图测试直接不过。
- 测试验证:除了常规的物理层一致性测试(如TC8测试),建议做长时间稳定性测试。我曾经在高温箱里跑48小时DoIP刷写,发现某个PHY在85°C时会出现CRC错误,后来换了另一家供应商的芯片才解决。
好了,这一章就到这里。物理层和链路层是DoIP系统的地基,地基不稳,上层再好的协议栈也白搭。下一章我们进入传输层,聊聊TCP和UDP在DoIP中的具体用法。