TSN(时间敏感网络)介绍

2023-05-16

1. 前言

TSN是时间敏感网络(Time-Sensitive Network)的英文缩写,是IEEE 802.1 TSN工作组开发的一系列数据链路层协议规范的统称,用于指导和开发低延迟、低抖动,并具有传输时间确定性的以太网局域网,是传统以太网在汽车等特定应用环境下的增强功能实现。

  • TSN的发展史

早期的以太网采用的交换机主要使用半双工模式,传输带宽为100M,传输延时为5ms,单根线路的最大长度为100m。紧接着,在千兆以太网和全双工传输技术的快速发展中,局域网中基本普及了千兆交换机,默认情况下所有端口处于一个广播域,所有数据包的交换通过硬件的MAC地址表进行查询转发。

随着以太网交换技术的成熟,并在城域网等更大范围的应用拓展,1980年2月,IEEE 802委员会成立,任务是制定局域网和城域网的通信标准,IEEE 802.1工作组则主要制定基于以太网的协议标准。

1991,针对大量交换机的部署产生了冗余链路等的一系列问题,IEEE 802.1工作组发布了802.1D STP生成树协议,并于1998年发布了第二部RSTP快速生成树协议,基本解决了各厂商设备在组网时容易产生环路等问题。

随着802.1D的制定,大规模用户组网条件已经成熟,1999年,IEEE 802.1发布802.1QVLAN协议作为802.1D的后续补充,能够将大规模的用户小区和城市区域使用虚拟网络标识的进行区分,解决了电信用户组网和城域网接入的IP限制问题。

进入21世纪以后,随着以太网的普及,基于以太网的多媒体应用需求与日俱增,于是2006年IEEE成立了AVB工作组,制定了一系列新的802.1技术标准,对现有以太网进行功能扩充,包括带宽保持、限制延时和精确时钟同步,提供了高质量、低延时、时间同步的音视频局域网解决方案。

随着工业4.0概念的提出和车联网时代的到来,工业和汽车对实时以太网技术的需求迅速增长,在2012年,AVB工作组更名为TSN工作组,在继承AVB已有的技术基础上,进一步针对实时通信的应用场景,制定并提出了更多可行的技术标准,籍此在未来的工业和汽车等领域继续引领以太网技术的发展。

2. TSN系列规范

TSN系列规范包含了非常多的技术标准,一部分来源于以往音视频、通信等领域的应用,一部分来源于芯片等技术厂商在技术实现上的探索。

图1 TSN协议系列规范

当前已经发布的TSN系列规范大致分为四个部分:时间同步、调度延时、可靠性、资源管理

  • 时间同步

时间同步的协议规范主要是802.1AS/802.1AS-Rev,基于数据链路层进行以交换机为关键节点的时钟同步机制的实现,主要来自于IEEE1588时间同步协议的简化版本,更适用于车载网络中实时性精度要求较高的通信传输场景。

目前主流的应用为2011版本,主要是基于单域或多域的时钟同步机制的实现,初步满足了基于以太网作为骨干网的电子电器架构的设计需求。

图2 802.1AS多域分布

最新发布的为2020版本,增加了时钟冗余和时钟传输路径冗余的实现,对满足车辆功能安全的需求提供了统一的解决方案。

图3 802.1AS时钟实时冗余

  • 调度延时

802.1Qbv是在交换机多个输出队列的严格优先级(报文中的优先级通常来自于VLAN或者IP)模式下,利用门循环列表GCL(Gate Control List)来控制每个队列的开关时间窗口,来实现时间感知整形器TAS(Time-aware Shaper)的功能;GCL通常有8~16组,可通过灵活配置来实现不同延时需求的调度规则集合,进而对应不同优先级帧的最大传输延时保证来实现传输延时确定性和带宽的稳定性。

图4 802.1Qbv GCL调度

同时,802.1Qbv为了确保每个时间片的报文都能传输完成,预留了一个Gurad Band,长度最大可配置为一个标准以太网帧的MTU大小约1500字节,会增加约12.5us的延时损耗。为了不浪费这个带宽的等待时间,于是设计并引入了802.1Qbu规范。

802.1Qbu将数据帧分为可被抢占帧(Preemptable Frame)和快速帧(Express Frame),通常在每个交换机端口以优先级来对帧进行以上分类,即高优先级的帧可以对低优先级未传输完成的帧进行抢占发送,以减少传输延迟。抢占的规则一般通过设置最小可被抢占帧长度,例如若设置为128字节,则必须等待可被抢占帧传输完128字节才能对快速帧进行抢占发送,等快速帧发送完成后,再对被抢占帧未发送完成的部分进行发送。

802.1Qbu和802.1Qbv的同时使用,可以在保证链路延时和带宽相对确定的情况下,对高实时报文进一步降低传输延时。

  • 可靠性

802.1CB主要是通过交换机硬件的报文复制功能实现发送端数据帧的在交换机指定转发端口处的复制,并通过不同的交换机传输路径发送至最终目的节点所在的交换机连接端口,然后在该交换机端口利用交换机硬件的对特定协议复制帧的重复消除,进而利用网络拓扑中的冗余路径实现在传输链路中实时的可靠性数据备份,并且不增加软件收发数据产生的额外负载;相比传统的通信错误恢复机制,能够在正常通信链路发生错误时,利用在冗余路径中的实时数据保证通信不间断,且延时仅是冗余路径中多余交换机节点的转发延时,一般在10us左右,可以非常好地满足高实时高可靠性的应用场景。

图5802.1CB冗余策略

  • 资源管理

资源管理的系列规范类似于网络管理之类的协议和配置格式的一些规定,适合于灵活组网、易于维护的一些应用环境,并不适用于汽车上稳定性要求高、固定资源分配的策略,所以这里就暂不详细介绍了。

3. TSN在汽车上的应用

TSN在汽车上的应用主要使用了基于802.1AS-Rev的时钟同步协议,以及随后推出的802.1Qbv、802.1CB、802.1Qbu等一系列满足车载网络流量调度需求的协议规范。

  • 车载网络

未来的车载网络将

  • 以中央计算大脑为车辆中心
  • 以区控制器为局部中心
  • 基于以太网作为骨干网的环状拓扑进行部署

为全车的智能化提供超大的带宽和连通性。

图6ZEEKR EE 3.0架构

随着网络拓扑的巨大变更,未来的车型将能够把整车线束总长度从3.5km以上降低至1.5km左右,减重100~200kg,实现电动汽车10%以上的续航提升,在降低硬件损耗的同时,带来非常可观的综合经济效益,对实现碳中和的国家战略提供强有力的支撑。

  • 时钟同步

在极氪具有辅助驾驶和自动驾驶的功能的车型中,时钟同步精度是各个传感器实现高精度响应和定位外部环境的基础,包括1~9个激光雷达,1~6个毫米波雷达,12个超声波雷达,4~8个环视摄像头(鱼眼和侧视),1个前视高清识别摄像头,1个前视DVR摄像头,1个后视倒车摄像头,1个DMS摄像头,通过车内网络节点具备的硬件支持的802.1AS gPTP时钟同步功能,可以将各个传感器的时钟同步误差压缩到100ns~1us以内,基本上满足了车辆在高速和低速运行中各个场景的驾驶控制需求。

图7车辆自动驾驶传感器分布

  • 延时确定

对于新一代车型的车辆控制,通过区控制器的交换机功能进行大量实时性周期数据传输,依赖优化验证后的Qbv和Qbu配置,10ms、20ms、50ms、100ms等传统车辆运行中的CAN控制数据,均可以按照抖动性要求的误差等级,实现分批分时的确定带宽和确定延时的数据传输,基本能够满足100us~1ms的延时区间,实现与传统CAN网络数据转发性能要求的完全兼容。

同时,通过区控制器进行毫米波雷达的数据传输能够保留足够的实时带宽,车联网的地图等应用也能够保证及时响应,在线音视频应用也能够流畅播放,进而实现了多域融合在以太网作为骨干网的网络环境下的良好示范效应。

  • 实时冗余

功能安全在应用汽车以太网作为骨干网的拓扑中主要关注的是通信安全。传统的CAN网络通信具有天然的组播通信方式,某一个节点的故障不会中断其他节点间的通信。

汽车以太网使用以交换机为中心转发节点的网络拓扑,使用的是集中式的点对点通信,需要使用队列来缓存报文和控制通信策略;如果传输路径中的转发节点出现故障,则可能会立刻中断整车各个区控制器之间的大量通信,会造成车辆控制中不可预知的风险。

802.1CB针对汽车以太网的先天性缺陷给出了一个利用硬件冗余通道来保持实时数据备份的方式,可以将需要备份的数据实时保留在通信线路中,提供硬件线路和软件流量的双重备份,能够有效地提升通信的功能安全等级。

图8802.1CB帧复制传输

4. 总结

汽车功能的智能化、网联化、多媒体化催生了新时代车载电子电气架构的升级和变革,涌现出了大量具有创造力的技术理念和个性化的应用场景,已经远远超出了物联网、车联网等新时代概念的范畴。

为了迎接这些挑战,极氪软件及电子中心将大胆探索,基于TSN的电子电气架构进行下一代智能车型的研发,并打造搭载ZEEKR OS的中央计算超级算力平台,在新的市场需求下不断突破创新,为汽车产业的技术创新奉献自己的青春和激情。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TSN(时间敏感网络)介绍 的相关文章

  • SOA架构和微服务架构的区别

    1 SOA架构和微服务架构的区别 首先SOA和微服务架构一个层面的东西 xff0c 而对于ESB和微服务网关是一个层面的东西 xff0c 一个谈到是架构风格和方法 xff0c 一个谈的是实现工具或组件 1 SOA xff08 Service
  • 浅谈AP autosar 之 runtime 基础

    AP Autosar Architecture overview AP autosar在SOC 中的位置 xff0c 起到的作用 下面图可以看出 xff0c AP autosar封装了操作系统的接口 xff0c 封装了功能安全 xff0c
  • 「冰羚」— 撑起自动驾驶未来的“中间件”

    每当谈到自动驾驶的软件开发 xff0c 人们首先想到的 xff0c 是深不可测的人工智能算法 xff0c 是各种感知融合 xff0c 是各类路径规划 但是 xff0c 就算是再智能再高深的算法 xff0c 如果没有底层操作系统的支持 xff
  • 多核处理器的关键技术

    英特尔的cpu是从前代gt atom一路供货到第7代 xff0c 想必日常使用不会有太大区别 xff0c 而在系统之外可能存在一些散热方面的问题 而上市越早的处理器 xff0c 硬件供货越好 xff0c 可能在某些特殊时间段会出现不足 xf
  • LD_PRELOAD作用

    一 LD PRELOAD是什么 LD PRELOAD 是Linux系统的一个环境变量 xff0c 它可以影响程序的运行时的链接 xff08 Runtime linker xff09 xff0c 它允许你定义在程序运行前优先加载的动态链接库
  • C++ 之父的多线程编程建议——现代 C++ 对多线程/并发的支持(下)

    本文承接前文 现代 C 43 43 对多线程 并发的支持 xff08 上 xff09 xff0c 翻译自 C 43 43 之父 Bjarne Stroustrup 的 C 43 43 之旅 xff08 A Tour of C 43 43 x
  • C++关键字之Future promise and async()

    主线程将x传递给子线程 xff0c 子线程将结果x再传递给主线程 include lt iostream gt include lt future gt include lt thread gt using namespace std vo
  • C++ thread::hardware_concurrency 获取硬件支持并发数

    一 功能 获取硬件支持的并发线程数 二 返回值 正常返回支持的并发线程数 xff0c 若值非良定义或不可计算 xff0c 则返回 0 四 示例 include lt iostream gt include lt thread gt int
  • C++并发编程 unique_lock and condition_variable

    在t1线程中插入值 xff0c 在t2线程中取出值 include lt iostream gt include lt thread gt include lt vector gt include lt string gt include
  • ubuntu18.04+安装ros-melodic+安装realsense-ros包

    自己在安装的时候参考了很多博客 xff0c 但许多的方法很杂乱最后还失败了 xff0c 这里综合下自己尝试成功且比较方便的方法 xff0c 参考链接会在下文列出 安装ros melodic 参考 xff1a https www guyueh
  • [C++11 并发编程] 动态选择并发线程的数量

    C 43 43 标准模板库提供了一个辅助函数 std thread hardware concurrency xff0c 通过这个函数 xff0c 我们可以获取应用程序可以真正并发执行的线程数量 下面这个例子 xff0c 实现了一个并发版本
  • [C++11 并发编程] 17 超时等待 - clock和duration

    之前我们看到的所有等待机制都是不会超时的 xff0c 也就是说 xff0c 等待某个同步事件的线程会一直挂起 有些情况下 xff0c 我们希望设置一个最长等待时间 xff0c 使得程序可以继续与用户进行交互 xff0c 使得用户可以取消这个
  • 激光雷达和相机感知融合简介

    本文介绍激光雷达和相机融合的两种方法 xff1a 前融合 xff1a 融合原始数据 xff08 点云和像素 目标框 xff09 后融合 xff1a 融合目标框 前融合 前融合一般指融合原始数据 xff0c 最容易 最普遍的方式是将点云投影到
  • 聚焦芯片:GPU,CPU,SOC,DSP,FPGA,ASIC,MCU,MPU,GPP,ECU等都是什么?

    先上部分概念 xff1a CPU xff1a 中央处理器 xff08 Central Processing Unit xff09 是一块超大规模的集成电路 xff0c 是一台计算机的运算核心 xff08 Core xff09 和控制核心 x
  • 怎么样实现车辆信息安全

    1 车载IDS 正成为持续网络安全保护的核心要素 持续的网络信息安全风险管理正成为VTA的要求 通过IDS车载入侵检测可以为整个车队提供信息安全保护 但是 xff0c 分布式IDS的指导原则是什么 xff1f 为了满足UNECE WP29法

随机推荐

  • SOA通信架构和SOME/IP-SD的主要功能

    1 SOA面向服务的通信交互 如上图所示 xff0c 女神去热水澡堂洗澡 xff0c 想搓背 xff08 find服务 xff09 xff0c 于是她付要付搓背钱给澡堂老板 xff0c 这时澡堂老板知道通过小王和小明的毛遂自荐 xff08
  • OTA升级的实现原理

    一 简介 1 1 概念 OTA xff1a Over the Air Technology xff0c 即空中下载技术 OTA升级 xff1a 通过OTA方式实现固件或软件的升级 只要是通过无线通信方式实现升级的 xff0c 都可以叫OTA
  • 为什么特斯拉自动驾驶汽车不需要激光雷达

    光 糖果Autosar 2022 02 14 08 08 特斯拉仪表板 打造全自动驾驶汽车所需的技术堆栈是什么 xff1f 公司和研究人员对该问题的答案存在分歧 自动驾驶的方法范围从相机和计算机视觉到计算机视觉和高级传感器的组合 特斯拉一直
  • 架构与中台

    做架构工作最重要的是练好内功 什么是内功 xff1f 大局观 认知层次 xff0c 思维方式 xff0c 方法论 概念抽象能力等等都属于内功 零件设计主外 xff0c 架构设计主内 零件设计五花八门 xff0c 紧随新技术新热点 架构设计苦
  • UDS服务简易教程

    本文主要以简单易懂的描述向大家介绍CAN诊断基础知识 xff0c 本文主要介绍CAN诊断中UDS服务的基本内容 xff0c 主要参考文件ISO15765 2 ISO15765 3 ISO14229 1 xff0c 读完本篇文章后希望进一步了
  • 五万字读懂c++

    const作用 修饰变量 xff0c 说明该变量不可以被改变 xff1b 修饰指针 xff0c 分为指向常量的指针 xff08 pointer to const xff09 和自身是常量的指针 xff08 常量指针 xff0c const
  • 在AP_EM上的骚操作

    最近大家都对AP兴趣很大 xff0c 也不知CP大家玩转了木有 xff0c 反正咱也不知道咱也不敢问 xff0c 这次楼主就扯下AP中的状态管理SM和执行管理EM部分 言归正传 xff1a AP的应用 xff0c 在通过工具配置后 xff0
  • 编译型语言和解释型语言的区别

    我们编写的源代码是人类语言 xff0c 我们自己能够轻松理解 xff1b 但是对于计算机硬件 xff08 CPU xff09 xff0c 源代码就是天书 xff0c 根本无法执行 xff0c 计算机只能识别某些特定的二进制指令 xff0c
  • 什么情况下需要加extern “C“,通俗易懂

    下午看了一些关于extern 34 C 34 的博客 xff0c 都写得很啰嗦 xff0c 看来看去还是有一些细节不怎么了解 xff0c 自己开了个程序测试了一下 xff0c 总结了什么情况下需要加入extern C 首先c 43 43 和
  • POSIX介绍

    POSIX表示可移植操作系统接口 xff08 Portable Operating System Interface of UNIX xff0c 缩写为 POSIX xff09 xff0c POSIX标准定义了操作系统应该为应用程序提供的接
  • Linux crond 命令使用实例

    每一分钟调用一次 ls l etc gt tmp to txt crontab e 进行编辑 1 ls l etc gt tmp to txt 1 代表每一分钟执行一次 1 第二个 代表一天中的某个小时 案例2 xff1a 写一个脚本 vi
  • DoIP诊断技术一点通

    DoIP的全称是Diagnostic Over Internet Protocol xff0c 即基于TCP IP协议的诊断协议 随着以太网技术在车载领域的应用范围逐步扩大 xff0c 越来越多的控制器支持通过以太网进行诊断通信 xff0c
  • 嵌入式必备基础一

    嵌入式必备知识 Oliver H的博客 CSDN博客 一 进程与线程 1 1 进程和线程的概念 1 1 1 什么是进程 线程 xff0c 各自有什么优点 概念 xff1a 进程是对运行时程序的封装 xff0c 是系统进行资源调度和分配的的基
  • 嵌入式基础二——C/C++

    二 C C 43 43 2 1 c和c 43 43 区别 概念相关面试题 2 1 1 new和malloc的区别 属性 xff1a new delete是C 43 43 关键字 xff0c 需要编译器支持 malloc free是库函数 x
  • ​Linux 黑话解释:什么是 POSIX?

    POSIX xff0c 你肯定在各种在线论坛和文章中 xff0c 听到过这个缩写 xff0c 或读到过关于它的信息 程序员和系统开发人员似乎最关心这个问题 它听起来很神秘 xff0c 虽然有很多关于这个主题的好资料 xff0c 但一些讨论区
  • 科研进阶篇——论文完结

    终于完成了人生的第一篇学术论文 xff0c 对这次的科研做个总结 xff0c 画上一个完美的问号 xff0c 让我们快乐的继续进阶 xff0c 投了会议 xff0c 中了的话应该会推荐到CCF C期刊 虽然还没出结果 xff0c 还是为自己
  • AP AUTOSAR 平台设计总体框架全解

    AP AUTOSAR 平台设计总体框架全解 01 简介 1 1内容 本规范描述技术范围和方法 AP的背景 逻辑和物理视图的架构 xff0c 是AUTOSAR自适应平台设计的总体框架 全文32000余字 xff0c 建议收藏阅读 02 技术范
  • 谈谈Bootloader自更新

    目录 01 Supplier Boot SB 43 Customer Boot CB 02 将Boot先放到RAM中运行 xff0c 然后更新Boot的Flash区域 03 两个CB 43 minBoot 04 小结 汽车控制器的BootL
  • E2E通信保护协议学习笔记

    E2E通信保护协议学习笔记 最近在做功能安全方面工作 xff0c 想了解E2E保护的问题 本文试着说明两个点 xff1a 功能安全需要考虑通信失效造成的影响 xff0c 因此E2E通信保护协议被提出 xff0c 以满足功能安全要求 xff1
  • TSN(时间敏感网络)介绍

    1 前言 TSN是时间敏感网络 xff08 Time Sensitive Network xff09 的英文缩写 xff0c 是IEEE 802 1 TSN工作组开发的一系列数据链路层协议规范的统称 xff0c 用于指导和开发低延迟 低抖动