第2章:车载网络技术概览——CAN、CAN FD、LIN、FlexRay、MOST、以太网的技术特点与选型对比
各位同学,大家好。我是你们这堂课的主讲人。咱们今天聊点实在的——车载网络。
你想想看,一辆现代汽车,里面有多少个电子控制单元?少说几十个,多的上百个。这些ECU之间怎么说话?靠的就是我们今天要讲的这些网络总线。我个人习惯把车载网络比作一个城市的交通系统,有的路是乡间小道(LIN),有的是城市主干道(CAN),还有的是高速公路(以太网)。
好,咱们一个一个来看。
2.1 CAN总线——老将出马,一个顶俩
CAN总线,全称Controller Area Network。这东西诞生于上世纪80年代,由博世公司发明。说实话,到现在还在大量使用,生命力极其顽强。
技术特点:
- 差分信号传输:CAN_H和CAN_L两根线,抗干扰能力强。我在项目中遇到过,某次EMC测试,别的总线都挂了,就CAN还坚挺着。
- 多主架构:任何节点都可以主动发消息,不需要主节点轮询。这设计,聪明。
- 非破坏性仲裁:多个节点同时发消息时,ID小的优先。说白了,谁优先级高谁先走。
- 最大速率1Mbps:经典CAN的极限。嗯,这里要注意,实际应用中一般跑500kbps或250kbps。
避坑指南:我曾经在某个项目中,把CAN总线长度拉到了40米,结果通信丢包严重。后来一查,CAN总线长度和速率成反比。1Mbps下,总线长度最好不要超过40米。这个坑,我替你们踩过了。
2.2 CAN FD——CAN的升级版
CAN FD,CAN with Flexible Data-rate。为什么会有这个?因为传统CAN的8字节数据场,在如今动辄几十个字节的报文面前,实在不够用。
技术特点:
- 可变速率:仲裁段用标准速率(比如500kbps),数据段可以切换到高速率(比如2Mbps甚至5Mbps)。
- 数据场扩展:从8字节扩展到64字节。你想想看,一次能传更多数据了。
- 兼容CAN:物理层基本不变,CAN FD节点可以和CAN节点共存于同一总线。但要注意,CAN FD报文不能被传统CAN节点识别。
个人经验:我建议在做网关设计时,优先考虑CAN FD。虽然成本比CAN高一点点,但带来的带宽提升是实实在在的。特别是现在OTA升级、大数据量诊断,CAN FD几乎是标配。
2.3 LIN总线——低成本的小老弟
LIN,Local Interconnect Network。说白了,就是CAN的廉价替代方案。用在那些对实时性要求不高的地方,比如车窗、座椅、天窗控制。
技术特点:
- 单主多从架构:只有一个主节点,其他都是从节点。主节点负责调度。
- 单线传输:一根线,成本极低。但抗干扰能力也弱。
- 最大速率20kbps:嗯,很慢。但够用。
- 基于UART:很多MCU自带UART,实现LIN协议几乎零成本。
注意:LIN总线不适合用于安全相关的功能。我曾经见过有人试图用LIN做刹车灯控制,被我拦住了。安全第一,别省那点成本。
2.4 FlexRay——高可靠性的选择
FlexRay,这个名字你可能听得少。它主要用在宝马、奥迪等高端车型上,用于线控系统(X-by-Wire)。
技术特点:
- 双通道架构:可以冗余,也可以增加带宽。最高10Mbps每通道。
- 时间触发:所有通信都是预定义的,确定性极高。不像CAN那样靠仲裁。
- 同步机制:所有节点时钟同步,精度在微秒级。
说实话,FlexRay是好东西,但太贵了。芯片贵,线束贵,开发工具更贵。我个人觉得,随着以太网的发展,FlexRay的生存空间会被进一步压缩。
2.5 MOST总线——多媒体专属
MOST,Media Oriented Systems Transport。这玩意儿专门为车载多媒体而生。导航、音响、视频,都靠它。
技术特点:
- 环形拓扑:数据在环里转圈。一个节点坏了,整个环就断了。
- 高带宽:MOST25是25Mbps,MOST150是150Mbps。在当年,这速度很吓人。
- 支持多种数据类型:同步数据(音频)、异步数据(视频)、控制数据。
不过现在,MOST基本被以太网取代了。我在2018年之后的项目中,再也没见过MOST的身影。
2.6 车载以太网——未来的主角
车载以太网,这是目前最火的方向。100BASE-T1、1000BASE-T1,单对非屏蔽双绞线,就能跑100Mbps甚至1Gbps。
技术特点:
- 高带宽:100Mbps起步,轻松应对ADAS、自动驾驶的数据量。
- 轻量化协议栈:SOME/IP、DOIP、AVB/TSN,都是为汽车量身定做的。
- 点对点连接:不像CAN那样是总线型,以太网是交换网络。每个节点独享带宽。
我的看法:未来3-5年,车载以太网会成为主干网络。CAN FD会退居二线,做子网。LIN继续在低端节点苟着。FlexRay和MOST,嗯,慢慢退出历史舞台。
2.7 选型对比——怎么选?
好,讲完了各个网络的特点,咱们来聊聊怎么选。我一般从这几个维度考虑:
| 网络类型 | 速率 | 成本 | 实时性 | 适用场景 |
|---|---|---|---|---|
| LIN | 20kbps | 极低 | 低 | 车窗、座椅、车灯 |
| CAN | 1Mbps | 低 | 中 | 动力、车身、诊断 |
| CAN FD | 5Mbps | 中 | 中高 | OTA、大数据诊断 |
| FlexRay | 10Mbps | 高 | 极高 | 线控、安全系统 |
| MOST | 150Mbps | 高 | 中 | 多媒体(已过时) |
| 以太网 | 100Mbps-1Gbps | 中高 | 高(TSN) | ADAS、自动驾驶、主干网 |
选型建议:我个人习惯这样选——能用LIN的绝不用CAN,能用CAN FD的绝不用传统CAN。主干网直接上以太网。至于FlexRay,除非客户指定,否则不考虑。
2.8 实际项目中的网络拓扑
最后,我给大家看一个我实际做过的网关项目拓扑。这个项目是一个中高端SUV,网络架构是这样的:
+-------------------+ +-------------------+
| ADAS域控 | | 座舱域控 |
| (以太网+CAN FD) | | (以太网+MOST) |
+--------+----------+ +--------+----------+
| |
| +-----------+ |
+------+ 中央网关 +--------+
| (以太网) |
+-----+-----+
|
+-------------+-------------+
| | |
CAN FD总线 CAN总线 LIN总线
(动力系统) (车身系统) (车窗/座椅)
你看,中央网关负责所有网络的桥接。以太网做骨干,CAN FD做动力子网,CAN做车身子网,LIN做末端执行器。这个架构,既保证了带宽,又控制了成本。
好了,第2章的内容就到这里。下一章,咱们深入聊聊CAN FD的协议细节,包括它的帧结构、位填充、以及和传统CAN的兼容性问题。到时候我会带一个实际抓包分析的案例,很有意思。
记住,选型没有绝对的对错,只有合不合适。多想想你的应用场景,多算算成本账,你也能做出好的设计。