车载以太网之要火系列 - 第68篇郭大侠学TSN(总结篇):一张图看懂TSN,时间敏感不求人 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四件套对比表黄蓉画了最后一张对比表组件标准作用依赖郭靖理解gPTP802.1AS时间同步—“全网对表”TAS802.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。