李志濤,耿偉峰
(長城汽車股份有限公司技術中心,河北 保定 071000)
隨著汽車技術的發展,車輛向智能化、電動化、網聯化、共享化和自動化發展,汽車將面臨大量功能的增加與科技化的挑戰,如龐大的計算能力、高效的通信帶寬、靈活的兼容性、強大的擴展升級能力及安全特性等。面對日益增長的需求與挑戰,采用車載以太網為骨干網的電器架構與SOA開發理念,來滿足車輛高帶寬、低延遲通信特性與敏捷開發要求。尤其在自動駕駛領域,基于車載以太網應用DDS協議,傳輸多種異構傳感器(視覺、雷達、GPS、導航、控制等)采集的信息,實現高速和數據頻繁地交換,滿足面向高速、實時傳輸特性的場景。
DDS全稱Data Distribution Service(數據分發服務),是一個中間件協議,該協議以數據為中心,采用發布/訂閱方式,并匹配豐富的服務品質策略,進行數據實時高效的分發,滿足各種分布式實時通信應用需求。DDS在航空、工業、醫療、交通、能源、國防領域都有廣泛的應用,目前在汽車行業中也得到了應用,國外主機廠,如豐田、通用、大眾、奧迪、奔馳,國內相關新勢力主機廠等已實現車載DDS協議應用車型量產,諸多傳統主機廠也陸續開展了DDS的規劃與研發。
DDS位于操作系統和應用程序之間,支持多種編程語言以及多種底層協議,AUTOSAR組織于2018年將DDS正式采納到Adaptive Platform(AP)標準中,作為通信中間件之一,如圖1所示。

圖1 Adaptive Platform
通過AP AUTOSAR架構,使軟件功能之間的通信不再以循環突發的形式進行,實現應用程序之間松散耦合并通過DDS作為中間件進行面向服務的通信,底層使用車載以太網進行通信。DDS引入“全局數據空間”概念,滿足多種用戶需求,系統解耦合。其通信方式是完全端到端的,不需要代理,每一個節點包括數據發現機制,基于主題實現信息傳遞,通過發布/訂閱方式使應用加入數據總線,發布或者訂閱信息。
DDS通信協議規范,由技術標準聯盟組織——對象管理組(OMG)發布和維護,OMG工作組針對各種技術和行業制定技術標準,OMG制定的DDS技術規范包括一系列標準,其中核心標準包括4部分。第1部分:DDS標準主體[以數據為中心的發布訂閱DCPS(Data-CentricPublish-Subscribe)模型];第2部分:DDSI-RTPS[DDS實時發布訂閱RTPS(Realtime Publish-Subscribe)協 議];第3部 分:DDS-XTypes(DDS類型和數據序列化方法);第4部分:DDS-Security(DDS安全模型)。DDS核心標準在OSI模型架構中的分布見圖2。

圖2 DDS核心標準在OSI模型架構中的分布
DDS作為中間件協議,為上層的車載應用程序提供平臺化的運行環境,屏蔽底層通信之間的接口差異,實現互操作,滿足實時通信需求,其核心標準中的DCPS模型與RTPS協議為核心中的基礎。
DCPS全稱為Data-Centric Publish-Subscribe(以數據為中心的發布訂閱模型),DCPS層中主要包含域、參與者、發布者、訂閱者、數據寫入者、數據讀取者、主題、監聽器等通信實體。DDS基本結構是域(Domain),域表示一個通信平面,由域標識符唯一標識。網絡中的任意兩個實體通信都必須在同一個域內進行交互,而且只有在同一個域內的實體才可以通信。域內的參與者是服務的入口點,負責創建、刪除和管理實體(如發布者、訂閱者、主題等),主題(Topic)具有確定的數據類型,是實體相互通信時傳輸的信息。
DDS應用之間的通信,需先獲取參與者,然后通過參與者獲取其他服務,如發布者(publisher)、訂閱者(subscriber)、主題(topic)等。發布者作為發布方,至少包含一個DataWriter;訂閱者作為訂閱方,至少與一個DataReader關聯。主題是DataWriter和DataReader相互通信時約定的數據信息,每個DataWriter/DataReader必須與一個主題綁定。DDS通信時,數據發布者通過DataWriter把數據發送至綁定的主題,數據訂閱者通過DataReader從綁定的主題中獲取期望的數據信息,數據發布訂閱的同時匹配相應的QoS,從而實現數據信息的預期交互。DDS通信模型示意如圖3所示。

圖3 DDS通信模型
DCPS為通信節點之間創建了一個虛擬共享的全局數據空間。在全局數據空間中,分布式節點在網絡上以發布或訂閱的方式傳輸數據,節點之間通信方式可以靈活地實現一對一、一對多、多對多,并在QoS策略的控制下建立連接、數據交互等。
DDSI-RTPS全稱Real-time Publish Subscribe Protocol DDS Interoperability Wire Protocol(實時發布訂閱協議DDS互操作網絡協議規范),是DDS實施互操作性(標準化)協議。其中,RTPS建立在傳輸層之上,包含平臺獨立模型PIM(Platform Independent Model)和平臺特定模型PSM(Platform-Specific Model)。
PIM包含4個模塊:結構、消息、行為和發現。①結構(Structure)模塊定義通信的實體如何表示;②消息(Messages)模 塊 定 義了通信實體之間的消息;③行為(Behavior)模塊定義實體之間的消息的交互及如何進行交互;④發 現(Discovery)模塊定義了端點間的自動發現和配置實體。PIM模型如圖4所示。

圖4 PIM模型
PSM負責提供PIM與UDP(若采用以太網)之間的映射,主要包括各種消息格式等。RTPS采用UDP/IP協議進行數據的封裝傳輸,有效結合了二者的特性優勢,使RTPS具有良好的性能和服務品質,以及相應的容錯和快速連接能力,其模塊化與可配置的屬性,使可擴展性和可伸縮性進一步提升,為車輛中的實時應用功能通信場景提供了best-effort和reliable的發布-訂閱通信,同時使得車輛網絡的兼容性和互操作性也更加靈活。
QoS全稱為Quality of Service(服務品質),是網絡通信的一種安全機制,用來解決通信過程中的網絡延遲和阻塞等問題,提供良好可靠的通信能力。DDS協議支持豐富的服務品質策略,對保證實時通信至關重要。其依據應用場景需求,選擇相應的QoS應用在數據發送方或數據訂閱方,而針對數據發送方或訂閱方,可單獨使用一種QoS,也可以組合使用多種QoS,來滿足通信要求。
DDS定義了靈活的QoS規則,包括數據可用性控制、數據的交付方式控制、數據的時效性控制、定義和分發用戶信息、網絡和數據資源的控制等。用戶可以通過設置QoS策略來控制數據在應用程序之間共享的方式,以滿足不同場景下應用程序對功能和性能的需求,能更好適用于車輛功能和性能需求場景的多樣性。DDS支持的服務品質策略見表1。

表1 QoS列表
DDS在進行數據信息傳輸時,可靈活匹配相應的服務品質策略,若數據信息不能確保到達預期的目的地,那么將在數據傳輸時實現可靠性策略。若當網絡系統發生變化時,DDS將動態地計算出發送數據的目的地及發送的數據,并預先通知參與者。如果總數據量很大,DDS會將發送的數據進行過濾,并只發送訂閱方需要的數據信息。同時,對于安全性至關重要的應用程序,DDS會控制訪問,強制數據流路徑并實時加密數據。總之,DDS豐富的QoS策略為車輛功能需求場景的實現提供了無限的空間。
車載以太網是一種交換網絡,與傳統的汽車CAN/LIN總線相比,采用交換機形式的局域網絡架構,可分為星型網絡拓撲、菊花鏈型網絡拓撲和樹形網絡拓撲3種網絡拓撲結構,因此在網絡設計方面具有很大的靈活性,同時對車載以太網測試也提出了更高的要求,目前車載以太網測試主要包括驗證車載以太網的物理性能、交換機性能、TCP/IP協議一致性、應用層通信協議一致性以及以太網通信功能等。DDS協議對于汽車行業來說,是一種新型中間件協議的應用,因此進行專業、全面的測試至關重要。
在汽車電子電氣領域,典型的V模型在OEM電子電器產品開發中廣泛應用。車載以太網的開發依據此V模型,左側為需求的開發設計工作,右側對應各階段的測試工作。
對于DDS協議測試,OEM在系統或整車集成階段,應側重于系統集成的正確性、性能指標及穩定性等方面的測試。目前行業內尚未發布相應的DDS協議測試標準,OEM主要結合DDS協議需求規范、通信模型、傳輸機制,并圍繞DDS在車載應用中的場景、關注點等制定相應的測試內容。因此,DDS主要測試內容可分為協議一致性測試、系統通信正確性測試、協議應用測試等。DDS測試內容概述列表見表2。

表2 DDS協議測試內容
協議一致性測試對RTPS協議進行測試,重點對DDS通信實體之間傳遞的消息、交互行為及機制策略的驗證,驗證DDS產品的互通性;系統通信正確性測試對DDS系統時序與通信矩陣要求的一致性,故障處理策略、協議配置、通信邏輯性能的測試,驗證系統層級通信的正確性與穩定性;協議應用測試主要圍繞DDS在不同的應用場景中所對應的功能或性能配置測試,此階段與所實現的相應車輛電器功能,用戶應用場景密切耦合,驗證協議應用的有效性、穩定性。
綜上,系統通信正確性測試與協議應用測試,是OEM的核心關注點之一,不僅要依據需求規范的要求,同樣要源自對網絡特性、對車輛使用場景的理解、與整車功能特性耦合度等方面考慮,開展充分有效的協議測試工作。另外,針對DDS-Security測試,可統籌歸納至車輛信息安全測試范疇,此處不再贅述。
參照傳統總線測試流程,車載DDS協議測試首先依據協議開發需求和測試經驗,完成測試規范的開發。然后,結合需求規范、通信矩陣及功能需求等開發仿真模型,同時參照測試規范進行自動化測試用例設計,測試工程的開發、集成調試,實現自動化/半自動化測試。
針對DDS測試開發執行工具,可采用Vector工具鏈,如:CANoe、vTeststudio、VT等,同時匹配第三方編程語言實現DDS測試環境的搭建、測試工程設計、測試執行,滿足ECU級、系統集成級測試。測試環境架構示意如圖5所示。

圖5 測試環境示意圖
在整車電子電器開發中,由于各種因素影響,部分被測ECU難以在計劃時間內提交至OEM。結合ECU產品到達情況,開展增量式集成,未開發完成的ECU進行虛擬仿真,虛擬ECU匹配真實ECU,實現分布式測試環境搭建,以持續集成持續測試方式,滿足測試需求。
同時,為了保證被測ECU正常運行,需觸發ECU的某些行為,達到測試開展條件。可借助Vector提供的IO激勵和測量板卡、總線接口卡,仿真相關ECU的外圍IO信號或者總線信號,在半實物半虛擬測試環境中,虛擬ECU節點需要仿真DDS Writer或者Reader,來發布或訂閱ECU的DDS數據,以此來驗證真實被測ECU節點的變量范圍、非法值的錯誤處理機制等。CI/CT測試方式可貫穿于整個研發過程中,滿足了產品迭代開發的測試環境。
DDS協議作為通信中間件協議,在車輛電子電器通信系統中起著不可或缺的支撐作用,其向下支持多種傳輸層的通信協議,向上為應用層提供簡單、高效的發布/訂閱接口。建立全局數據空間,根據主題進行點對點數據傳送,有效地減少了不必要的網絡流量,通過提供應用級QoS,使用戶對發布/訂閱行為可控、可見,增加系統的靈活性、可靠性與可擴展性,滿足車輛功能場景需求。目前在汽車行業,DDS協議的相關標準與規范并不完善,因此對于DDS協議的車載應用、測試驗證,存在許多值得后續深入研究的問題。