一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【文章轉(zhuǎn)載】CANoe與DDS

北匯信息POLELINK ? 2023-01-13 09:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

DDS(Data Distribution Service)是OMG組織(Object Management Group)最早在2004年發(fā)布的分布式實(shí)時(shí)通信中間件標(biāo)準(zhǔn),旨在使用發(fā)布-訂閱模式實(shí)現(xiàn)可靠、高性能、互操作、實(shí)時(shí)、可擴(kuò)展的數(shù)據(jù)交換。

7efbe260-918f-11ed-ad0d-dac502259ad0.jpg

圖1:DDS軟件示例架構(gòu)圖

在汽車領(lǐng)域,Adaptive AUTOSAR于2018年引用DDS作為可選擇的通信方式之一。DDS的實(shí)時(shí)性恰好適合于自動駕駛系統(tǒng)。因?yàn)樵谶@類系統(tǒng)中,通常會存在感知、預(yù)測、決策和定位等模塊,這些模塊都需要非常頻繁地高速交換數(shù)據(jù)。借助DDS,可以很好地滿足這類系統(tǒng)的通信需求。憑借以數(shù)據(jù)為中心及豐富的QoS機(jī)制,DDS在汽車行業(yè)中逐漸受到青睞,汽車制造商及供應(yīng)商將DDS作為系統(tǒng)中可選的通訊中間件之一,從而增強(qiáng)其產(chǎn)品的功能特性及可靠性。

DDS具有以數(shù)據(jù)為中心、即插即用、豐富的QoS等特性,這意味著DDS在網(wǎng)絡(luò)傳輸中對各層級數(shù)據(jù)需要提供豐富且冗長的Header信息,方便通訊雙方識別所需內(nèi)容,因此對硬件及網(wǎng)絡(luò)中的傳輸和數(shù)據(jù)處理性能提出了較高要求。因此在未來,DDS、SOME/IP等SOA通信中間件與車載總線類似,在車內(nèi)將會是多種中間件長期共存的狀態(tài)。

DDS有諸多協(xié)議規(guī)范,其中最核心的2個(gè)規(guī)范是:DDS規(guī)范和DDSI-RTPS規(guī)范。DDS規(guī)范描述了分布式應(yīng)用通信和以數(shù)據(jù)為中心的發(fā)布-訂閱模型,定義了應(yīng)用接口(API)和通信語義,從而實(shí)現(xiàn)“在正確的時(shí)間向正確的地點(diǎn)有效可靠地傳遞正確的信息”。DDS規(guī)范提供了DDS核心概念在與平臺無關(guān)模型(PIM)中的抽象定義,以及相對于平臺專用模型(PSM)中的映射,從應(yīng)用開發(fā)者視角詮釋了DDS的核心定義。但是,單純依靠DDS規(guī)范使得各DDS中間件供應(yīng)商對于具體通信傳輸介質(zhì)、行為和數(shù)據(jù)包結(jié)構(gòu)有著自己的理解,若通信系統(tǒng)中各設(shè)備來自不同的DDS中間件供應(yīng)商,其互操作性可能會存在問題。

為解決這一問題,OMG隨后發(fā)布了DDSI-RTPS規(guī)范,對通信結(jié)構(gòu)、數(shù)據(jù)消息結(jié)構(gòu)、收發(fā)行為、服務(wù)發(fā)現(xiàn)進(jìn)行了定義,從而保證來自不同廠商的DDS中間件的互操作性。目前納入DDSI-RTPS規(guī)范中的底層通訊協(xié)議為UDP/IP。OMG組織目前暫未對DDS的測試規(guī)范進(jìn)行定義。

7f21735e-918f-11ed-ad0d-dac502259ad0.jpg

圖2:DDS數(shù)據(jù)交互簡化拓?fù)鋱D

DDS中重要概念:

>

Domain

連接所有能夠互相通信的應(yīng)用程序的分布式概念,只有在同一個(gè)Domain下的Publisher和Subscriber能夠互相通信,不同Domain的應(yīng)用程序不知道彼此的存在,Domain通過DomainID進(jìn)行區(qū)分。Domain中包含了DomainParticipant,后者代表了同一個(gè)Domain下參與通訊的應(yīng)用程序,同時(shí)也是Publisher、Subscriber、Topic的工廠。

>

Topic

Publisher和Subscriber互相通訊的數(shù)據(jù)本身,其名稱(Topic Name)在一個(gè)Domain中是唯一的。

>

DataWriter

基于綁定的Topic,由應(yīng)用程序發(fā)送數(shù)據(jù)的實(shí)體。1個(gè)DataWriter隸屬于1個(gè)Publisher,同時(shí)1個(gè)DataWriter對應(yīng)于1個(gè)Topic。

>

DataReader

可使應(yīng)用程序聲明期望的Topic數(shù)據(jù),以及訪問Subscriber收到的數(shù)據(jù)。1個(gè)DataReader隸屬于1個(gè)Subscriber,1個(gè)DataReader對應(yīng)1個(gè)Topic。

>

Publisher

負(fù)責(zé)發(fā)布實(shí)際Topic數(shù)據(jù)的實(shí)體,可以創(chuàng)建及配置多個(gè)DataWriter并綁定相應(yīng)若干Topic。

>

Subscriber

負(fù)責(zé)接收訂閱Topic數(shù)據(jù)的實(shí)體,可以創(chuàng)建及配置多個(gè)DataReader并綁定相應(yīng)若干Topic。

>

QoS

服務(wù)質(zhì)量(Quality of Service)是控制DDS服務(wù)的一系列特性。Topic、DataWriter、DataReader、Publisher、Subscriber以及DomainParticipant各實(shí)體均可配置其各自的QoS規(guī)則,這些QoS互相存在兼容性檢查。若通信雙方QoS不兼容,則無法建立通信。目前DDS v1.4版本規(guī)范定義了Durability、LiveLiness、Reliability、LifeSpan、History等QoS機(jī)制。

CANoe中開始支持DDS

隨著DDS開始在汽車電子領(lǐng)域的應(yīng)用,Vector應(yīng)客戶需求在CANoe 16 SP3版本中開始支持DDS的仿真、分析與測試。DDS的通訊模型基于CANoe中的Communication Concept(ComCo)實(shí)現(xiàn)。

基于CANoe建立DDS的仿真和解析工程環(huán)境,可以充分利用CANoe及其測試工具鏈現(xiàn)有的優(yōu)勢特性:

>

CANoe是汽車電子、IoT、航空航天等多領(lǐng)域仿真及測試的一站式整合平臺,支持CAN、CAN FD、CAN XL、LIN、FlexRay、SOME/IP、AUTOSAR PDU(CP/AP)、DoIP、CCP/XCP、NM網(wǎng)絡(luò)管理、UDS、Cyber Security(SecOC、TLS/DTLS、IPsec、MACsec等)、E2E、全球充電協(xié)議、MQTT、HTTP、WLAN、BLE等多種總線和協(xié)議;

>

采用用戶熟悉的CAPL、C#、Python語言實(shí)現(xiàn);

>

支持SIL/HIL、通信路由、網(wǎng)絡(luò)仿真、數(shù)據(jù)分析/記錄、診斷/刷寫、電源管理、I/O控制等多種場景;

>

極具性價(jià)比的測試設(shè)計(jì)及測試腳本開發(fā)環(huán)境——vTESTstudio;

>

無縫耦合整車動力學(xué)模型及ADAS場景仿真模型工具DYNA4,或基于FMI/FMU、FDX、XIL API、COM、SIL KIT整合第三方測試工具鏈;

>

匹配汽車電子敏捷開發(fā)流程的CI/CT工具鏈體系。

如何在CANoe中創(chuàng)建DDS仿真及解析工程?通過下圖新建Distributed Objects工程:

7f367254-918f-11ed-ad0d-dac502259ad0.png

圖3:新建CANoe DO工程

而后可在主界面中看到Communication Setup界面,該界面也可通過CANoe上方標(biāo)簽Simulation下打開。隨后依據(jù)下圖指引新建DDS通信接口描述文件vCDL:

7f439fc4-918f-11ed-ad0d-dac502259ad0.png

圖4:新建DDS通信接口描述文件

在選擇vCDL文件保存路徑及文件名后(注意路徑及文件名不能包含中文及特殊字符),依據(jù)下圖指引打開編輯:

7f502f64-918f-11ed-ad0d-dac502259ad0.png

圖5:編輯DDS通信接口描述文件

vCDL語言(Vector Communication Description Language)作為在CANoe Communication Concept中用于描述通信對象的語言,通過Distributed Objects(DO)對DDS的數(shù)據(jù)對象進(jìn)行定義。DO的consumed value對應(yīng)DDS DataReader;provided value對應(yīng)DDS DataWriter。

以下圖示例說明:

定義結(jié)構(gòu)體作為Topic Type(即HealthData);

在interface(即IMonitor)中將該結(jié)構(gòu)體作為consumed value(也可作為provided value)并進(jìn)行實(shí)例化(即healthData),從而隱式聲明DDS DataReader,另顯式聲明名為“/Monitor/healthData”的Topic;

最終對該interface(即IMonitor)分別實(shí)例化為Monitor和Sensor,作為Subscriber和Publisher;

其中Sensor的類型為reverse,代表依據(jù)IMonitor中的consumed value(即healthData)反向作為provided value。

7f5d90be-918f-11ed-ad0d-dac502259ad0.png

圖6:vCDL中對DDS的通信接口定義示例

vCDL DDS的結(jié)構(gòu)體中可以包含如下數(shù)據(jù)類型:uint或int(8、16、32、64bit),Bool,Double,F(xiàn)loat,String,Struct,Array,List,Bytes等,并在逐漸完善中。CANoe Help文檔中提供了DDS IDL數(shù)據(jù)類型與vCDL數(shù)據(jù)類型的詳細(xì)對應(yīng)關(guān)系。

當(dāng)前版本的vCDL中,可對consumed value(DDS DataReader)和provided value(DDS DataWriter)進(jìn)行QoS規(guī)則設(shè)置,包括:Reliability、History、Durability、Lifespan、Liveliness,更多的QoS規(guī)則會在CANoe后續(xù)版本中完善。

其他對于DDS Binding時(shí)的屬性配置可參考詳情:CANoe 16 SP3 Help文檔中的“Distributed Objects (DOs) for Data Distribution Service (DDS)”頁面專題。

當(dāng)完成DDS的通信接口描述文件創(chuàng)建后,CANoe會自動生成若干觀測事件及數(shù)據(jù)對象,包括DataWriter和DataReader的匹配/不匹配事件信息、服務(wù)發(fā)現(xiàn)信息、數(shù)據(jù)Sample信息、Built-in Topic信息等,以DO體現(xiàn)。

用戶可在“.. \Sample Configurations 16.3.110\Connectivity\DDS\DDSBasic”中了解DDS Demo示例工程。該工程運(yùn)行后,在Trace窗口可查看詳細(xì)的DDS仿真和解析數(shù)據(jù)內(nèi)容。

7f6995d0-918f-11ed-ad0d-dac502259ad0.png

圖7:CANoe中DDS工程運(yùn)行狀態(tài)

由于DDS協(xié)議簇范圍廣,存在較多用戶自定義實(shí)現(xiàn),除去當(dāng)前針對ECU仿真及測試需要的DDS功能支持外,也滿足ROS2集成的功能。更多DDS功能將在后續(xù)CANoe版本中完善。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2919

    瀏覽量

    467768
  • DDS
    DDS
    +關(guān)注

    關(guān)注

    22

    文章

    672

    瀏覽量

    154419
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    CANoe中ADAS功能集介紹

    高級駕駛輔助系統(tǒng)(ADAS)在汽車中的應(yīng)用日益增長,為了滿足工程師對于ADAS的分析、仿真和測試等功能的需求,CANoe從15.0版本開始提供ADASFeatureSet(ADAS功能集,簡稱AFS
    的頭像 發(fā)表于 07-10 14:55 ?489次閱讀
    <b class='flag-5'>CANoe</b>中ADAS功能集介紹

    CANoe產(chǎn)品體系19版本新特性及新增Option(上)

    新版本持續(xù)助力當(dāng)前車輛E/E架構(gòu)中ECU開發(fā)驗(yàn)證,同時(shí)賦能后續(xù)智能網(wǎng)聯(lián)電動車型預(yù)研驗(yàn)證。新版本CANoe產(chǎn)品體系新增數(shù)據(jù)驅(qū)動的DDS、車輛互聯(lián)服務(wù)和高效電機(jī)模型庫,進(jìn)一步支持CANXL
    的頭像 發(fā)表于 06-11 10:03 ?1294次閱讀
    <b class='flag-5'>CANoe</b>產(chǎn)品體系19版本新特性及新增Option(上)

    CANoe產(chǎn)品體系19版本新功能(下)

    NET 8.0現(xiàn)已支持測試腳本、應(yīng)用模型和仿真節(jié)點(diǎn)的開發(fā),支持C# 12,可使用async/await進(jìn)行等待,本機(jī)編譯實(shí)現(xiàn)快速加載,改進(jìn)應(yīng)用層對象的API實(shí)現(xiàn)處理復(fù)雜數(shù)據(jù)類型,并支持運(yùn)行在Linux版本CANoe SE中。
    的頭像 發(fā)表于 05-29 14:05 ?861次閱讀
    <b class='flag-5'>CANoe</b>產(chǎn)品體系19版本新功能(下)

    DAC使用DDS輸出,波形失真

    使用FPGA控制AD9142A,DAC采用DDS輸出正弦波,所有頻率,從1Hz到1MHz,都有這種現(xiàn)象,在示波器上采集有分段現(xiàn)象,每四段就有一個(gè)階躍,像臺階一樣,且總是和大體方向相反,在正弦波的值
    發(fā)表于 03-06 15:36

    CANoe仿真HTTP節(jié)點(diǎn)的實(shí)戰(zhàn)秘籍大公開

    在汽車電子系統(tǒng)測試中,CANoe作為主流的仿真測試工具,常需與云端服務(wù)器、第三方軟件或物聯(lián)網(wǎng)設(shè)備進(jìn)行交互。隨著CANoe與外部軟件、服務(wù)器或設(shè)備交互越來越多,直接使用Socket進(jìn)行通信往往不能滿足
    的頭像 發(fā)表于 03-05 10:04 ?559次閱讀
    <b class='flag-5'>CANoe</b>仿真HTTP節(jié)點(diǎn)的實(shí)戰(zhàn)秘籍大公開

    CANoe系列培訓(xùn)視頻,粉絲提問回答篇#CANoe

    CANoe
    北匯信息POLELINK
    發(fā)布于 :2025年03月03日 10:34:10

    DDS傳遞簇與大型數(shù)組的教程

    數(shù)據(jù)分發(fā)服務(wù)(Data Distribution Service,DDS)源于美軍的數(shù)據(jù)鏈,作為網(wǎng)絡(luò)數(shù)據(jù)通訊的核心技術(shù),能可靠實(shí)時(shí)地交換分配群體數(shù)據(jù),其傳輸能力比通常的戰(zhàn)術(shù)數(shù)據(jù)鏈高幾個(gè)數(shù)量級。DDS必須確保在極少的時(shí)間和不限制網(wǎng)絡(luò)中的報(bào)告數(shù)據(jù)容量的條件下,高度可靠地傳輸數(shù)
    的頭像 發(fā)表于 02-28 17:40 ?533次閱讀
    <b class='flag-5'>DDS</b>傳遞簇與大型數(shù)組的教程

    DDS通信中間件——DCPS規(guī)范(下)

    DDS通信中間件——DCPS規(guī)范(下)本期還是DCPS規(guī)范,填上期沒有聊完的QoS的坑。本系列文章將包括以下內(nèi)容陸續(xù)更新:1.DDS規(guī)范概述2.DCPS規(guī)范解讀3.DDS-XTypes與IDL解讀
    的頭像 發(fā)表于 11-27 11:47 ?1344次閱讀
    <b class='flag-5'>DDS</b>通信中間件——DCPS規(guī)范(下)

    Xilinx DDS IP核的使用和參數(shù)配置

    用RAM實(shí)現(xiàn)一個(gè)DDS,從原理上來說很簡單,在實(shí)際使用的時(shí)候,可能沒有直接使用官方提供的IP核來的方便。這個(gè)博客就記錄一下,最近使用到的這個(gè)DDS IP。
    的頭像 發(fā)表于 10-25 16:54 ?3905次閱讀
    Xilinx <b class='flag-5'>DDS</b> IP核的使用和參數(shù)配置

    dds數(shù)字頻率是怎么合成的 DDS數(shù)字頻率信號發(fā)生器的設(shè)計(jì)

    DDS(Direct Digital Synthesizer,直接數(shù)字頻率合成器)是一種廣泛應(yīng)用于現(xiàn)代電子系統(tǒng)的頻率合成技術(shù),它通過數(shù)字方式直接產(chǎn)生各種頻率的信號,具有高精度、高分辨率和快速頻率轉(zhuǎn)換
    的頭像 發(fā)表于 10-06 15:33 ?1717次閱讀

    dds輸出頻率與時(shí)鐘的關(guān)系

    DDS(Direct Digital Synthesizer,直接數(shù)字頻率合成器)技術(shù)是一種頻率合成方法,其輸出頻率與時(shí)鐘之間存在密切的關(guān)系。 一、DDS基本原理 DDS技術(shù)通過編程頻率控制字來分頻
    的頭像 發(fā)表于 10-06 15:27 ?2470次閱讀
    <b class='flag-5'>dds</b>輸出頻率與時(shí)鐘的關(guān)系

    DDS通信中間件——DCPS規(guī)范(上)

    DDS通信中間件——DCPS規(guī)范(上)本篇文章繼續(xù)和大家分享一下對DDS這套規(guī)范的理解。預(yù)期本系列文章將包括以下內(nèi)容陸續(xù)更新:1.DDS規(guī)范概述2.DCPS規(guī)范解讀3.DDS-XTyp
    的頭像 發(fā)表于 09-26 08:08 ?1638次閱讀
    <b class='flag-5'>DDS</b>通信中間件——DCPS規(guī)范(上)

    安科瑞導(dǎo)軌表DDS/DTS/DTZ的都有哪些功能?

    ?安科瑞導(dǎo)軌表DDS/DTS/DTZ具有多種功能,主要包括計(jì)量功能、顯示功能、參數(shù)設(shè)置功能、通訊功能以及電能脈沖輸出功能。?
    的頭像 發(fā)表于 09-07 10:40 ?624次閱讀
    安科瑞導(dǎo)軌表<b class='flag-5'>DDS</b>/DTS/DTZ的都有哪些功能?

    車載通信與DDS標(biāo)準(zhǔn)解讀系列(5):DDS-Security

    本文將從DDS系統(tǒng)安全風(fēng)險(xiǎn)分析切入,對系統(tǒng)的實(shí)現(xiàn)的認(rèn)證、訪問控制、加密環(huán)節(jié)等安全機(jī)制做介紹。
    的頭像 發(fā)表于 07-19 10:55 ?4547次閱讀
    車載通信與<b class='flag-5'>DDS</b>標(biāo)準(zhǔn)解讀系列(5):<b class='flag-5'>DDS</b>-Security