隨著軟件定義汽車的快速發展,車內軟件系統越來越復雜和龐大。為了支撐分布式軟件系統各個組件間更高效、更靈活地進行數據交互,行業在系統中引入了中間件的概念。中間件并不特指某種具體的技術,可以理解為處于操作系統和應用程序之間的一個軟件中間層,將操作系統的功能進行重新組織和抽象,為上層的應用程序提供更高級的服務或功能,比如滿足SOA架構需求的遠程過程調用(RPC)框架,發布訂閱通信框架等。我們熟悉的中間件技術有SOME/IP,是車載系統中最早實現量產的SOA中間件技術。除此之外,還有很多來自其他行業的成熟的中間件技術也逐漸進入了車內系統,其中最引人注目莫過于DDS。
1?
DDS介紹
領域廣泛應用的技術。DDS定義應用接口(API)和通信語義(行為和服務質量QoS),目的是實現“在正確的時間向正確的地點傳遞正確的信息”(Information to the Right Place at the Right Time”)。
DDS中間件是一個軟件中間層,將操作系統、網絡傳輸和低級數據格式的細節抽象出來,以統一的API提供給應用程序,使得應用程序的開發者不必關注底層細節,可以專注于應用程序本身的實現,同時又實現了良好的應用可移植性,極大地提高了效率。同時,DDS對QoS的支持使得DDS通過簡單配置即可滿足不同場景下對通信的不同需求,這也是DDS最重要的特性之一。靈活的服務質量可以使DDS智能發送參與者所需要的東西,并為其提供可靠性。同時DDS支持動態發現,即參與通信的節點可以動態地發現彼此,自動完成匹配,極大地簡化了網絡配置工作。
2?
CANape對DDS的支持
CANape是測量標定領域的專業軟件,在最新發布的CANape 20.0版本中增加了對用戶定制DDS數據的測量記錄的支持。
> DHPR概念
在自動駕駛領域,隨著各式傳感器和計算單元的性能越來越強,其產生的數據量也呈指數式上升,對測量和記錄工具提出了更高的性能要求。CANape提供高性能的XCP-on-Ethernet采集方案,允許多上位機同步記錄各種數量源(視頻、雷達等)。同時CANape增加了對DHPR(Distributed High-Performance Recording)服務的支持,這是一種專門設計的記錄模塊,可以均衡上位機CPU和硬盤負荷,滿足更高的性能需求。DHPR可以與CANape在同一臺PC運行,也可以分布在不同的系統上。CANape可以同時處理多個不同系統的DHPR,從而實現一次記錄更多的數據。未來測量大量數據的CANape設備也逐步實現為DHPR設備。
> 基于DHPR的DDS采集
CANape支持基于DHPR的DDS采集。標準的DHPR基于TCP/UDP進行,采用自定義的Protocol Decoder解析傳輸數據及目標信號等。針對DDS基于發布訂閱模式進行數據交互的特性,CANape為其集成了特殊的DHPR,能夠作為訂閱者參與數據交互,采集記錄DDS數據。
圖1: DHPR Concept
DDS Decoder融合數據庫格式轉換、圖像顯示以及視頻存儲功能,可以實現OMG IDL到A2L(CANape應用)的數據庫格式轉換,將CDR-Object序列化后直接在CANape窗口進行在線顯示,DDS數據可以存儲到MF4文件。
圖2: DDS Decoder架構
>以ADAS ECU采集DDS為例,采集記錄流程(圖3)如下:
啟動DDS DHPR測量,執行服務發現,訂閱Topic;
ADAS ECU發布DDS Data Sample;
DDS DHPR將采集到的DDS Data Sample傳遞到Protocol Decoder模塊;
Protocol Decoder模塊將其解碼為CANape可以處理的對象,進行解析顯示。
圖3: DDS采集流程
> DDS采集設置
Device Settings:可以配置ECU的接口參數信息,導入Topic配置文件以及數據采集過程的Log信息等。
圖4: Device設置
QoS配置:可以從Reliability/History/
Durability/Liveliness四個方面設置Qos參數。
圖5: QoS設置
3?
Future
在ADAS域控領域,高性能處理器帶來了中央化、集成化的應用場景,同時帶來了大量的數據。大帶寬數據接口如1Gb/10Gb ETH使得大數據采集成為可能。Vector致力于這種極具挑戰的應用場景的開發工具鏈的開發與應用,提供包括并不限于大數據采集、記錄、分析與回灌的軟硬件一站式解決方案。
-
CAN
+關注
關注
57文章
2756瀏覽量
463856 -
DDS
+關注
關注
21文章
634瀏覽量
152714
發布評論請先 登錄
相關推薦
評論