0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DDS-TSN 到底是如何实现的?

北汇信息POLELINK ? 2025-08-13 10:07 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

4cbd414c-77ea-11f0-9080-92fbcf53809c.png


作者 | 木槿


小编 |不吃猪头肉


4cdac370-77ea-11f0-9080-92fbcf53809c.png

概述


1.1TSN与DDS的独立优势与局限


随着智能网联汽车和车载网络架构的不断迭代,车载网络对实时性、确定性和高效数据分发的需求日益严苛。


TSN和DDS的结合为车载以太网提供了确定性实时通信(TSN)与灵活数据分发(DDS)的双重优势,尤其适用于自动驾驶、智能座舱等高要求场景。


4ceba848-77ea-11f0-9080-92fbcf53809c.png

图1 DDS协议概述


其中,数据分发服务(DDS)是对象管理组织(OMG)制定的一系列标准,旨在为工业互联网、信息物理系统和关键任务应用提供连接性、互操作性和可移植性。


优势

高效数据分发:基于发布-订阅模型,支持动态数据发现和异构系统互操作,适合车载多传感器数据共享;

丰富的QoS策略:提供23种服务质量策略(如延迟预算、可靠性),可灵活适配不同应用场景;

平台无关性:屏蔽底层OS和硬件差异,支持从MCU到域控制器的跨平台部署。


劣势

资源开销大:完整DDS协议栈对MCU等资源受限设备负担较重,需轻量化裁剪;

实时性依赖底层网络:DDS的QoS策略(如延迟控制)需TSN等底层技术支持才能充分发挥。


4cf50514-77ea-11f0-9080-92fbcf53809c.png

图2 TSN协议概述


时间敏感网络(TSN)是由IEEE 802.1工作组下属TSN任务组开发的标准集合,其目标是通过标准以太网实现确定性、高可靠性的通信。凭借对不同服务质量(QoS)级别的支持,单一TSN网络基础设施可同时传输具有实时性要求的关键数据与非关键数据。


优势

确定性实时传输:基于IEEE 802.1标准(如Qbv流量调度、gPTP时间同步),TSN可保障关键数据(如刹车控制信号)的微秒级低延迟传输;

资源隔离与冗余:通过帧抢占(Qbu)和帧复制消除(802.1CB)机制,避免网络拥塞并提升容错性;

标准化硬件兼容:依托传统以太网架构,降低部署成本。


劣势

配置复杂:需静态规划流量优先级和时间窗口,难以适应动态场景(如突发V2X通信);

仅解决底层问题:无法直接解决应用层的实时性挑战(如任务调度抖动)。


4d099c18-77ea-11f0-9080-92fbcf53809c.png

图3 TSN与DDS的独立优劣与协同效应表现


上述两种技术,不知道大家有没有发现它们之间可以进行结合互补,更进一步产生协同效应?


1.2.两者结合:垂直整合实现全栈确定性


通过OMG DDS-TSN规范的推进,两者融合可产生以下协同效应


DDS在应用层定义“需要什么样的实时性”(What),TSN在网络层解决“如何实现这种实时性”(How)。


4d1ec0c0-77ea-11f0-9080-92fbcf53809c.png

图4 DDS-TSN的结合实现


主要细分为以下几部分


1. 分层协作:从应用到网络的确定性贯通


DDS作为网络通信中间件,DDS通过发布-订阅模型管理数据分发逻辑,并定义端到端的QoS策略(如截止时间、可靠性、优先级),但依赖底层网络满足其实时性需求。


TSN作为底层(L2)技术,TSN通过时间同步、流量调度和帧抢占等机制,为以太网提供确定性传输能力,但不涉及应用层的数据语义与逻辑。


综合来看,DDS的QoS需求(如低延迟、时序保障)需要TSN的网络能力支撑,而TSN的确定性传输需要DDS的应用层调度配合。两者结合后,形成“应用意图→网络执行”的闭环,实现真正的端到端确定性。


2. 时间同步的全局一致性


TSN通过IEEE 802.1AS实现整网的微秒级时间同步,为DDS的全局数据空间(如时间戳一致性、事件顺序性)提供基础。例如:DDS内置的TimeBasedFilter与TSN gPTP时钟绑定,确保数据时效性判断基于同一时间基准。


3.开放标准与解耦架构的兼容性


DDS不绑定特定网络协议,TSN不限定上层应用,两者均为开放标准。


这种解耦设计允许

DDS通过TSN网络实现确定性传输,同时兼容非TSN网络(如传统IP网络);

TSN可同时承载DDS以外的其他协议(如HTTP、DoIP),最大化基础设施利用率。



4d30a556-77ea-11f0-9080-92fbcf53809c.png

DDS-TSN实现


DDS-TSN实现不只需要从理论层面来陈述,还需走过设计-验证的整个流程。接下来将从需求评估、方案设计,搭建原型,评估指标设计,实验结果展示几个方面来说明下如何具体实现DDS-TSN设计。


2.1.需求评估


所有的网络设计方案都服务于功能场景需求,所以本阶段的重要任务是需要将功能需求转化为需要的usecase描述,并从中评估识别出关于数据流的实时性、可靠性、架构等需求,便于后续的TSN和DDS的方案设计。


收集整理车载网络通信应用场景,分析应用层通信需求和约束条件,以自动驾驶举例:

时间同步

传输时延约束

可靠性:尽力而为还是可靠重传

链路冗余:数据是否需要链路冗余

……

4d414ee2-77ea-11f0-9080-92fbcf53809c.png

图5 自动驾驶相关功能场景


2.2.方案设计


在两者结合的方案设计中,有2种方式来进行:

一个是在DDS设计的基础上拓展TSN

另一种则是在TSN设计的基础上拓展DDS


本文的方案设计采取前一种方式。首先设计DDS系统,然后在TSN上部署,实现两者的结合。


1.TSN Talker/Listener和DDS DataWriter/DataReader之间的映射


DDS采用强类型的数据中心发布-订阅模型,其中DataWriter负责更新特定类型数据,匹配的DataReader则监听这些更新。


TSN同样存在Talker(发送端)和Listener(接收端)概念,Talker可向多个Listener发送数据流。


如OMG DDS-TSN规范所定义,两者映射的具体配置如下:

Talker定义为DataWriter(比如下图中ECU1是作为stream1的Talker1,也是DDS的DataWriter1)

Listener定义为DataReader(比如下图中ECU2是作为stream1的Listener1,也是DDS的DataReader1)


4d5252e6-77ea-11f0-9080-92fbcf53809c.png

图6 TSN Talker/Listener和DDS DataWriter/DataReader之间的映射示例


2.Topic和流量的映射

在DDS中Topic可以关联多个发送端或接收端,会自动映射出多条流。而TSN中则是传统的数据流传输,需要将二者联系起来并唯一标识其中每条数据流。具体配置如下:

每个 TSNTalker 提供的TSN流量都应进行流标识处理,这个是进行映射的重要前提。

根据上一步需求评估的输出来定义Topic,并映射到TSN流上。


例如,自动驾驶中某些Topic分类:


4d638d0e-77ea-11f0-9080-92fbcf53809c.png

通过上表中的Topic分类原则,可将3个Topic分别映射到对应的流量上:Command-控制类、Info数据类、Cam图像类,如下图所示。


4d73906e-77ea-11f0-9080-92fbcf53809c.png

图7 Topic和流量的映射


3.DDS QoS策略设计与TSN调度策略映射


DDS的QoS参数需与TSN的网络调度策略相映射,形成端到端确定性保障。具体配置有:

通过VLAN PCP映射实现跨层优先级传递

冗余覆盖单点故障场景,保障可靠性传输

基于TSN策略(优先级/Qbv)保障确定性传输

CBS/ATS降低交换机的内存使用

……


对于确定性传输,在DDS的QoS部署配置中,需要按需补充TSN策略中对应的参数(整形算法、门开/关时间等)。

例如,OMG DDS-TSN规范7.2.3中定义的TrafficSpecification中,增加了transmission_selection传输选择算法参数:


4d85fc5e-77ea-11f0-9080-92fbcf53809c.png


将TrafficSpecification定义在DataWriterQoS中,将DDS的QoS需求与TSN的调度关联起来,保证其确定性传输。

其余映射可根据实际需求进行设计实现。


4.DDS-RTPS层的处理


RTPS是DDS的默认底层通信协议,它定义了DDS实体(如Publisher/Subscriber)之间通过网络交换数据的规则。DDSI-RTPS 对底层技术的要求很少,为在TSN网络上实现确定性传输,对RTPS协议有一些特殊的要求。比如:

消息模块中传输的子消息类型的限制,负责实现可靠性的RTPS子消息(例如GAP、ACKNACK、NACKFRAG)是非必要的,限制其传输

发现模块(SPDP/SEDP)默认不区分TSN与非TSN应用,可能引发不匹配的通信,需要进行两者之间的约束

……


具体的实现同样依据实际需求。


5.协议映射


OMG提出两种技术实现DDS和TSN的数据协议映射,提高协议栈运行效率:

RTPS/UDP/IP/TSN:将 RTPS 消息映射到 UDP 消息,由 TSN 网络传输 UDP 消息,能够解决传统以太网的不确定性问题

RTPS/TSN:将 RTPS 消息直接映射到以太网帧,由 TSN 网络传输以太网帧,能够解决操作系统网络 I/O 以及传统以太网的不确定性问题


上述两种方式在汽车领域中均有使用,本文方案设计采用后一种方式。


4d986d94-77ea-11f0-9080-92fbcf53809c.png

图8 DDS-TSN的协议映射


2.3.搭建原型


DDS-TSN原型搭建分为:硬件配置和软件配置两部分。

硬件配置:采用支持TSN协议的交换机和开发板;

软件配置:集成TSN和DDS协议栈的配置及参数定义,实现各个应用组件的TSN和DDS模块配置。

4da5ff22-77ea-11f0-9080-92fbcf53809c.png

图9 DDS-TSN原型示意图


2.4.评估指标设计


贯穿全文的是一个重点:DDS-TSN可实现确定性和可靠性端到端通信,故以可靠性和确定性时延两个指标来评估。


1.可靠性验证


对于需要有可靠性保证的Topic,在部署上会存在2个通路来进行数据传输,一个作为主运行通路,另一个作为备份。当主运行通路出现故障时,可通过CB协议自动切换至备份通路进行传输,保证其可靠性。作为对比,另一个实验无冗余通路作为备份。然后对比验证,两种情况下的数据是否能正常传输。


2.确定性时延验证


为了展示确定性传输的特性,需要使用Qbv协议对流进行保护。作为对比,另一个实验无Qbv作为保护。然后对比验证,两种情况下的数据是否能正常传输。


2.5.实验结果展示


针对上面2个指标的实验,可以得到如下图示结果:


4dbc4b10-77ea-11f0-9080-92fbcf53809c.png

图10 DDS-TSN原型对比验证可靠性结果示意图


在使用CB对关键的数据流进行备份后,其中一个通路断开不会对数据传输产生影响,而如果没有CB的保护,数据流使用的通路断开后将无法传输数据。


4dd9afb6-77ea-11f0-9080-92fbcf53809c.png

图11 DDS-TSN原型对比验证确定性时延结果示意图


对于没有Qbv保护的数据流会受到背景流量的影响,造成时延增加,而在Qbv保护下,背景流量不会影响主题数据的传输,能够确保主题数据传输在限定时间内完成。



4de6c890-77ea-11f0-9080-92fbcf53809c.png

总结


通过上述实现的精细配置,DDS-TSN能够将软件定义的数据分发能力与硬件级的时间确定性深度结合,为实时系统提供 “既快又准”的通信基座。这一技术组合,正在成为自动驾驶等领域的核心基础设施,重新定义实时系统的性能边界。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 车载网络
    +关注

    关注

    6

    文章

    170

    浏览量

    32598
  • DDS
    DDS
    +关注

    关注

    22

    文章

    676

    浏览量

    154763
  • TSN
    TSN
    +关注

    关注

    3

    文章

    272

    浏览量

    17492
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    PLC到底是什么呢?

    PLC到底是什么呢?
    发表于 10-10 09:30

    这是到底是什么元件?

    开关电源一个小贴片,在k2717前端。丝印MY还有133字样。这到底是什么元件?什么原理?
    发表于 05-26 15:06

    求助:这个到底是赋值的什么? 怎么实现dat的发送的?

    在iic总线里面的发送函数时,unsigned char i2csendbyte (unsigned char date){unsigned char a=0;for (a=0;a>7;dat=dat7;到底是赋值的什么?怎么实现dat的发送的?
    发表于 08-09 10:18

    请问CKFA到底是什么

    在其他网站看到CKFA,这个到底是什么啊?具体怎么用啊?希望能有比较详细的解释,谢谢!
    发表于 08-20 07:18

    请问OPC UA、TSN和传统工业以太网系统将在未来扮演什么角色?

    交互。TSN还能为OPC UA提供有保证的网络带宽,因而其鲁棒性会比目前所能实现的要更高。但是,pub/sub不是让OPC UA具备实时能力的唯一途径。业界也在努力开发一种针对DDS的OPC UA模型
    发表于 10-31 10:37

    这个到底是什么电路

    这个到底是积分电路还是滤波电路还是RC延时电路,我已经头晕了
    发表于 01-20 21:56

    如何实现支持未来工业标准的方案?

    TSN的实际优势到底是什么?现有协议该怎么办?如何实现支持未来工业标准的方案?TSN揭开工业应用新机遇
    发表于 01-05 07:49

    DSP到底是什么?DSP的要素是什么?

    DSP设计人员还是要知道到底DSP到底是什么?DSP的三要素是:性能、价格与功耗吗?
    发表于 03-05 06:23

    QPainter到底是什么?

    QPainter到底是什么?
    发表于 09-28 06:30

    STM32时钟树到底是什么?

    STM32时钟树到底是什么?
    发表于 11-11 06:22

    STM32固件库到底是什么?

    STM32固件库到底是什么?
    发表于 11-30 07:34

    RGB屏到底是什么?

    RGB屏到底是什么?
    发表于 02-14 07:18

    直播回顾与精选Q&A | 时间敏感网络TSNDDS的融合挑战

    1月10日晚20:00-21:00,虹科技术工程师罗工为大家分享了“时间敏感网络TSNDDS的融合挑战”,主要内容包括TSNDDS协议概述,以及
    的头像 发表于 01-13 15:36 ?2525次阅读
    直播回顾与精选Q&amp;amp;A | 时间敏感网络<b class='flag-5'>TSN</b>与<b class='flag-5'>DDS</b>的融合挑战

    单片机的“性能”到底是什么?

    单片机的“性能”到底是什么?
    的头像 发表于 10-24 16:58 ?964次阅读
    单片机的“性能”<b class='flag-5'>到底是</b>什么?

    TSNDDS测试解决方案

    北汇信息提供的TSN/DDS测试系统,测试工具链多样化:提供Vector、TSN Systems、Spirent、臻融科技全套测试解决方案,满足不同测试场景下的实际需求。
    的头像 发表于 05-10 09:29 ?1126次阅读
    <b class='flag-5'>TSN</b>和<b class='flag-5'>DDS</b>测试解决方案