DDS技术概述及测试策略与方案
技术干货 2024.03.08

随着车载通信技术的快速发展,传统的通信技术在满足车载通信需求方面面临着一些挑战。车载通信对实时性、可靠性以及通信带宽的需求越来越高,同时车载通信环境存在多路径衰落、信号干扰等问题,这些都给通信技术的选择和应用带来了一定的挑战。因此,开发一种适用于车载通信的高效可靠的通信技术变得尤为重要。DDS(Data Distribution Service)技术作为一种新兴的通信技术,正在逐渐应用于车载通信领域。

目前DDS在汽车领域主要应用于智能交通指挥系统、汽车自动驾驶及智能座舱系统中的数据传输等,此外DDS技术能够使车辆与其他设备和云平台无缝连接,提供更智能化的车辆服务和管理。DDS中间件可实现车辆应用软件与基础软硬件的解耦,同时可以为车上各功能提供差异化的、具有特定服务质量要求的数据传输,并可实现对资源的合理调度。


DDS技术概述

DDS定义

数据分发服务(Data Distribution Service,DDS),是OMG在2004年发布的一个以数据为中心的中间件协议和应用程序接口(API)标准,基于发布-订阅的通信方式为实时分布系统提供了低延迟、高可靠性、可扩展性的通信架构标准。其位于操作系统和应用程序之间,也是一种通信中间件。DDS通信协议规范是由OMG发布和维护的,核心标准包括以下4部分:

  1. 以数据为中心的发布订阅DCPS(Data-Centric Publish-Subscribe)模型

  2. DDS实时发布订阅RTPS(Real-Time Publish/Subscribe)协议

  3. DDS类型和数据序列化方法

  4. DDS安全模型

除了核心协议之外,扩展标准中还包括DDS-RPC协议、IDL标准等,DDS各标准在OSI核心架构中的标准如下图所示。


DDS技术概述及测试策略与方案(图1)


其中DCPS模型和RTPS协议为核心中的基础。DDS技术的核心原理包括:主题与数据元的映射、数据序列化与反序列化、QoS(Quality of Service)配置、数据过滤、负载均衡和网络穿透等。这些原理共同保证了DDS在实时性、可靠性和灵活性上的优势,下面简单介绍DCPS模型、RTPS模型以及QoS策略。


DCPS模型

DCPS模型是一种数据分发服务模型,它是一种基于发布-订阅机制的通信模式。在这个模型中,数据发布者将数据发布到全局数据空间,而数据订阅者则通过从全局数据空间中接收数据,下图中展示了它们之间的逻辑关系:

DDS技术概述及测试策略与方案(图2)


数据发布-订阅机制主要涉及主题的定义、数据发布以及数据订阅。Topic是发布和订阅应用程序间互动的基本方法,DataReader和DataWriter通过Topic进行关联。应用程序通过发布者发布数据后,由DataWriter向相对应的Topic进行数据写入。当应用程序想要获得某个Topic的数据时,就通过相应Topic的DataReader获取接收到的数据。

RTPS

RTPS是一种用于实时通信的传输协议,它是DDS技术的一部分。RTPS层位于DCPS层与传输层之间,每个DDS实体都对应RTPS实体,并通过历史缓存区进行沟通。RTPS规范中定义了消息格式以及不同场景下的消息交互方式,统一了DDS的传输层标准,使得不同厂家的DDS实现互操作。RTPS还支持控制消息,如心跳、确认、样本丢失通知等,以维护通信的稳定性和可靠性。

QoS

在DDS系统中,QoS是用来描述通信质量的指标,可以对数据交换进行约束和控制。QoS机制主要包括数据的可靠性、实时性、带宽限制、优先级、持久性和安全性等方面。用户根据应用程序的需求,对不同的数据流进行不同的QoS设置,以满足所需的性能指标。例如,对于需要速传输的数据,可以设置较高的传输优先级和带宽限制,以保证数据的实时性和稳定性。每个DCPS实体,包括Topic、Publisher、Subscriber、DataWriter、DataReader等,都能够独立配置相应的QoS策略,下面的表格中简单介绍了几个常见的QoS策略。


DDS技术概述及测试策略与方案(图3)


DDS测试策略与方案

DDS与SOME/IP是现阶段在车载领域最常见的两种通信中间件,两者具有中间件的一些共同特性:都是面向服务的通信协议,都采用以“数据为中心”的发布订阅模式。但毕竟两者是基于不同的应用需求及场景下诞生的中间件技术,因此它们在灵活性、服务策略、传输方式、序列化、安全机制、资源需求、实现方式等方面必定是有很大差异的。

结合两者在实现及功能上的共同点(通信中间件),不难看出针对DDS测试也需与SOME/IP一样进行协议一致性、互操作、稳定性、可靠性等测试验证来保证DDS协议栈基础功能的有效性及完整性,且可采取相同的策略来实现测试。

因DDS在资源需求、序列化、Qos、安全方面具有一定的原生特性,往往在DDS部署集成时需对其进行优化裁剪以适配车载通信的功能及性能的需求,这就要求必须针对这部分内容设计相应的测试方案并进行充分的测试以保证功能的有效性及完整性。

在车内通信网络中,目前及以后很长一段时间必定是以太网(DDS、SOME/IP、DoIP、TCP/IP等)及传统通信(CAN、CAN FD、LIN等)并存的局面,伴随着就会有不同通信方式、协议路由转换的场景,因此针对DDS与其他协议之间路由转换、S2S的测试验证也是必须执行的。

怿星科技基于DDS相关实现标准以及在车载通信应用上的具体实现,并结合以往测试经验,梳理开发出一套DDS协议规范,以实现DDS中间在车载通信应用下的功能及性能特性的全覆盖度测试验证。

DDS技术概述及测试策略与方案(图4)

且为了满足以上测试需求,怿星科技自研开发了一套DDS协议测试解决方案,该测试解决方案中全自动化测试软件:SmartDDS完全基于Python平台开发,同时设计开发测试中间件DIT以实现对ECU的DDS协议测试行为的观测及触发特性。


DDS技术概述及测试策略与方案(图5)


本篇文章介绍了怿星科技对DDS协议技术及应用、DDS测试内容、测试策略&方案的理解进行了一些初步分析,后续将会针对测试内容以及测试方案实现的细节进行一系列专题介绍,同时怿星基于该方案及丰富的工程经验,可支持客户对DDS协议应用仿真及测试需求的定制化开发。欢迎行业内对DDS协议及测试有兴趣&需求的专家与我们交流。