李志濤,耿偉峰
(長城汽車股份有限公司技術(shù)中心,河北 保定 071000)
隨著汽車技術(shù)的發(fā)展,車輛向智能化、電動化、網(wǎng)聯(lián)化、共享化和自動化發(fā)展,汽車將面臨大量功能的增加與科技化的挑戰(zhàn),如龐大的計算能力、高效的通信帶寬、靈活的兼容性、強大的擴展升級能力及安全特性等。面對日益增長的需求與挑戰(zhàn),采用車載以太網(wǎng)為骨干網(wǎng)的電器架構(gòu)與SOA開發(fā)理念,來滿足車輛高帶寬、低延遲通信特性與敏捷開發(fā)要求。尤其在自動駕駛領(lǐng)域,基于車載以太網(wǎng)應(yīng)用DDS協(xié)議,傳輸多種異構(gòu)傳感器(視覺、雷達、GPS、導(dǎo)航、控制等)采集的信息,實現(xiàn)高速和數(shù)據(jù)頻繁地交換,滿足面向高速、實時傳輸特性的場景。
DDS全稱Data Distribution Service(數(shù)據(jù)分發(fā)服務(wù)),是一個中間件協(xié)議,該協(xié)議以數(shù)據(jù)為中心,采用發(fā)布/訂閱方式,并匹配豐富的服務(wù)品質(zhì)策略,進行數(shù)據(jù)實時高效的分發(fā),滿足各種分布式實時通信應(yīng)用需求。DDS在航空、工業(yè)、醫(yī)療、交通、能源、國防領(lǐng)域都有廣泛的應(yīng)用,目前在汽車行業(yè)中也得到了應(yīng)用,國外主機廠,如豐田、通用、大眾、奧迪、奔馳,國內(nèi)相關(guān)新勢力主機廠等已實現(xiàn)車載DDS協(xié)議應(yīng)用車型量產(chǎn),諸多傳統(tǒng)主機廠也陸續(xù)開展了DDS的規(guī)劃與研發(fā)。
DDS位于操作系統(tǒng)和應(yīng)用程序之間,支持多種編程語言以及多種底層協(xié)議,AUTOSAR組織于2018年將DDS正式采納到Adaptive Platform(AP)標(biāo)準(zhǔn)中,作為通信中間件之一,如圖1所示。
圖1 Adaptive Platform
通過AP AUTOSAR架構(gòu),使軟件功能之間的通信不再以循環(huán)突發(fā)的形式進行,實現(xiàn)應(yīng)用程序之間松散耦合并通過DDS作為中間件進行面向服務(wù)的通信,底層使用車載以太網(wǎng)進行通信。DDS引入“全局?jǐn)?shù)據(jù)空間”概念,滿足多種用戶需求,系統(tǒng)解耦合。其通信方式是完全端到端的,不需要代理,每一個節(jié)點包括數(shù)據(jù)發(fā)現(xiàn)機制,基于主題實現(xiàn)信息傳遞,通過發(fā)布/訂閱方式使應(yīng)用加入數(shù)據(jù)總線,發(fā)布或者訂閱信息。
DDS通信協(xié)議規(guī)范,由技術(shù)標(biāo)準(zhǔn)聯(lián)盟組織——對象管理組(OMG)發(fā)布和維護,OMG工作組針對各種技術(shù)和行業(yè)制定技術(shù)標(biāo)準(zhǔn),OMG制定的DDS技術(shù)規(guī)范包括一系列標(biāo)準(zhǔn),其中核心標(biāo)準(zhǔn)包括4部分。第1部分:DDS標(biāo)準(zhǔn)主體[以數(shù)據(jù)為中心的發(fā)布訂閱DCPS(Data-CentricPublish-Subscribe)模型];第2部分:DDSI-RTPS[DDS實時發(fā)布訂閱RTPS(Realtime Publish-Subscribe)協(xié) 議];第3部 分:DDS-XTypes(DDS類型和數(shù)據(jù)序列化方法);第4部分:DDS-Security(DDS安全模型)。DDS核心標(biāo)準(zhǔn)在OSI模型架構(gòu)中的分布見圖2。
圖2 DDS核心標(biāo)準(zhǔn)在OSI模型架構(gòu)中的分布
DDS作為中間件協(xié)議,為上層的車載應(yīng)用程序提供平臺化的運行環(huán)境,屏蔽底層通信之間的接口差異,實現(xiàn)互操作,滿足實時通信需求,其核心標(biāo)準(zhǔn)中的DCPS模型與RTPS協(xié)議為核心中的基礎(chǔ)。
DCPS全稱為Data-Centric Publish-Subscribe(以數(shù)據(jù)為中心的發(fā)布訂閱模型),DCPS層中主要包含域、參與者、發(fā)布者、訂閱者、數(shù)據(jù)寫入者、數(shù)據(jù)讀取者、主題、監(jiān)聽器等通信實體。DDS基本結(jié)構(gòu)是域(Domain),域表示一個通信平面,由域標(biāo)識符唯一標(biāo)識。網(wǎng)絡(luò)中的任意兩個實體通信都必須在同一個域內(nèi)進行交互,而且只有在同一個域內(nèi)的實體才可以通信。域內(nèi)的參與者是服務(wù)的入口點,負責(zé)創(chuàng)建、刪除和管理實體(如發(fā)布者、訂閱者、主題等),主題(Topic)具有確定的數(shù)據(jù)類型,是實體相互通信時傳輸?shù)男畔ⅰ?/p>
DDS應(yīng)用之間的通信,需先獲取參與者,然后通過參與者獲取其他服務(wù),如發(fā)布者(publisher)、訂閱者(subscriber)、主題(topic)等。發(fā)布者作為發(fā)布方,至少包含一個DataWriter;訂閱者作為訂閱方,至少與一個DataReader關(guān)聯(lián)。主題是DataWriter和DataReader相互通信時約定的數(shù)據(jù)信息,每個DataWriter/DataReader必須與一個主題綁定。DDS通信時,數(shù)據(jù)發(fā)布者通過DataWriter把數(shù)據(jù)發(fā)送至綁定的主題,數(shù)據(jù)訂閱者通過DataReader從綁定的主題中獲取期望的數(shù)據(jù)信息,數(shù)據(jù)發(fā)布訂閱的同時匹配相應(yīng)的QoS,從而實現(xiàn)數(shù)據(jù)信息的預(yù)期交互。DDS通信模型示意如圖3所示。
圖3 DDS通信模型
DCPS為通信節(jié)點之間創(chuàng)建了一個虛擬共享的全局?jǐn)?shù)據(jù)空間。在全局?jǐn)?shù)據(jù)空間中,分布式節(jié)點在網(wǎng)絡(luò)上以發(fā)布或訂閱的方式傳輸數(shù)據(jù),節(jié)點之間通信方式可以靈活地實現(xiàn)一對一、一對多、多對多,并在QoS策略的控制下建立連接、數(shù)據(jù)交互等。
DDSI-RTPS全稱Real-time Publish Subscribe Protocol DDS Interoperability Wire Protocol(實時發(fā)布訂閱協(xié)議DDS互操作網(wǎng)絡(luò)協(xié)議規(guī)范),是DDS實施互操作性(標(biāo)準(zhǔn)化)協(xié)議。其中,RTPS建立在傳輸層之上,包含平臺獨立模型PIM(Platform Independent Model)和平臺特定模型PSM(Platform-Specific Model)。
PIM包含4個模塊:結(jié)構(gòu)、消息、行為和發(fā)現(xiàn)。①結(jié)構(gòu)(Structure)模塊定義通信的實體如何表示;②消息(Messages)模 塊 定 義了通信實體之間的消息;③行為(Behavior)模塊定義實體之間的消息的交互及如何進行交互;④發(fā) 現(xiàn)(Discovery)模塊定義了端點間的自動發(fā)現(xiàn)和配置實體。PIM模型如圖4所示。
圖4 PIM模型
PSM負責(zé)提供PIM與UDP(若采用以太網(wǎng))之間的映射,主要包括各種消息格式等。RTPS采用UDP/IP協(xié)議進行數(shù)據(jù)的封裝傳輸,有效結(jié)合了二者的特性優(yōu)勢,使RTPS具有良好的性能和服務(wù)品質(zhì),以及相應(yīng)的容錯和快速連接能力,其模塊化與可配置的屬性,使可擴展性和可伸縮性進一步提升,為車輛中的實時應(yīng)用功能通信場景提供了best-effort和reliable的發(fā)布-訂閱通信,同時使得車輛網(wǎng)絡(luò)的兼容性和互操作性也更加靈活。
QoS全稱為Quality of Service(服務(wù)品質(zhì)),是網(wǎng)絡(luò)通信的一種安全機制,用來解決通信過程中的網(wǎng)絡(luò)延遲和阻塞等問題,提供良好可靠的通信能力。DDS協(xié)議支持豐富的服務(wù)品質(zhì)策略,對保證實時通信至關(guān)重要。其依據(jù)應(yīng)用場景需求,選擇相應(yīng)的QoS應(yīng)用在數(shù)據(jù)發(fā)送方或數(shù)據(jù)訂閱方,而針對數(shù)據(jù)發(fā)送方或訂閱方,可單獨使用一種QoS,也可以組合使用多種QoS,來滿足通信要求。
DDS定義了靈活的QoS規(guī)則,包括數(shù)據(jù)可用性控制、數(shù)據(jù)的交付方式控制、數(shù)據(jù)的時效性控制、定義和分發(fā)用戶信息、網(wǎng)絡(luò)和數(shù)據(jù)資源的控制等。用戶可以通過設(shè)置QoS策略來控制數(shù)據(jù)在應(yīng)用程序之間共享的方式,以滿足不同場景下應(yīng)用程序?qū)δ芎托阅艿男枨?,能更好適用于車輛功能和性能需求場景的多樣性。DDS支持的服務(wù)品質(zhì)策略見表1。
表1 QoS列表
DDS在進行數(shù)據(jù)信息傳輸時,可靈活匹配相應(yīng)的服務(wù)品質(zhì)策略,若數(shù)據(jù)信息不能確保到達預(yù)期的目的地,那么將在數(shù)據(jù)傳輸時實現(xiàn)可靠性策略。若當(dāng)網(wǎng)絡(luò)系統(tǒng)發(fā)生變化時,DDS將動態(tài)地計算出發(fā)送數(shù)據(jù)的目的地及發(fā)送的數(shù)據(jù),并預(yù)先通知參與者。如果總數(shù)據(jù)量很大,DDS會將發(fā)送的數(shù)據(jù)進行過濾,并只發(fā)送訂閱方需要的數(shù)據(jù)信息。同時,對于安全性至關(guān)重要的應(yīng)用程序,DDS會控制訪問,強制數(shù)據(jù)流路徑并實時加密數(shù)據(jù)。總之,DDS豐富的QoS策略為車輛功能需求場景的實現(xiàn)提供了無限的空間。
車載以太網(wǎng)是一種交換網(wǎng)絡(luò),與傳統(tǒng)的汽車CAN/LIN總線相比,采用交換機形式的局域網(wǎng)絡(luò)架構(gòu),可分為星型網(wǎng)絡(luò)拓撲、菊花鏈型網(wǎng)絡(luò)拓撲和樹形網(wǎng)絡(luò)拓撲3種網(wǎng)絡(luò)拓撲結(jié)構(gòu),因此在網(wǎng)絡(luò)設(shè)計方面具有很大的靈活性,同時對車載以太網(wǎng)測試也提出了更高的要求,目前車載以太網(wǎng)測試主要包括驗證車載以太網(wǎng)的物理性能、交換機性能、TCP/IP協(xié)議一致性、應(yīng)用層通信協(xié)議一致性以及以太網(wǎng)通信功能等。DDS協(xié)議對于汽車行業(yè)來說,是一種新型中間件協(xié)議的應(yīng)用,因此進行專業(yè)、全面的測試至關(guān)重要。
在汽車電子電氣領(lǐng)域,典型的V模型在OEM電子電器產(chǎn)品開發(fā)中廣泛應(yīng)用。車載以太網(wǎng)的開發(fā)依據(jù)此V模型,左側(cè)為需求的開發(fā)設(shè)計工作,右側(cè)對應(yīng)各階段的測試工作。
對于DDS協(xié)議測試,OEM在系統(tǒng)或整車集成階段,應(yīng)側(cè)重于系統(tǒng)集成的正確性、性能指標(biāo)及穩(wěn)定性等方面的測試。目前行業(yè)內(nèi)尚未發(fā)布相應(yīng)的DDS協(xié)議測試標(biāo)準(zhǔn),OEM主要結(jié)合DDS協(xié)議需求規(guī)范、通信模型、傳輸機制,并圍繞DDS在車載應(yīng)用中的場景、關(guān)注點等制定相應(yīng)的測試內(nèi)容。因此,DDS主要測試內(nèi)容可分為協(xié)議一致性測試、系統(tǒng)通信正確性測試、協(xié)議應(yīng)用測試等。DDS測試內(nèi)容概述列表見表2。
表2 DDS協(xié)議測試內(nèi)容
協(xié)議一致性測試對RTPS協(xié)議進行測試,重點對DDS通信實體之間傳遞的消息、交互行為及機制策略的驗證,驗證DDS產(chǎn)品的互通性;系統(tǒng)通信正確性測試對DDS系統(tǒng)時序與通信矩陣要求的一致性,故障處理策略、協(xié)議配置、通信邏輯性能的測試,驗證系統(tǒng)層級通信的正確性與穩(wěn)定性;協(xié)議應(yīng)用測試主要圍繞DDS在不同的應(yīng)用場景中所對應(yīng)的功能或性能配置測試,此階段與所實現(xiàn)的相應(yīng)車輛電器功能,用戶應(yīng)用場景密切耦合,驗證協(xié)議應(yīng)用的有效性、穩(wěn)定性。
綜上,系統(tǒng)通信正確性測試與協(xié)議應(yīng)用測試,是OEM的核心關(guān)注點之一,不僅要依據(jù)需求規(guī)范的要求,同樣要源自對網(wǎng)絡(luò)特性、對車輛使用場景的理解、與整車功能特性耦合度等方面考慮,開展充分有效的協(xié)議測試工作。另外,針對DDS-Security測試,可統(tǒng)籌歸納至車輛信息安全測試范疇,此處不再贅述。
參照傳統(tǒng)總線測試流程,車載DDS協(xié)議測試首先依據(jù)協(xié)議開發(fā)需求和測試經(jīng)驗,完成測試規(guī)范的開發(fā)。然后,結(jié)合需求規(guī)范、通信矩陣及功能需求等開發(fā)仿真模型,同時參照測試規(guī)范進行自動化測試用例設(shè)計,測試工程的開發(fā)、集成調(diào)試,實現(xiàn)自動化/半自動化測試。
針對DDS測試開發(fā)執(zhí)行工具,可采用Vector工具鏈,如:CANoe、vTeststudio、VT等,同時匹配第三方編程語言實現(xiàn)DDS測試環(huán)境的搭建、測試工程設(shè)計、測試執(zhí)行,滿足ECU級、系統(tǒng)集成級測試。測試環(huán)境架構(gòu)示意如圖5所示。
圖5 測試環(huán)境示意圖
在整車電子電器開發(fā)中,由于各種因素影響,部分被測ECU難以在計劃時間內(nèi)提交至OEM。結(jié)合ECU產(chǎn)品到達情況,開展增量式集成,未開發(fā)完成的ECU進行虛擬仿真,虛擬ECU匹配真實ECU,實現(xiàn)分布式測試環(huán)境搭建,以持續(xù)集成持續(xù)測試方式,滿足測試需求。
同時,為了保證被測ECU正常運行,需觸發(fā)ECU的某些行為,達到測試開展條件??山柚鶹ector提供的IO激勵和測量板卡、總線接口卡,仿真相關(guān)ECU的外圍IO信號或者總線信號,在半實物半虛擬測試環(huán)境中,虛擬ECU節(jié)點需要仿真DDS Writer或者Reader,來發(fā)布或訂閱ECU的DDS數(shù)據(jù),以此來驗證真實被測ECU節(jié)點的變量范圍、非法值的錯誤處理機制等。CI/CT測試方式可貫穿于整個研發(fā)過程中,滿足了產(chǎn)品迭代開發(fā)的測試環(huán)境。
DDS協(xié)議作為通信中間件協(xié)議,在車輛電子電器通信系統(tǒng)中起著不可或缺的支撐作用,其向下支持多種傳輸層的通信協(xié)議,向上為應(yīng)用層提供簡單、高效的發(fā)布/訂閱接口。建立全局?jǐn)?shù)據(jù)空間,根據(jù)主題進行點對點數(shù)據(jù)傳送,有效地減少了不必要的網(wǎng)絡(luò)流量,通過提供應(yīng)用級QoS,使用戶對發(fā)布/訂閱行為可控、可見,增加系統(tǒng)的靈活性、可靠性與可擴展性,滿足車輛功能場景需求。目前在汽車行業(yè),DDS協(xié)議的相關(guān)標(biāo)準(zhǔn)與規(guī)范并不完善,因此對于DDS協(xié)議的車載應(yīng)用、測試驗證,存在許多值得后續(xù)深入研究的問題。