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的实时流,谁先走?

我曾经在一个项目中,就因为时间同步没做好,导致摄像头和雷达的数据融合时,时间戳差了十几毫秒。结果就是,车辆明明看到障碍物了,但控制指令晚了一步。嗯,那一次差点把测试车撞到路肩上。

避坑指南: 混合组网时,千万不要默认CAN节点的时间是准确的。我曾经吃过这个亏。一定要在网关上做时间戳转换,或者用专门的同步机制。

1.4 混合组网的典型架构

说了这么多,那实际项目中怎么搭这个混合网络呢?

我给大家画一个典型的架构图(用文字描述):

+-------------------+       +-------------------+
|   TSN 域          |       |   CAN 域          |
|   (摄像头、雷达)   |       |   (车窗、车门)     |
|   100Mbps/1Gbps   |       |   500kbps         |
+--------+----------+       +--------+----------+
         |                           |
         |                           |
         +----------+---------------+
                    |
            +-------v--------+
            |    TSN/CAN     |
            |    网关        |
            |  (核心节点)    |
            +----------------+
                    |
                    |
            +-------v--------+
            |   诊断/OTA     |
            |    (TSN域)     |
            +----------------+

这个架构里,TSN域和CAN域通过一个网关连接。网关负责:

  • 协议转换(CAN ↔ TSN)
  • 时间同步(把TSN的时钟同步到CAN节点)
  • 数据路由(决定哪些CAN报文需要转发到TSN域)

你想想看,这个网关就是整个混合网络的“心脏”。它要是出了问题,整个车就“瘫痪”了。

1.5 这门课你能学到什么?

好了,导论部分就讲这么多。我给大家总结一下,这门课的核心内容:

  1. TSN基础:802.1AS时间同步、802.1Qbv调度、802.1Qci流过滤等核心协议
  2. CAN基础:CAN 2.0、CAN FD、CAN XL的区别和选型
  3. 混合组网设计:网关架构、数据映射、实时性分析
  4. 实战案例:从零搭建一个TSN+CAN混合网络原型
  5. 测试与验证:如何用Wireshark抓TSN报文、用CANoe分析CAN总线
一句话总结: 混合组网不是技术炫技,而是工程妥协的艺术。你既要懂TSN的“快”,也要懂CAN的“稳”。这门课就是帮你找到那个平衡点。

好,咱们下一章开始,正式进入TSN的核心协议。到时候我会拿一个实际项目中的配置案例,带大家手把手操作。

记住,纸上得来终觉浅。我建议你学完每一章后,都去动手搭个小实验。哪怕只是用两个开发板跑通一个CAN报文转发到TSN,也比看十遍书有用。

咱们下章见。