《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > 在軟件定義汽車中使用DDS中間件的安全機制

在軟件定義汽車中使用DDS中間件的安全機制

2021-12-06
作者:Jochen Seemann, Yuting Fu, Andrei Terechko與Emilio Guijarro Cameros
來源:恩智浦

1.jpg

軟件定義汽車將需要多種機制,保證汽車在各種情況下的安全和正常行駛。這些機制的專有解決方案需要大量的驗證工作,并且很難與不同的軟件架構集成。安全關鍵型分布式通信是否有標準化軟件框架?

向軟件定義汽車轉變

多年來,傳統(tǒng)車身系統(tǒng)中執(zhí)行分立功能的電子控制單元(ECU)數(shù)量一直在增加,這些單元的可編程性較弱。然而,目前先進的汽車設計開始有所轉變,逐步轉向只分布在幾個(域)處理器上的靈活且可互操作的軟件。分布式軟件執(zhí)行自動駕駛、娛樂中控、動力和車身控制等協(xié)調任務,同時共享處理器、網(wǎng)絡和傳感器,能夠降低系統(tǒng)成本。轉向軟件定義汽車是汽車行業(yè)最重要的趨勢之一,軟件功能將成為重要的差異化優(yōu)勢。

要在這個領域贏得競爭,汽車制造商需實現(xiàn)快速輕松構建模塊化分布式應用,而運行這些應用需要可編程、可靠且低成本的半導體設備。因此,具有易于使用的應用編程接口(API)的標準化軟件平臺(如POSIX和AUTOSAR)日益受到歡迎。這些軟件平臺的一個關鍵組件是中間件,它是各種操作系統(tǒng)和高級應用之間的軟件層(見下圖)。簡單地說,中間件是一個軟件庫,它使分布式系統(tǒng)組件能夠相互通信。軟件定義汽車的安全性在很大程度上取決于中間件和底層網(wǎng)絡處理器,依靠這兩者才能實現(xiàn)分布式進程之間可靠的實時數(shù)據(jù)通信。

2.jpg

面向自動駕駛的S32G處理器上的安全檢查工具原型

一流的自動駕駛(AD)系統(tǒng)通常采用雙通道架構來實現(xiàn)冗余,即在正常情況下控制AD系統(tǒng)的主通道旁邊部署備用通道。如果主通道出現(xiàn)故障,汽車控制將切換回備用通道。這樣能夠同時提高AD系統(tǒng)的安全性和可用性。這種架構需要一個安全檢查工具來驗證主通道的運行狀態(tài),并在必要時觸發(fā)安全機制,如安全停車。顯然,安全檢查工具的計算和通信功能非常關鍵,這對其容錯和可靠性提出了很高的要求。

恩智浦S32G汽車網(wǎng)絡處理器非常適合執(zhí)行具有各種安全機制的高度可靠的AD系統(tǒng)。S32G中的Arm? Cortex?-A53內核提供高性能計算能力,ASIL D Cortex-M7安全內核鎖步模式適合運行安全關鍵型功能。此外,面向服務型網(wǎng)關的S32G GoldBox參考設計上集成的SJA1110以太網(wǎng)交換機提供了時間敏感網(wǎng)絡(TSN)功能,可與網(wǎng)絡上分布的高級AD應用進行實時可靠的通信。

除了完整性較高的硬件外,在S32G中的Cortex-A53和Cortex-M7內核上運行的數(shù)據(jù)分發(fā)服務(DDS)中間件軟件負責管理分布式系統(tǒng)的數(shù)據(jù)和通信。DDS中間件協(xié)議基于對象管理組織?(OMG?)標準化的發(fā)布-訂閱模式。DDS已集成到各種關鍵的汽車平臺生態(tài)合作體系中,例如AUTOSAR Adaptive和ROS2。DDS提供低延遲數(shù)據(jù)連接、可靠性和可擴展的以數(shù)據(jù)為中心的通信。此外,DDS附帶了一組豐富的內置服務質量(QoS)策略,可控制DDS行為,如資源消耗和通信可靠性。如需了解DDS的基本原理和QoS策略,可以嘗試互動式Shape演示應用或觀看演示視頻。

請注意,面向資源極度受限環(huán)境的DDS通過使用OMG DDS-XRCE協(xié)議實現(xiàn)。這是客戶端到代理協(xié)議,意味著DDS-XRCE客戶端節(jié)點通過外部代理節(jié)點與DDS網(wǎng)絡通信。DDS-XRCE非常適合為物聯(lián)網(wǎng)設備開發(fā)輕量級DDS應用,但在安全關鍵型系統(tǒng)中使用時,該代理可能會成為單點故障。然而,運行在S32G Cortex-M7上的RTI Connext?DDS Micro無需任何橋接或代理,可直接與功能齊全的DDS網(wǎng)絡進行通信,從而消除了單點故障。ISO 26262汽車安全環(huán)境中也可構建集成RTI Connext DDS Micro,其安全等級最高可達ASIL D級。

以下是對實施冗余自動駕駛通道特別有意義的DDS QoS策略:

?“截止日期”表示是否滿足數(shù)據(jù)發(fā)送和接收時間要求。每當不滿足發(fā)送和/或接收時間限制時,數(shù)據(jù)寫入器和數(shù)據(jù)讀取器都會通知應用。

?“活躍度”表示新的數(shù)據(jù)寫入器(DDS發(fā)布者節(jié)點)是否加入或仍然存在于網(wǎng)絡中。

?“獨占所有權”和“所有權強度”規(guī)定,只有具有最高強度值的數(shù)據(jù)寫入器才能寫入特定實例。

?“傳輸優(yōu)先級”表明數(shù)據(jù)寫入器或數(shù)據(jù)讀取器發(fā)送的數(shù)據(jù)具有特定優(yōu)先級。要了解此QoS策略如何將DDS主題鏈接到TSN流的更多信息,請查看我們關于DDS和TSN集成的在線研討會以及我們在GitHub上集成DDS-TSN的開源示例項目。

一旦DDS中間件層就緒,就可以使用DDS內置QoS策略。這簡化了開發(fā)過程,極大地提高了軟件組件的互操作性和可重用性。DDS多種發(fā)行版本,可滿足分布式AD組件的不同系統(tǒng)要求。在分布式AD系統(tǒng)中實施DDS既設立了一個通用的通信和數(shù)據(jù)管理框架,也毫不費力地增加了系統(tǒng)多樣性。此外,基于DDS構建的系統(tǒng)可以使用單個DDS XML文件輕松建模和配置。XML文件格式使系統(tǒng)開發(fā)更加容易,可幫助架構師和應用開發(fā)人員在系統(tǒng)層面設計軟件定義汽車。

使用DDS QoS策略的安全機制

如果組合得當,DDS QoS策略可啟用各種故障處理機制和安全措施,應對性能限制。DDS中間件層為在其上運行的所有AD組件設立了一個通用框架。無需太多工程工作即可實現(xiàn)不同規(guī)模的各種安全機制,例如故障切換到完全冗余的AD通道或組件的無縫接管。下面將詳細介紹在概念驗證演示設置中實現(xiàn)的安全機制。

無縫故障切換

故障切換是安全關鍵型系統(tǒng)中廣泛使用的安全機制。它通常依賴故障靜默組件,這些組件在發(fā)生故障時停止產(chǎn)生輸出。通常,當主AD通道發(fā)生靜默故障時,系統(tǒng)應退回到冗余安全通道,操縱汽車進入安全狀態(tài)。該機制可以使用DDS活躍度和所有權QoS策略來實現(xiàn)。如果主通道中的汽車控制數(shù)據(jù)寫入者發(fā)生靜默故障或失去與系統(tǒng)其余部分的通信,那么由所有權強度較低的安全通道的數(shù)據(jù)寫入者生成的樣本將自動對汽車執(zhí)行器可見,并開始無縫控制車輛。同時,使用安全檢查工具來監(jiān)測由于數(shù)據(jù)寫入者故障而導致的DDS網(wǎng)絡活躍度變化。系統(tǒng)可以根據(jù)此類診斷信息實施恢復機制,例如重啟。

無縫接管

即使發(fā)生故障的AD組件不是故障靜默的,系統(tǒng)也可以實施接管安全機制,在不影響系統(tǒng)可用性的情況下主動否決故障或不可靠的組件??梢允褂肈DS獨占所有權和所有權強度QoS策略來實現(xiàn)接管。這些QoS策略控制允許哪個數(shù)據(jù)寫入者向數(shù)據(jù)讀取者發(fā)送數(shù)據(jù)。當安全檢查工具檢測到主數(shù)據(jù)寫入者未正常運行(例如錯過截止日期或發(fā)送越界數(shù)據(jù))時,會觸發(fā)所有權強度更高的健康數(shù)據(jù)寫入者將數(shù)據(jù)發(fā)送到數(shù)據(jù)讀取者。

故障切換與接管相結合的混合方法

DDS截止日期、活躍度、獨占所有權和所有權強度可以結合在一起,實現(xiàn)同時利用故障切換和接管機制的混合機制。例如,通過監(jiān)測DDS網(wǎng)絡的活躍度,安全檢查工具可以在節(jié)點靜默故障時靈活地觸發(fā)故障切換機制,或者在運行的節(jié)點未故障靜默并發(fā)布錯誤數(shù)據(jù)或錯過截止日期時激活接管機制。由于所有權強度QoS值不同,系統(tǒng)在主通道和安全通道之間無縫切換時,也可以輕松處理系統(tǒng)中的過渡故障。

安全機制評估

為了在真實環(huán)境中評估在S32G上實施的基于DDS的安全機制,恩智浦與RTI(Real-Time Innovations)公司的汽車工程專家團隊合作。RTI是一家領先的自動駕駛系統(tǒng)軟件框架提供商,經(jīng)營名為Connext DDS的DDS產(chǎn)品和工具組合。我們攜手將恩智浦安全檢查工具集成到基于Auoware.Auto的自動代客停車(AVP)演示中,Auoware.Auto是Autware基金會的一個開源項目。該演示展示了汽車如何自動駛入代客停車場。Autoware.Auto是一個基于ROS2的成熟的端到端自動駕駛框架,它使用DDS作為底層中間件。

演示設置架構

硬件在環(huán)評估演示設置的架構如下圖所示:

?大多數(shù)Autoware.Auto AD堆棧(如定位、感知、預測、路徑規(guī)劃)都運行在恩智浦BlueBox汽車高性能計算開發(fā)平臺Layerscape處理器的ROS2/DDS上。本例中的DDS中間件是RTI的Connext Pro,通過RTI的rmw_connextdds RMW層組件與ROS2集成。

?恩智浦車聯(lián)網(wǎng)GoldBox中的S32G在演示中充當區(qū)域控制器,其中線控驅動軟件接口在S32G Cortex-A53內核的ROS2/DDS上運行。在真實汽車中,該接口用于將以太網(wǎng)數(shù)據(jù)包中的車輛控制命令轉換為執(zhí)行器的CAN消息。在模擬環(huán)境中,使用它將數(shù)據(jù)在Autoware.Auto和開源LG SVL端到端模擬平臺使用的格式之間進行轉換。安全檢查工具帶有安全接管和故障切換機制,基于運行在S32G Cortex-M7內核上的RTI DDS Connext Micro。

?外部模擬PC上運行的LG SVL模擬器可模擬道路使用者、自主車輛執(zhí)行器和傳感器的數(shù)據(jù)。

3.jpg

使用基于DDS的安全機制處理故障的演示視頻

在評估設置中,我們將類似于現(xiàn)實問題的故障注入AD系統(tǒng),并觀察基于DDS的安全機制如何處理這種情況。下面的演示視頻展示了安全檢查工具是如何監(jiān)測、檢測和應對系統(tǒng)故障的,如軟件崩潰、掉電和網(wǎng)絡連接中斷。

結論

為了順應向軟件定義汽車轉變的發(fā)展趨勢,汽車系統(tǒng)軟件需要模塊化、可靠和可擴展。正如Autoware.Auto AVP實驗所示,恩智浦S32G ASIL D Cortex-M7處理器內核能夠很好地在自動駕駛系統(tǒng)中充當安全檢查工具。RTI Connext DDS中間件為整個汽車系統(tǒng)的強大處理器和資源受限的微控制器提供了一個通信框架,從而促進了這一進程。DDS憑借其豐富的服務質量策略,在軟件定義汽車中實現(xiàn)了多種安全機制,其工程工作量低,互操作性強。


作者:

Jochen Seemann是恩智浦半導體的嵌入式軟件架構師。他畢業(yè)于巴登-沃爾滕堡合作州立大學應用計算機科學專業(yè),在工業(yè)PC接口全棧軟件開發(fā)方面擁有5年經(jīng)驗。Jochen還擔任過5年的汽車領域一級軟件工程師和架構師,主要致力于IVI和自動駕駛產(chǎn)品的工作。此外,他還促進了開源Qt框架的開發(fā)。

Yuting Fu是恩智浦半導體公司的系統(tǒng)工程師。她擁有埃因霍溫理工大學和柏林理工大學嵌入式系統(tǒng)碩士學位。Yuting編寫了3本與自動駕駛系統(tǒng)車輛安全機制有關的科學出版物。此外,她還是經(jīng)過認證的IEC 61508功能安全專家。

Andrei Terechko是恩智浦半導體公司的高級首席架構師。Andrei擁有15年跨國公司工作經(jīng)驗,10年初創(chuàng)公司工作經(jīng)驗。目前,他致力于自動駕駛的安全機制和架構工作。Andrei與他人合作申請了15項專利、合著了20多本國際出版物和公開演講稿。

Emilio Guijarro是Real-Time Innovations (RTI)的高級汽車應用工程師,在國防和汽車行業(yè)(包括汽車娛樂中控系統(tǒng))方面擁有超過15年的工作經(jīng)驗。他于2019年加入RTI,致力于將DDS集成到汽車用例和特定開發(fā)環(huán)境(包括AUTOSAR生態(tài)系統(tǒng))。

AETweidian.jpg

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。