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

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

3天内不再提示

SOME/IP与DDS对比及DDS测试策略和方案探讨

北汇信息POLELINK 2022-08-04 14:52 次阅读

“中间件”是一个比较抽象和宽泛的概念,它并不特指一种具体的技术,其概念起源于复杂分布式软件系统的开发,其目的是实现软件组件之间进行数据交换,使软件组件之间实现解耦。这种数据交换通常是通过网络进行,而中间件的任务就是确保网络本身对软件组件是透明的。比如我们所熟知的SOME/IP就是一种典型的中间件技术实现。使用中间件能够简化系统的开发,提高管理和测试效率。

车载网络通信的中间件有其特殊之处。车载软件系统可能十分复杂,这些系统可能分布在一个ECU的不同模块里,或在同一个ECU模块的不同进程中,也可能分布在不同ECU中。这些不同的模块或不同的ECU可能使用不同的软件架构和操作系统,比如符合POSIX要求的类Unix操作系统(如Linux和QNX),Classic AUTOSAR系统,Adaptive AUTOSAR系统等,中间件在这些不同的系统之间起到了重要的桥梁作用。

SOME/IP是最早应用在汽车上的通信中间件,在2014年由宝马率先实现了量产。但是近年来汽车行业对中间件技术的探索并未停止,目前主要有两个方向。

一是对SOME/IP进行功能上的扩展,其主要的思路是给SOME/IP添加TLV(Type Length Value)支持,以实现更好的灵活性。我们知道SOME/IP的序列化采用了比较静态的定义方式,比如SOME/IP的Payload中的参数的类型,参数的顺序,字节序等,都是在配置文件中静态定义的,那么应用程序在使用这些类型时,必须要严格遵循配置文件中的定义去解析数据。所谓TLV,简单来说就是给每个参数添加一些附加的“标签信息,比如类型信息,长度信息,这样应用程序可以依赖这些“标签”信息动态解析参数。对TLV的支持将使软件系统进一步解耦,让应用程序以更灵活的方式使用SOME/IP。但是灵活性和高效率往往是鱼与熊掌不可兼得,引入TLV的缺点也是显著的,额外的“标签”信息将占用更多的Payload空间,这会降低带宽的利用率,对实时性有一定影响(尤其是对于资源有限的小型ECU)。

二是DDS(Data Distribution Service)。DDS是目前国防,航空等领域广泛应用的通信中间件技术,我们曾在往期文章中介绍过。DDS的核心规范有两个,分别是DDS specification,以及 DDSI-RTPS specification。DDS specification定义了DDS的应用程序接口和基本行为,DDSI-RTPS specification定义了DDS的传输实现,目的是实现不同DDS产品的互操作性。除此之外,DDS在2017年发布了DDS-RPC规范,使得DDS能够基于发布-订阅模型实现远程过程调用(RPC),满足SOA架构的需求。

DDS和SOME/IP是在不同的应用场景和不同的需求下诞生的技术,所以它们之间注定有很大的区别。DDS有着更丰富的特性,尤其是对QoS的支持。但是相对于SOME/IP,DDS也有显著的不足。首先,RTPS消息头部十分冗长,这会降低传输效率和实时性。另一方面,汽车作为一个相对封闭的系统,为了降低功耗,经常需要频繁的唤醒和休眠,这就要求系统有非常快的启动速度,而DDS并不是为这种场景设计的,DDS可能必须经过深入的优化才能满足严苛的时间要求。最后,DDS目前只能在Adaptive AUTOSAR框架下运行,Classic AUTOSAR目前并不支持,尽管有厂商使用复杂驱动(DDS)的方式在Classic AUTOSAR平台集成了DDS,但这并不是一种完美的解决方案。首先Classic AUTOSAR平台往往资源有限,同时又有严苛的实时性要求,在其之上运行DDS显得代价高昂;其次,通过复杂驱动意味着和硬件强相关,这会丧失软件的可移植性,对于DDS这种基础软件组件,厂商要付出更多的开发、测试和维护的成本,这实际上也不符合AUTOSAR的初衷。

尽管目前有一些技术问题需要解决,但不可否认的是,DDS依然前途光明,国内很多OEM已经将DDS作为了下一代电子电器架构的基础通信技术,甚至已经实现了量产。

DDS的测试策略和方案探讨

DDS协议一致性测试

DDS本质上一种传统的工业基础软件,用户购买了软件,然后在系统里每个节点上进行“安装”。所以我们可以看到很多商用的DDS软件产品,在其内部的测试流程中,有一个很重要的环节是“安装测试(Install tests)”,目的是验证DDS产品在常见平台的兼容性。而用户在集成了DDS之后并不会过多的对DDS产品本身进行验证,更侧重应用层测试。所以这就造成了目前DDS生态里缺少像TC8这种行业内标准化的测试规范,以及相应的测试工具。

车载电子电器系统的计算平台五花八门,不同OEM,不同车型平台,不同项目,其搭载的系统平台(包括芯片架构,操作系统等)可能都有不同,这些不同的平台相互的组合情况更难以计数。这种背景下,只依赖DDS产品供应商内部的“安装测试”似乎显得不足。

此外,正如上文所讨论,为了让DDS的功能和性能更符合车内通信的要求,用户需要对DDS产品进行定制裁剪和优化,尤其是针对非标准计算平台实现的DDS(如Classic AUTOSAR平台),在这个过程中用户需要对产品进行充分的测试,才能保证裁剪或优化后的软件仍然是可靠的。

不同DDS产品之间的互操作也是不可忽视的问题。OMG组织并不提供DDS软件实现,各厂商可以根据该标准实现自己的DDS。尽管DDS发布了DDSI-RTPS规范来保证不同DDS实现之间的互操作性,但是这里提到的“互操作性”,可能并没有经过充分的测试和验证。尽管软件开发者可能会在内部的产品测试阶段进行与其他产品的互操作测试,但是这很难覆盖DDS的所有功能特性,也很难覆盖目前市面上所有DDS产品的所有可能出现的组合。此外,DDS的软件实现经常与OMG规范产生偏离,比如DDS实现不支持某些OMG规范中的特性,或者DDS实现中增加了OMG规范中没有要求的额外的功能特性,这种情况可能也会引发互操作问题。基于这种考虑,用户根据实际情况对系统进行针对性的互操作测试也许是更好的选择。

为了满足这种需求,北汇信息正与合作伙伴开展DDS一致性测试测试包的开发工作,以实现DDS产品在特定平台下的功能特性一致性验证,具体包括:

▲API接口测试

▲DDS基本行为测试

▲QoS测试

▲DDS Discovery测试

▲X-Types测试

▲DDS-Security测试

▲互操作测试

▲性能测试

DDS配置测试

DDS一个很大的特点是支持“开箱即用”,即用户不需要对系统做任何特殊配置即可使用DDS,比如IP地址,端口号,DDS系统中每个Participant,DataReader和DataWriter的ID等等,所有的这一切都是由DDS/RTPS进行自动配置,动态的发现系统里的节点。用户只需要在IDL文件中定义自己的类型,就可以进行应用程序的开发,这对网络架构设计者和应用开发者都非常的友好。

为了满足不同系统对中间件功能和性能不同的需求,DDS也提供了多种方式允许用户对DDS的行为特性进行进一步调节,比如QoS配置,RTPS通信层面的配置等。如果说用户进行了这些配置工作,我们需要设计测试方案来验证这些配置的一致性。这一部分可基于Vector CANoe option Ethernet,通过编程和定制开发来实现。使用Vector提供的多种以太网接口卡,编写脚本进行RTPS消息的解析,并从中提取这些配置信息,验证其与用户配置规范的一致性。

pYYBAGLrYa-AI6YcAAGI5P4VPvU172.png

图1 DDS配置测试部分条目参考

poYBAGLrYcWANQNNAADk3q2iB6s421.png

图2 基于CANoe实现的DDS配置测试工程示例

DDS服务接口测试

服务接口测试的核心工作是服务请求的仿真,这意味着测试工具要集成DDS中间件,使其能够仿真客户端的行为。遗憾的是,截至此文撰写时,行业内尚无针对DDS服务测试的成熟的货架式工具。

北汇信息基于积累的工程经验,通过定制化开发,目前可提供多种服务仿真方案以完成DDS服务接口测试。比如利用CANoe的Socket或FDX接口,或其他测试框架(如Robot Framework和ECU TEST),开发“DDS适配器”,来完成服务的仿真和测试。

pYYBAGLrYeSAWkS6AABr3lD6rNE547.png

图3基于CANoe FDX实现的“DDS适配器”示意图

总结

随着软件定义汽车和车载以太网的快速发展,传统IT行业很多分布式系统技术也逐步的运用到汽车中,比如我们今天提到的中间件技术。然而引入这些不同的技术时,我们必须意识到,汽车除了是一个智能终端设备,它的本质属性是交通工具,在把汽车交付到消费者手中之前,厂商应进行充分的验证和测试,保证产品的质量。

本篇文章介绍了中间件的概念,以及SOME/IP,DDS等技术,结合北汇信息多年来在电子电器测试方面的经验,对DDS以及基于DDS的SOA系统的测试策略进行探讨,并简单介绍了北汇信息提供的测试方案,后续将给大家带来DDS一致性测试等内容的专题介绍。

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

    关注

    21

    文章

    631

    浏览量

    152538
收藏 人收藏

    评论

    相关推荐

    Xilinx DDS IP核的使用和参数配置

    用RAM实现一个DDS,从原理上来说很简单,在实际使用的时候,可能没有直接使用官方提供的IP核来的方便。这个博客就记录一下,最近使用到的这个DDS IP
    的头像 发表于 10-25 16:54 374次阅读
    Xilinx <b class='flag-5'>DDS</b> <b class='flag-5'>IP</b>核的使用和参数配置

    dds数字频率是怎么合成的 DDS数字频率信号发生器的设计

    DDS(Direct Digital Synthesizer,直接数字频率合成器)是一种广泛应用于现代电子系统的频率合成技术,它通过数字方式直接产生各种频率的信号,具有高精度、高分辨率和快速频率转换
    的头像 发表于 10-06 15:33 303次阅读

    dds输出频率与时钟的关系

    DDS(Direct Digital Synthesizer,直接数字频率合成器)技术是一种频率合成方法,其输出频率与时钟之间存在密切的关系。 一、DDS基本原理 DDS技术通过编程频率控制字来分频
    的头像 发表于 10-06 15:27 485次阅读
    <b class='flag-5'>dds</b>输出频率与时钟的关系

    DDS通信中间件——DCPS规范(上)

    DDS通信中间件——DCPS规范(上)本篇文章继续和大家分享一下对DDS这套规范的理解。预期本系列文章将包括以下内容陆续更新:1.DDS规范概述2.DCPS规范解读3.DDS-XTyp
    的头像 发表于 09-26 08:08 332次阅读
    <b class='flag-5'>DDS</b>通信中间件——DCPS规范(上)

    车载通信与DDS标准解读系列(5):DDS-Security

    本文将从DDS系统安全风险分析切入,对系统的实现的认证、访问控制、加密环节等安全机制做介绍。
    的头像 发表于 07-19 10:55 3878次阅读
    车载通信与<b class='flag-5'>DDS</b>标准解读系列(5):<b class='flag-5'>DDS</b>-Security

    让TSN DDS运转起来——面向智能汽车的以太网测试解决方案

    概述经纬恒润作为OPEN联盟和AUTOSAR联盟的核心成员,多年来持续为国内外各大OEM和供应商提供车载以太网相关的咨询服务,涵盖TCP/IPSOME/IPDDS、诊断、TSN等前
    的头像 发表于 06-25 16:02 1269次阅读
    让TSN <b class='flag-5'>DDS</b>运转起来——面向智能汽车的以太网<b class='flag-5'>测试</b>解决<b class='flag-5'>方案</b>

    时间同步对DDS实时性能的影响#DDS #TSN #时间敏感网络

    网络DDS
    北汇信息POLELINK
    发布于 :2024年05月30日 10:38:03

    直接数字频率合成(DDS)技术的原理及优势

    直接数字频率合成( DDS)是一种利用数字技术生成模拟信号的技术,广泛应用于电子测试设备、无线通信、数字信号处理等领域。
    的头像 发表于 05-23 18:01 2887次阅读

    DDS重要特性之--以数据为中心#DDS

    数据中心DDS
    北汇信息POLELINK
    发布于 :2024年05月20日 18:18:28

    TSN和DDS测试解决方案

    北汇信息提供的TSN/DDS测试系统,测试工具链多样化:提供Vector、TSN Systems、Spirent、臻融科技全套测试解决方案
    的头像 发表于 05-10 09:29 526次阅读
    TSN和<b class='flag-5'>DDS</b><b class='flag-5'>测试</b>解决<b class='flag-5'>方案</b>

    DDS协议测试实践及问题分析

    在上一篇文章中,我们对DDS协议测试策略、方法和工具进行了详细的介绍。本文旨在进一步探讨如何利用这些方法和工具搭建实际的测试环境,并执行
    的头像 发表于 04-12 08:26 548次阅读
    <b class='flag-5'>DDS</b>协议<b class='flag-5'>测试</b>实践及问题分析

    什么是DDS?车载以太网—DDS篇详解

    DDS是一系列标准,它指定了分布式应用程序可用于交换实时数据的API、协议和安全机制。
    的头像 发表于 01-09 18:23 3838次阅读
    什么是<b class='flag-5'>DDS</b>?车载以太网—<b class='flag-5'>DDS</b>篇详解

    如何确定DDS输出信号频谱中的杂散源

    直接数据频率合成器(DDS)因能产生频率捷变且残留相位噪声性能卓越而著称。另外,多数用户都很清楚DDS输出频谱中存在的杂散噪声,比如相位截断杂散以及与相位-幅度转换过程相关的杂散等。此类杂散是实际
    发表于 12-15 07:38

    什么是DDS?初识CP AUTOSAR平台下的DDS规范

    数据分发服务(DDS)[1]是一个来自对象管理组(OMG)的中间件协议和API标准。它将系统的组件集成在一起,提供低延迟的数据连接,极高的可靠性,和可扩展的架构。
    的头像 发表于 12-05 18:18 3674次阅读
    什么是<b class='flag-5'>DDS</b>?初识CP AUTOSAR平台下的<b class='flag-5'>DDS</b>规范

    DDS常见问题解答 DDS没有输出怎么办?

    直接数字式频率综合器 DDS(Direct Digital Synthesizer),实际上是一种分频器:通过编程频率控制字来分频系统时钟(SYSTEM CLOCK)以产生所需要的频率。DDS
    发表于 11-28 15:07 1次下载
    <b class='flag-5'>DDS</b>常见问题解答 <b class='flag-5'>DDS</b>没有输出怎么办?