隨著軟件定義汽車的快速發(fā)展,車內(nèi)軟件系統(tǒng)越來越復(fù)雜和龐大。為了支撐分布式軟件系統(tǒng)各個(gè)組件間更高效、更靈活地進(jìn)行數(shù)據(jù)交互,行業(yè)在系統(tǒng)中引入了中間件的概念。中間件并不特指某種具體的技術(shù),可以理解為處于操作系統(tǒng)和應(yīng)用程序之間的一個(gè)軟件中間層,將操作系統(tǒng)的功能進(jìn)行重新組織和抽象,為上層的應(yīng)用程序提供更高級(jí)的服務(wù)或功能,比如滿足SOA架構(gòu)需求的遠(yuǎn)程過程調(diào)用(RPC)框架,發(fā)布訂閱通信框架等。我們熟悉的中間件技術(shù)有SOME/IP,是車載系統(tǒng)中最早實(shí)現(xiàn)量產(chǎn)的SOA中間件技術(shù)。除此之外,還有很多來自其他行業(yè)的成熟的中間件技術(shù)也逐漸進(jìn)入了車內(nèi)系統(tǒng),其中最引人注目莫過于DDS。
1?
DDS介紹
領(lǐng)域廣泛應(yīng)用的技術(shù)。DDS定義應(yīng)用接口(API)和通信語義(行為和服務(wù)質(zhì)量QoS),目的是實(shí)現(xiàn)“在正確的時(shí)間向正確的地點(diǎn)傳遞正確的信息”(Information to the Right Place at the Right Time”)。
DDS中間件是一個(gè)軟件中間層,將操作系統(tǒng)、網(wǎng)絡(luò)傳輸和低級(jí)數(shù)據(jù)格式的細(xì)節(jié)抽象出來,以統(tǒng)一的API提供給應(yīng)用程序,使得應(yīng)用程序的開發(fā)者不必關(guān)注底層細(xì)節(jié),可以專注于應(yīng)用程序本身的實(shí)現(xiàn),同時(shí)又實(shí)現(xiàn)了良好的應(yīng)用可移植性,極大地提高了效率。同時(shí),DDS對(duì)QoS的支持使得DDS通過簡單配置即可滿足不同場景下對(duì)通信的不同需求,這也是DDS最重要的特性之一。靈活的服務(wù)質(zhì)量可以使DDS智能發(fā)送參與者所需要的東西,并為其提供可靠性。同時(shí)DDS支持動(dòng)態(tài)發(fā)現(xiàn),即參與通信的節(jié)點(diǎn)可以動(dòng)態(tài)地發(fā)現(xiàn)彼此,自動(dòng)完成匹配,極大地簡化了網(wǎng)絡(luò)配置工作。
2?
CANape對(duì)DDS的支持
CANape是測量標(biāo)定領(lǐng)域的專業(yè)軟件,在最新發(fā)布的CANape 20.0版本中增加了對(duì)用戶定制DDS數(shù)據(jù)的測量記錄的支持。
> DHPR概念
在自動(dòng)駕駛領(lǐng)域,隨著各式傳感器和計(jì)算單元的性能越來越強(qiáng),其產(chǎn)生的數(shù)據(jù)量也呈指數(shù)式上升,對(duì)測量和記錄工具提出了更高的性能要求。CANape提供高性能的XCP-on-Ethernet采集方案,允許多上位機(jī)同步記錄各種數(shù)量源(視頻、雷達(dá)等)。同時(shí)CANape增加了對(duì)DHPR(Distributed High-Performance Recording)服務(wù)的支持,這是一種專門設(shè)計(jì)的記錄模塊,可以均衡上位機(jī)CPU和硬盤負(fù)荷,滿足更高的性能需求。DHPR可以與CANape在同一臺(tái)PC運(yùn)行,也可以分布在不同的系統(tǒng)上。CANape可以同時(shí)處理多個(gè)不同系統(tǒng)的DHPR,從而實(shí)現(xiàn)一次記錄更多的數(shù)據(jù)。未來測量大量數(shù)據(jù)的CANape設(shè)備也逐步實(shí)現(xiàn)為DHPR設(shè)備。
> 基于DHPR的DDS采集
CANape支持基于DHPR的DDS采集。標(biāo)準(zhǔn)的DHPR基于TCP/UDP進(jìn)行,采用自定義的Protocol Decoder解析傳輸數(shù)據(jù)及目標(biāo)信號(hào)等。針對(duì)DDS基于發(fā)布訂閱模式進(jìn)行數(shù)據(jù)交互的特性,CANape為其集成了特殊的DHPR,能夠作為訂閱者參與數(shù)據(jù)交互,采集記錄DDS數(shù)據(jù)。

圖1: DHPR Concept
DDS Decoder融合數(shù)據(jù)庫格式轉(zhuǎn)換、圖像顯示以及視頻存儲(chǔ)功能,可以實(shí)現(xiàn)OMG IDL到A2L(CANape應(yīng)用)的數(shù)據(jù)庫格式轉(zhuǎn)換,將CDR-Object序列化后直接在CANape窗口進(jìn)行在線顯示,DDS數(shù)據(jù)可以存儲(chǔ)到MF4文件。

圖2: DDS Decoder架構(gòu)
>以ADAS ECU采集DDS為例,采集記錄流程(圖3)如下:
啟動(dòng)DDS DHPR測量,執(zhí)行服務(wù)發(fā)現(xiàn),訂閱Topic;
ADAS ECU發(fā)布DDS Data Sample;
DDS DHPR將采集到的DDS Data Sample傳遞到Protocol Decoder模塊;
Protocol Decoder模塊將其解碼為CANape可以處理的對(duì)象,進(jìn)行解析顯示。

圖3: DDS采集流程
> DDS采集設(shè)置
Device Settings:可以配置ECU的接口參數(shù)信息,導(dǎo)入Topic配置文件以及數(shù)據(jù)采集過程的Log信息等。

圖4: Device設(shè)置
QoS配置:可以從Reliability/History/
Durability/Liveliness四個(gè)方面設(shè)置Qos參數(shù)。

圖5: QoS設(shè)置
3?
Future
在ADAS域控領(lǐng)域,高性能處理器帶來了中央化、集成化的應(yīng)用場景,同時(shí)帶來了大量的數(shù)據(jù)。大帶寬數(shù)據(jù)接口如1Gb/10Gb ETH使得大數(shù)據(jù)采集成為可能。Vector致力于這種極具挑戰(zhàn)的應(yīng)用場景的開發(fā)工具鏈的開發(fā)與應(yīng)用,提供包括并不限于大數(shù)據(jù)采集、記錄、分析與回灌的軟硬件一站式解決方案。
-
CAN
+關(guān)注
關(guān)注
59文章
3097瀏覽量
473610 -
DDS
+關(guān)注
關(guān)注
22文章
688瀏覽量
156943
發(fā)布評(píng)論請(qǐng)先 登錄
簡單認(rèn)識(shí)Vector CANape Kernel軟件平臺(tái)
AD9958:高性能2通道DDS芯片的深度剖析
AD9953:高性能直接數(shù)字合成器的探秘與應(yīng)用
AD9851:高性能CMOS 180 MHz DDS/DAC合成器的深度解析
深入解析AD9850:一款高性能DDS合成器
AD9838:低功耗高性能DDS芯片的深度解析
如何使用 powerquad 加速器中的一些功能以及 CMSIS 原始實(shí)現(xiàn)中的一些功能?
CANape因電腦存儲(chǔ)空間不足無法啟動(dòng)測量
CANape報(bào)錯(cuò)無法啟動(dòng)測量
CANape的CASL工具箱
數(shù)據(jù)全復(fù)用高性能池化層設(shè)計(jì)思路分享
蜂鳥E203的浮點(diǎn)指令集F的一些實(shí)現(xiàn)細(xì)節(jié)
Vivado浮點(diǎn)數(shù)IP核的一些設(shè)置注意點(diǎn)
【文章轉(zhuǎn)載】CANape高性能數(shù)據(jù)記錄與DDS的一些事兒
評(píng)論