1、课程导论:为什么需要混合组网?TSN与CAN的相爱相杀
1.1 从一辆车的“神经”说起
各位同学,大家好。我是你们这门课的老朋友。
咱们先聊聊一个有意思的事。你想想看,一辆现代汽车,它有多少个电子控制单元?我十年前刚入行那会儿,一辆中端车大概有30到50个ECU。现在呢?随便一辆智能电动车,ECU数量轻松破百,甚至更多。
这些ECU就像人体的器官。它们需要互相通信,才能让车跑起来。传统的CAN总线,就是连接这些器官的“神经系统”。
但问题来了。器官越来越多,信息量越来越大。CAN这条“神经”开始吃不消了。
为什么会这样?
我举个例子。你开车时,仪表盘要显示车速、转速、油量。这些数据用CAN传,没问题。但如果你想让车实现自动驾驶,摄像头每秒要传几百兆甚至上G的数据。CAN的带宽才1Mbps,你想想看,这就像用一根吸管去抽干一个游泳池。
所以,TSN(时间敏感网络)就登场了。它带宽大、延迟低、时间同步精准。说白了,TSN就是一条“高速公路”。
但问题又来了。你总不能把车上所有的CAN节点都换成TSN吧?成本太高,而且很多老节点根本不需要那么高的带宽。
嗯,这就是我们这门课要解决的核心问题——混合组网。
1.2 TSN与CAN:不是替代,是互补
很多人一听到TSN,就觉得CAN要被淘汰了。我刚开始也有这个错觉。
但实际做项目时你会发现,事情没那么简单。
我在一个ADAS项目中遇到过这样的场景:摄像头和激光雷达的数据,必须用TSN传,因为延迟要求是微秒级。但车窗控制、车门锁这些信号,用CAN传就绰绰有余。你非要把它们都挂到TSN上,反而增加了系统复杂度和成本。
所以,TSN和CAN的关系,说白了就是“相爱相杀”。
它们各有各的脾气:
| 特性 | CAN | TSN |
|---|---|---|
| 带宽 | 最高1Mbps | 100Mbps ~ 1Gbps |
| 延迟 | 毫秒级 | 微秒级 |
| 时间同步 | 无原生同步 | IEEE 802.1AS,纳秒级 |
| 成本 | 极低 | 较高 |
| 应用场景 | 车身控制、诊断 | 自动驾驶、音视频 |
你看,它们不是谁取代谁的问题。而是各司其职的问题。
我个人习惯把CAN比作“小区里的快递员”,灵活、便宜、够用。TSN则是“顺丰专机”,快、贵、但能运大件。你不可能让快递员去送飞机发动机,也不可能让专机去送一封信。
1.3 混合组网的核心挑战
那么,把这两个“脾气”不同的网络混在一起,会遇到什么问题?
我总结了一下,主要有三个坑:
- 时间同步问题:CAN没有原生时间同步机制。TSN要求纳秒级同步。你让一个“不守时”的节点和一个“精确到纳秒”的节点一起工作,怎么对齐时间?
- 数据格式转换:CAN的报文是11位或29位ID,数据长度最多8字节。TSN用的是以太网帧,最小64字节。你从CAN收一个8字节的信号,要把它塞进TSN的帧里,怎么封装?
- 实时性保障:TSN有802.1Qbv等机制来保证确定性延迟。但CAN的仲裁机制是CSMA/CR,优先级高的报文才能发出去。混合组网时,高优先级的CAN报文和TSN的实时流,谁先走?
我曾经在一个项目中,就因为时间同步没做好,导致摄像头和雷达的数据融合时,时间戳差了十几毫秒。结果就是,车辆明明看到障碍物了,但控制指令晚了一步。嗯,那一次差点把测试车撞到路肩上。
1.4 混合组网的典型架构
说了这么多,那实际项目中怎么搭这个混合网络呢?
我给大家画一个典型的架构图(用文字描述):
+-------------------+ +-------------------+
| TSN 域 | | CAN 域 |
| (摄像头、雷达) | | (车窗、车门) |
| 100Mbps/1Gbps | | 500kbps |
+--------+----------+ +--------+----------+
| |
| |
+----------+---------------+
|
+-------v--------+
| TSN/CAN |
| 网关 |
| (核心节点) |
+----------------+
|
|
+-------v--------+
| 诊断/OTA |
| (TSN域) |
+----------------+
这个架构里,TSN域和CAN域通过一个网关连接。网关负责:
- 协议转换(CAN ↔ TSN)
- 时间同步(把TSN的时钟同步到CAN节点)
- 数据路由(决定哪些CAN报文需要转发到TSN域)
你想想看,这个网关就是整个混合网络的“心脏”。它要是出了问题,整个车就“瘫痪”了。
1.5 这门课你能学到什么?
好了,导论部分就讲这么多。我给大家总结一下,这门课的核心内容:
- TSN基础:802.1AS时间同步、802.1Qbv调度、802.1Qci流过滤等核心协议
- CAN基础:CAN 2.0、CAN FD、CAN XL的区别和选型
- 混合组网设计:网关架构、数据映射、实时性分析
- 实战案例:从零搭建一个TSN+CAN混合网络原型
- 测试与验证:如何用Wireshark抓TSN报文、用CANoe分析CAN总线
好,咱们下一章开始,正式进入TSN的核心协议。到时候我会拿一个实际项目中的配置案例,带大家手把手操作。
记住,纸上得来终觉浅。我建议你学完每一章后,都去动手搭个小实验。哪怕只是用两个开发板跑通一个CAN报文转发到TSN,也比看十遍书有用。
咱们下章见。