gPTP、TAS、帧抢占、冗余传输——TSN四件套全景回顾
写在开篇·蓉儿最后挖一次坑
上回说到,郭靖搞清楚了TSN四件套的最后一块——冗余传输(802.1CB),关键数据走多条路径,一条断了另一条上。
郭靖合上笔记本,长出一口气:“蓉儿,TSN从gPTP到冗余传输,算是完整过了一遍。但东西有点多,能不能帮我串一下?”
黄蓉咬了口糖葫芦:“早就准备好了。今天就把TSN从头到尾串一遍——一张图看懂TSN,时间敏感不再难。”
一、TSN是什么?为什么需要它?
黄蓉在白板上写下定义:
TSN = Time-Sensitive Networking = 时间敏感网络
让普通以太网拥有“确定性”通信能力
普通以太网的问题:
| 问题 | 说明 | 后果 |
|---|---|---|
| 尽力而为 | 数据到了就发,发不出去就等 | 刹车指令可能被视频堵在后面 |
| 无时间同步 | 各设备时间不同步 | 摄像头和雷达的时间戳对不上 |
| 无优先级保证 | 所有数据一视同仁 | 关键数据没有特权 |
| 单路径依赖 | 网线断了就断了 | 刹车指令过不去 |
TSN的价值:
| TSN特性 | 解决的问题 |
|---|---|
| 时间同步(gPTP) | 全网设备时间对齐 |
| 门控调度(TAS) | 关键数据定时发,不被堵 |
| 帧抢占 | 紧急数据插队发 |
| 冗余传输 | 多路径备份,一条断了另一条上 |
二、TSN四件套全景回顾
第一件:gPTP(时间同步)
| 要点 | 内容 |
|---|---|
| 全称 | generalized Precision Time Protocol |
| 标准 | IEEE 802.1AS |
| 作用 | 让全网设备时间同步,精度<1μs |
| 核心机制 | 主从之间交换时间戳,计算传输延迟 |
| 时钟类型 | Ordinary Clock(端节点)、Boundary Clock(边界时钟) |
| 故障转移 | 主时钟坏了,从时钟自动接管 |
| 郭靖理解 | “全网对表,误差不到1微秒” |
第二件:TAS(时间感知整形器)
| 要点 | 内容 |
|---|---|
| 全称 | Time-Aware Shaper |
| 标准 | IEEE 802.1Qbv |
| 作用 | 关键数据只在指定时间窗口发送 |
| 核心机制 | 门控时间表(GCL),规定什么时候开哪个门 |
| 依赖 | 需要gPTP提供精确时间 |
| 郭靖理解 | “给关键数据开专用通道,定时发,不排队” |
第三件:帧抢占
| 要点 | 内容 |
|---|---|
| 全称 | Frame Preemption |
| 标准 | IEEE 802.1Qbu |
| 作用 | 高优先级数据可以打断低优先级数据的发送 |
| 核心机制 | 长包在可抢占点被打断,插队先发短包 |
| 适用场景 | 偶发性紧急数据(如刹车指令) |
| 郭靖理解 | “紧急数据可以插队,不用等窗口” |
第四件:冗余传输
| 要点 | 内容 |
|---|---|
| 全称 | Frame Replication and Elimination for Reliability |
| 标准 | IEEE 802.1CB |
| 作用 | 关键数据走多条路径,一条断了另一条上 |
| 核心机制 | 发多份、走多路、接收端去重 |
| 代价 | 带宽翻倍 |
| 郭靖理解 | “重要数据发三份,走三条不同的路” |
三、一张图看懂TSN四件套配合
黄蓉画了一张完整的配合图:
┌─────────────────────────────────────────────────────────────────────────────┐ │ TSN四件套配合全景图 │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────────────────────────────────────────────────────┐ │ │ │ gPTP(时间同步) │ │ │ │ 所有设备时间对齐,误差<1μs │ │ │ └─────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────────┐ │ │ │ TAS(门控调度) │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │ 刹车窗口 │ │ 视频窗口 │ │ 刹车窗口 │ │ │ │ │ │ 100μs │ │ 500μs │ │ 100μs │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ┌─────────────────┴─────────────────┐ │ │ │ │ │ │ ▼ ▼ │ │ ┌─────────────────────────────┐ ┌─────────────────────────────┐ │ │ │ 帧抢占 │ │ 冗余传输 │ │ │ │ 紧急数据插队,不等窗口 │ │ 关键数据走双路,一条断另一条上│ │ │ │ 适用:偶发紧急数据 │ │ 适用:高安全等级数据 │ │ │ └─────────────────────────────┘ └─────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────────────────┐ │ │ │ 自动驾驶数据流 │ │ │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ │ │ │ │ 刹车指令: │ │ │ │ ├── gPTP:时间同步 │ │ │ │ ├── TAS:在刹车窗口发送 │ │ │ │ ├── 帧抢占:万一没赶上窗口,插队 │ │ │ │ └── 冗余传输:走2-3条路径,保证可靠 │ │ │ │ │ │ │ │ 摄像头视频: │ │ │ │ ├── gPTP:时间同步 │ │ │ │ ├── TAS:在视频窗口发送 │ │ │ │ ├── 帧抢占:可被打断 │ │ │ │ └── 冗余传输:不需要(丢帧可接受) │ │ │ │ │ │ │ └─────────────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────────┘
四、TSN与DDS的配合
郭靖问:“TSN和之前学的DDS是什么关系?”
黄蓉画了配合关系图:
┌─────────────────────────────────────────────────────────────────────────────┐ │ DDS + TSN = 黄金搭档 │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ DDS(应用层) TSN(网络层) │ │ ┌─────────────────────────┐ ┌─────────────────────────┐ │ │ │ 定义Topic:刹车指令 │ │ gPTP:时间同步 │ │ │ │ 配置QoS: │ 映射 │ TAS:刹车专用窗口 │ │ │ │ - 延迟预算=1ms │ ────────→ │ 帧抢占:紧急插队 │ │ │ │ - 可靠性=RELIABLE │ │ 冗余传输:多路径 │ │ │ │ - 优先级=HIGH │ │ │ │ │ └─────────────────────────┘ └─────────────────────────┘ │ │ │ │ DDS提要求,TSN来保障。 │ │ │ └─────────────────────────────────────────────────────────────────────────────┘
五、TSN四件套对比表
黄蓉画了最后一张对比表:
| 组件 | 标准 | 作用 | 依赖 | 郭靖理解 |
|---|---|---|---|---|
| gPTP | 802.1AS | 时间同步 | — | “全网对表” |
| TAS | 802.1Qbv | 门控调度 | gPTP | “定时发,开专用通道” |
| 帧抢占 | 802.1Qbu | 打断低优先级 | 不需要 | “紧急插队” |
| 冗余传输 | 802.1CB | 多路径备份 | 不需要 | “多路备胎” |
六、郭靖的“TSN毕业感言”
郭靖合上笔记本,站起来:
“TSN四件套,我算是学完了。”
“gPTP让全网时间对齐,这是基础。”
“TAS给关键数据开专用窗口,定时发。”
“帧抢占让紧急数据可以插队,不等窗口。”
“冗余传输给关键数据上双保险,一条断了另一条上。”“四件套配合,关键数据才能准时可靠地到达。”
“虽然有些地方还是迷迷糊糊,但骨架算是搭起来了。剩下的,边用边学。”
黄蓉咬了口糖葫芦:“TSN学完了。下篇,咱们把DoIP、UDS、SOME/IP、DDS、TSN全部串一遍。”
郭靖点头。
“下篇预告:车载以太网全系列总结——从DoIP到TSN,一张图全看完。”
写在最后
这一篇最大的收获:
TSN四件套全景回顾:
gPTP:时间同步,全网对表
TAS:门控调度,定时发
帧抢占:紧急插队,不等窗口
冗余传输:多路备胎,一条断了另一条上
DDS + TSN = 黄金搭档:DDS提要求,TSN来保障
TSN不是单一协议,是一整套工具链。四件套配合,才能实现确定性通信。
郭靖感叹:时间敏感不再难,一张图全看完。
打完收工,886。