您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 
 订阅
在AP AUTOSAR使用DDS
 
 
   次浏览      
2021-5-28 
 
编辑推荐:
本文介绍DDS在AP AUTOSAR的集成和使用,目的在于解析在AP AUTOSAR中使用DDS通讯协议。
本文来自于微信公众号 汽车电子与软件,由火龙果软件Linda编辑、推荐。

前 言:

DDS作为一个在国防,航天,工控等安全性要求非常高的行业非常成熟的实时分布式通讯协议。个人一直认为其应该是在汽车行业能够有大规模的应用,特别是在以太网为主的EE架构下。

我想通过本文介绍DDS在AP AUTOSAR的集成和使用。至少,这绝对是SOME/IP的最好替换品。另外,网上讲在AUTOSAR中使用SOME/IP通讯协议比较常见。本文目的在于解析在AP AUTOSAR中使用DDS通讯协议。

注意

阅读本文需要对DDS和AP AUTOSAR ara::com (Communication Management)有基本的了解。这里只附带了最基本的DDS和ara::com简介方便理解本文。

背景知识

DDS是一个以数据为中心的通讯中间件。

以数据中心的模型 (来源:www.dds-foundation.org)

DDS将分布式网络中传输的数据定义为主题(Topic),将数据的产生和接收对象分别定义为发布者(Publisher)和订阅者(Subscriber),从而构成数据的发布/订阅传输模型。各个节点在逻辑上无主从关系,点与点之间都是对等关系,通信方式可以是点对点、点对多、多对多等,在QoS的控制下建立连接,自动发现和配置网络参数。

DDS和SOME/IP比较

和DDS类似,SOME/IP的协议栈也能算做通讯中间件。在AUTOSAR分层架构中的位置也一样,在Network Binding之下,网络协议栈之上。

SOME/IP只用在汽车行业,而DDS已经在其他对通讯的实时性,QoS质量要求的高的行业也有大规模应用。

SOME/IP的几种通讯方式(Dr. Lars Völker, BMW Group, Communication Protocols for Ethernet in the vehicle)

可以看出的是,SOME/IP主要还是请求/应答Request/Response的通讯方式。Fire&Forget可以算做一种特殊请求方式,不需要应答。Event和DDS的Topic比较接近,一般用来支持Pub/Sub的通讯方式。Field算是在Event的功能基础上:支持某一事件触发后,对订阅方Subscriber的通知。同时,又支持Getter/Setter的两种调用方式。我们从面向对象编程OOP这个角度来理解,这里一个Service比较像一个类,一个Field算做一个类成员。

SOME/IP这个模型很大程度上直接沿用到COM的服务接口当中。

DDS在AP AUTOSAR架构中的位置

如果套用AUTOSAR分层架构,使用DDS对应用层是透明的。ara::com抽象了DDS的技术细节。通过不同的network binding连接到DDS协议栈。因此,DDS属于和SOME/IP同一个层面。

DDS在AUTOSAR分层架构中的位置

DDS在AP AUTOSAR的集成

首先AP AUTOSAR一个App端,无论是服务提供方还是服务消费方,我们都可以把他理解为DomainParticipant。

AUTOSAR应用对应于DDS DomainParticipant

用DDS实现服务发现ServiceDiscovery

为了实现服务发现,解决方案为在服务提供方的QoS策略里使用USER_DATA这项定义服务的地址。地址的格式非常清晰:由Service ID和Service Instance ID组成。

回到上次Radar那个案例:

Radar的Service ID

Service Instance ID

对于DDS的配置,那么在Radar侧的服务接口,需要定义

USER_DATA:ara_com://99_19

在系统运行时, 服务提供方Radar调用OfferService()生成上面提到的USER_DATA。服务消费方fusion调用FindService() and StartFindService()这样就能寻找到对应的服务了。

DDS实现服务发现

用DDS实现Events, Methods, and Fields

实现Event的过程实际是把一个Topic和一个Event建立对应关系。

DDS实现Event

实现Method用到的是DDS-RPC。本质上讲,也是把一个Method拆开为两个不同方向的Topic。

DDS实现Method

前面我们提过,Field是在具有Event的功能基础上,附加两个Getter和Setter Methods。那这里不多解释,直接上图。

DDS实现Fields

总结

DDS已经能够比较好的集成在AUTOSAR环境里的。目前重要的应用场景为一套AP AUTOSAR的环境能直接和其他基于DDS的自动驾驶框架实现信息互通。

 

 
   
次浏览       
相关文章

中央计算的软件定义汽车架构设计
汽车电子控制系统中的软件开发过程
一文读懂汽车芯片-有线通信芯片
OTA在汽车上有哪些难点痛点?
相关文档

汽车设计-汽车的整体结构及动力系统
自动驾驶汽车软件计算框架
SysML在汽车领域的应用实践
电子电气架构-大陆汽车系统架构平台
相关课程

AutoSAR原理与实践
功能安全管理体系(基于ISO26262)
MBSE(基于模型的系统工程)
基于SOA的汽车电子架构设计与开发

最新活动计划
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
LLM大模型应用与项目构建 12-26[特惠]
UML和EA进行系统分析设计 12-20[线上]
数据建模方法与工具 12-3[北京]
SysML建模专家 1-16[北京]
 
 
最新文章
在EA中内嵌文档- Artifact
EA中模型视图
EA中的实体关系图
使用EA进行风险建模
EA中的项目词汇表
EA的模型导出或导入csv文件
自定义表格(Custom Table)在EA中的使用
Gap Analysis Matrix(差距分析矩阵)
更多...   
MBSE工具
MBSE平台
建模工具 EA
模型库-Model Center
需求管理-ReqManager
自动建模-Modeler
多级仿真-Sys Simulator
代码工程-Code Engineer
文档生成器-DocGenerator
更多...   
成功案例
广汽研究院 SysML+EA+软件分析设计
高合汽车研发部门 建模工具EA、WebEA、学习视频
国汽智联 建模工具EA、模型库、WebEA和iSpace
亿咖通 MBSE工程体系与工具链咨询
中航无人机 MBSE工具链
吉利汽车 购买EA工具
华科汽车零部件 购买EA工具
东风岚图汽车 购买EA工具 以及EA定制开发
更多...