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
    +关注

    关注

    22

    文章

    683

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    DDS39RFS10 产品技术文档总结

    DDS39RF10 和 'RFS10 是一系列双通道和单通道直接数字合成器,具有 16 位分辨率的数模转换器 (DAC)。高采样率、输出频率范围、64 位 NCO 频率分辨率和任何具有相位相干性的跳频使该器件能够进行任意波形生成 (AWG) 和直接数字合成 (DDS
    的头像 发表于 10-24 10:56 499次阅读
    <b class='flag-5'>DDS</b>39RFS10 产品技术文档总结

    DDS39RF12 与 DDS39RFS12 产品技术文档总结

    DDS39RF12 和 'RFS12 是一系列双通道和单通道直接数字合成器,具有 16 位分辨率的数模转换器 (DAC)。高采样率、输出频率范围、64 位 NCO 频率分辨率和任何具有相位相干性的跳频使该器件能够进行任意波形生成 (AWG) 和直接数字合成 (DDS
    的头像 发表于 10-24 10:50 548次阅读
    <b class='flag-5'>DDS</b>39RF12 与 <b class='flag-5'>DDS</b>39RFS12 产品技术文档总结

    DDS39RF10产品技术文档总结

    DDS39RF10 和 'RFS10 是一系列双通道和单通道直接数字合成器,具有 16 位分辨率的数模转换器 (DAC)。高采样率、输出频率范围、64 位 NCO 频率分辨率和任何具有相位相干性的跳频使该器件能够进行任意波形生成 (AWG) 和直接数字合成 (DDS
    的头像 发表于 10-24 10:45 474次阅读
    <b class='flag-5'>DDS</b>39RF10产品技术文档总结

    普源信号发生器DG5000直接数字合成(DDS

    在电子测试与测量领域,信号发生器的核心技术决定了输出信号的精度与稳定性。普源精电DG5000系列函数/任意波形发生器采用先进的直接数字合成(DDS)架构,通过数字化手段实现高精度信号生成,为用户提供
    的头像 发表于 10-17 11:27 242次阅读
    普源信号发生器DG5000直接数字合成(<b class='flag-5'>DDS</b>)

    诊断路由功能及测试方案介绍

    随着车内通信技术(如OTA、SOME/IPDDS)的快速发展,网关作为整车网络的核心枢纽,其路由能力至关重要。OTA升级对网关的诊断路由性能提出了更高要求;而SOME/
    的头像 发表于 09-24 10:04 3102次阅读
    诊断路由功能及<b class='flag-5'>测试</b><b class='flag-5'>方案</b>介绍

    STM32H743 移植 Micro-XRCE-DDS 时,在调用 gethostbyname() 时出现异常怎么解决?

    packagesMicro-XRCE-DDS-Client-latestsrccprofiletransportipudpudp_transport_external.c uxr_init_udp_platform() 函数调用 host = (struct hostent
    发表于 09-22 06:54

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

    概述1.1TSN与DDS的独立优势与局限随着智能网联汽车和车载网络架构的不断迭代,车载网络对实时性、确定性和高效数据分发的需求日益严苛。TSN和DDS的结合为车载以太网提供了确定性实时通信(TSN
    的头像 发表于 08-13 10:07 5438次阅读
    <b class='flag-5'>DDS</b>-TSN 到底是如何实现的?

    深度解析DDS模式:与传统AWG相比有何优势与局限?

    本期探讨了传统的任意波形发生器(AWG)模式,介绍了直接数字频率合成(DDS)模式,并对两者进行了比较分析。
    的头像 发表于 08-12 16:35 553次阅读

    服务与数据的双螺旋:从SOME/IPDDS看汽车电子架构的进化之路

    底层通信技术的演进始终是由应用需求的不断变化所驱动的。正如“进化论”所强调的,“适者生存”才是核心:并不存在放之四海而皆准的“最优”技术,只有在特定场景下最合适的解决方案。对于SOME/IP
    的头像 发表于 05-23 10:56 1629次阅读
    服务与数据的双螺旋:从<b class='flag-5'>SOME</b>/<b class='flag-5'>IP</b>到<b class='flag-5'>DDS</b>看汽车电子架构的进化之路

    《聊一聊ZXDoc》之汽车服务导向SOME/IP

    ZXDoc支持SOME/IP功能,通过服务导向架构实现跨域通信标准化,降低系统耦合,支持动态服务发现与调用,提升分布式系统扩展性和维护效率。什么是SOME/IP
    的头像 发表于 04-30 18:23 1454次阅读
    《聊一聊ZXDoc》之汽车服务导向<b class='flag-5'>SOME</b>/<b class='flag-5'>IP</b>

    AWG全新DDS固件如何提升量子计算机的开发效率?

    凯泽斯劳滕理工大学通过引入先进的德思特任意波形发生器(AWG)新DDS固件选件,显著加速了量子计算机的开发进程。德思特带您了解AWG全新DDS固件如何提升量子计算机的开发效率。
    的头像 发表于 03-21 16:50 582次阅读
    AWG全新<b class='flag-5'>DDS</b>固件如何提升量子计算机的开发效率?

    DAC使用DDS输出,波形失真

    使用FPGA控制AD9142A,DAC采用DDS输出正弦波,所有频率,从1Hz到1MHz,都有这种现象,在示波器上采集有分段现象,每四段就有一个阶跃,像台阶一样,且总是和大体方向相反,在正弦波的值
    发表于 03-06 15:36

    DDS传递簇与大型数组的教程

    数据分发服务(Data Distribution Service,DDS)源于美军的数据链,作为网络数据通讯的核心技术,能可靠实时地交换分配群体数据,其传输能力比通常的战术数据链高几个数量级。DDS必须确保在极少的时间和不限制网络中的报告数据容量的条件下,高度可靠地传输数
    的头像 发表于 02-28 17:40 918次阅读
    <b class='flag-5'>DDS</b>传递簇与大型数组的教程

    AN-953: 具可编程模数的直接数字频率合成器(DDS)

    电子发烧友网站提供《AN-953: 具可编程模数的直接数字频率合成器(DDS).pdf》资料免费下载
    发表于 01-13 14:13 0次下载
    AN-953: 具可编程模数的直接数字频率合成器(<b class='flag-5'>DDS</b>)