在軟件定義汽車中使用DDS中間件的安全機(jī)制
2021-12-06
作者:Jochen Seemann, Yuting Fu, Andrei Terechko與Emilio Guijarro Cameros
來源:恩智浦
軟件定義汽車將需要多種機(jī)制,,保證汽車在各種情況下的安全和正常行駛,。這些機(jī)制的專有解決方案需要大量的驗(yàn)證工作,,并且很難與不同的軟件架構(gòu)集成,。安全關(guān)鍵型分布式通信是否有標(biāo)準(zhǔn)化軟件框架,?
向軟件定義汽車轉(zhuǎn)變
多年來,,傳統(tǒng)車身系統(tǒng)中執(zhí)行分立功能的電子控制單元(ECU)數(shù)量一直在增加,,這些單元的可編程性較弱。然而,,目前先進(jìn)的汽車設(shè)計(jì)開始有所轉(zhuǎn)變,,逐步轉(zhuǎn)向只分布在幾個(gè)(域)處理器上的靈活且可互操作的軟件。分布式軟件執(zhí)行自動駕駛,、娛樂中控、動力和車身控制等協(xié)調(diào)任務(wù),,同時(shí)共享處理器,、網(wǎng)絡(luò)和傳感器,能夠降低系統(tǒng)成本,。轉(zhuǎn)向軟件定義汽車是汽車行業(yè)最重要的趨勢之一,,軟件功能將成為重要的差異化優(yōu)勢。
要在這個(gè)領(lǐng)域贏得競爭,,汽車制造商需實(shí)現(xiàn)快速輕松構(gòu)建模塊化分布式應(yīng)用,,而運(yùn)行這些應(yīng)用需要可編程、可靠且低成本的半導(dǎo)體設(shè)備,。因此,,具有易于使用的應(yīng)用編程接口(API)的標(biāo)準(zhǔn)化軟件平臺(如POSIX和AUTOSAR)日益受到歡迎。這些軟件平臺的一個(gè)關(guān)鍵組件是中間件,,它是各種操作系統(tǒng)和高級應(yīng)用之間的軟件層(見下圖),。簡單地說,中間件是一個(gè)軟件庫,,它使分布式系統(tǒng)組件能夠相互通信,。軟件定義汽車的安全性在很大程度上取決于中間件和底層網(wǎng)絡(luò)處理器,依靠這兩者才能實(shí)現(xiàn)分布式進(jìn)程之間可靠的實(shí)時(shí)數(shù)據(jù)通信,。
面向自動駕駛的S32G處理器上的安全檢查工具原型
一流的自動駕駛(AD)系統(tǒng)通常采用雙通道架構(gòu)來實(shí)現(xiàn)冗余,,即在正常情況下控制AD系統(tǒng)的主通道旁邊部署備用通道。如果主通道出現(xiàn)故障,,汽車控制將切換回備用通道,。這樣能夠同時(shí)提高AD系統(tǒng)的安全性和可用性。這種架構(gòu)需要一個(gè)安全檢查工具來驗(yàn)證主通道的運(yùn)行狀態(tài),并在必要時(shí)觸發(fā)安全機(jī)制,,如安全停車,。顯然,安全檢查工具的計(jì)算和通信功能非常關(guān)鍵,,這對其容錯(cuò)和可靠性提出了很高的要求,。
恩智浦S32G汽車網(wǎng)絡(luò)處理器非常適合執(zhí)行具有各種安全機(jī)制的高度可靠的AD系統(tǒng)。S32G中的Arm? Cortex?-A53內(nèi)核提供高性能計(jì)算能力,,ASIL D Cortex-M7安全內(nèi)核鎖步模式適合運(yùn)行安全關(guān)鍵型功能,。此外,面向服務(wù)型網(wǎng)關(guān)的S32G GoldBox參考設(shè)計(jì)上集成的SJA1110以太網(wǎng)交換機(jī)提供了時(shí)間敏感網(wǎng)絡(luò)(TSN)功能,,可與網(wǎng)絡(luò)上分布的高級AD應(yīng)用進(jìn)行實(shí)時(shí)可靠的通信,。
除了完整性較高的硬件外,在S32G中的Cortex-A53和Cortex-M7內(nèi)核上運(yùn)行的數(shù)據(jù)分發(fā)服務(wù)(DDS)中間件軟件負(fù)責(zé)管理分布式系統(tǒng)的數(shù)據(jù)和通信,。DDS中間件協(xié)議基于對象管理組織?(OMG?)標(biāo)準(zhǔn)化的發(fā)布-訂閱模式,。DDS已集成到各種關(guān)鍵的汽車平臺生態(tài)合作體系中,例如AUTOSAR Adaptive和ROS2,。DDS提供低延遲數(shù)據(jù)連接,、可靠性和可擴(kuò)展的以數(shù)據(jù)為中心的通信。此外,,DDS附帶了一組豐富的內(nèi)置服務(wù)質(zhì)量(QoS)策略,,可控制DDS行為,如資源消耗和通信可靠性,。如需了解DDS的基本原理和QoS策略,,可以嘗試互動式Shape演示應(yīng)用或觀看演示視頻。
請注意,,面向資源極度受限環(huán)境的DDS通過使用OMG DDS-XRCE協(xié)議實(shí)現(xiàn),。這是客戶端到代理協(xié)議,意味著DDS-XRCE客戶端節(jié)點(diǎn)通過外部代理節(jié)點(diǎn)與DDS網(wǎng)絡(luò)通信,。DDS-XRCE非常適合為物聯(lián)網(wǎng)設(shè)備開發(fā)輕量級DDS應(yīng)用,,但在安全關(guān)鍵型系統(tǒng)中使用時(shí),該代理可能會成為單點(diǎn)故障,。然而,,運(yùn)行在S32G Cortex-M7上的RTI Connext?DDS Micro無需任何橋接或代理,可直接與功能齊全的DDS網(wǎng)絡(luò)進(jìn)行通信,,從而消除了單點(diǎn)故障,。ISO 26262汽車安全環(huán)境中也可構(gòu)建集成RTI Connext DDS Micro,其安全等級最高可達(dá)ASIL D級,。
以下是對實(shí)施冗余自動駕駛通道特別有意義的DDS QoS策略:
?“截止日期”表示是否滿足數(shù)據(jù)發(fā)送和接收時(shí)間要求,。每當(dāng)不滿足發(fā)送和/或接收時(shí)間限制時(shí),,數(shù)據(jù)寫入器和數(shù)據(jù)讀取器都會通知應(yīng)用。
?“活躍度”表示新的數(shù)據(jù)寫入器(DDS發(fā)布者節(jié)點(diǎn))是否加入或仍然存在于網(wǎng)絡(luò)中,。
?“獨(dú)占所有權(quán)”和“所有權(quán)強(qiáng)度”規(guī)定,,只有具有最高強(qiáng)度值的數(shù)據(jù)寫入器才能寫入特定實(shí)例。
?“傳輸優(yōu)先級”表明數(shù)據(jù)寫入器或數(shù)據(jù)讀取器發(fā)送的數(shù)據(jù)具有特定優(yōu)先級,。要了解此QoS策略如何將DDS主題鏈接到TSN流的更多信息,,請查看我們關(guān)于DDS和TSN集成的在線研討會以及我們在GitHub上集成DDS-TSN的開源示例項(xiàng)目。
一旦DDS中間件層就緒,,就可以使用DDS內(nèi)置QoS策略,。這簡化了開發(fā)過程,極大地提高了軟件組件的互操作性和可重用性,。DDS多種發(fā)行版本,,可滿足分布式AD組件的不同系統(tǒng)要求。在分布式AD系統(tǒng)中實(shí)施DDS既設(shè)立了一個(gè)通用的通信和數(shù)據(jù)管理框架,,也毫不費(fèi)力地增加了系統(tǒng)多樣性,。此外,基于DDS構(gòu)建的系統(tǒng)可以使用單個(gè)DDS XML文件輕松建模和配置,。XML文件格式使系統(tǒng)開發(fā)更加容易,,可幫助架構(gòu)師和應(yīng)用開發(fā)人員在系統(tǒng)層面設(shè)計(jì)軟件定義汽車。
使用DDS QoS策略的安全機(jī)制
如果組合得當(dāng),,DDS QoS策略可啟用各種故障處理機(jī)制和安全措施,應(yīng)對性能限制,。DDS中間件層為在其上運(yùn)行的所有AD組件設(shè)立了一個(gè)通用框架,。無需太多工程工作即可實(shí)現(xiàn)不同規(guī)模的各種安全機(jī)制,例如故障切換到完全冗余的AD通道或組件的無縫接管,。下面將詳細(xì)介紹在概念驗(yàn)證演示設(shè)置中實(shí)現(xiàn)的安全機(jī)制,。
無縫故障切換
故障切換是安全關(guān)鍵型系統(tǒng)中廣泛使用的安全機(jī)制。它通常依賴故障靜默組件,,這些組件在發(fā)生故障時(shí)停止產(chǎn)生輸出,。通常,當(dāng)主AD通道發(fā)生靜默故障時(shí),,系統(tǒng)應(yīng)退回到冗余安全通道,,操縱汽車進(jìn)入安全狀態(tài)。該機(jī)制可以使用DDS活躍度和所有權(quán)QoS策略來實(shí)現(xiàn),。如果主通道中的汽車控制數(shù)據(jù)寫入者發(fā)生靜默故障或失去與系統(tǒng)其余部分的通信,,那么由所有權(quán)強(qiáng)度較低的安全通道的數(shù)據(jù)寫入者生成的樣本將自動對汽車執(zhí)行器可見,并開始無縫控制車輛,。同時(shí),,使用安全檢查工具來監(jiān)測由于數(shù)據(jù)寫入者故障而導(dǎo)致的DDS網(wǎng)絡(luò)活躍度變化,。系統(tǒng)可以根據(jù)此類診斷信息實(shí)施恢復(fù)機(jī)制,例如重啟,。
無縫接管
即使發(fā)生故障的AD組件不是故障靜默的,,系統(tǒng)也可以實(shí)施接管安全機(jī)制,在不影響系統(tǒng)可用性的情況下主動否決故障或不可靠的組件,??梢允褂肈DS獨(dú)占所有權(quán)和所有權(quán)強(qiáng)度QoS策略來實(shí)現(xiàn)接管。這些QoS策略控制允許哪個(gè)數(shù)據(jù)寫入者向數(shù)據(jù)讀取者發(fā)送數(shù)據(jù),。當(dāng)安全檢查工具檢測到主數(shù)據(jù)寫入者未正常運(yùn)行(例如錯(cuò)過截止日期或發(fā)送越界數(shù)據(jù))時(shí),,會觸發(fā)所有權(quán)強(qiáng)度更高的健康數(shù)據(jù)寫入者將數(shù)據(jù)發(fā)送到數(shù)據(jù)讀取者。
故障切換與接管相結(jié)合的混合方法
DDS截止日期,、活躍度,、獨(dú)占所有權(quán)和所有權(quán)強(qiáng)度可以結(jié)合在一起,實(shí)現(xiàn)同時(shí)利用故障切換和接管機(jī)制的混合機(jī)制,。例如,,通過監(jiān)測DDS網(wǎng)絡(luò)的活躍度,安全檢查工具可以在節(jié)點(diǎn)靜默故障時(shí)靈活地觸發(fā)故障切換機(jī)制,,或者在運(yùn)行的節(jié)點(diǎn)未故障靜默并發(fā)布錯(cuò)誤數(shù)據(jù)或錯(cuò)過截止日期時(shí)激活接管機(jī)制,。由于所有權(quán)強(qiáng)度QoS值不同,系統(tǒng)在主通道和安全通道之間無縫切換時(shí),,也可以輕松處理系統(tǒng)中的過渡故障,。
安全機(jī)制評估
為了在真實(shí)環(huán)境中評估在S32G上實(shí)施的基于DDS的安全機(jī)制,恩智浦與RTI(Real-Time Innovations)公司的汽車工程專家團(tuán)隊(duì)合作,。RTI是一家領(lǐng)先的自動駕駛系統(tǒng)軟件框架提供商,,經(jīng)營名為Connext DDS的DDS產(chǎn)品和工具組合。我們攜手將恩智浦安全檢查工具集成到基于Auoware.Auto的自動代客停車(AVP)演示中,,Auoware.Auto是Autware基金會的一個(gè)開源項(xiàng)目,。該演示展示了汽車如何自動駛?cè)氪屯\噲觥utoware.Auto是一個(gè)基于ROS2的成熟的端到端自動駕駛框架,,它使用DDS作為底層中間件,。
演示設(shè)置架構(gòu)
硬件在環(huán)評估演示設(shè)置的架構(gòu)如下圖所示:
?大多數(shù)Autoware.Auto AD堆棧(如定位、感知,、預(yù)測,、路徑規(guī)劃)都運(yùn)行在恩智浦BlueBox汽車高性能計(jì)算開發(fā)平臺Layerscape處理器的ROS2/DDS上。本例中的DDS中間件是RTI的Connext Pro,,通過RTI的rmw_connextdds RMW層組件與ROS2集成,。
?恩智浦車聯(lián)網(wǎng)GoldBox中的S32G在演示中充當(dāng)區(qū)域控制器,其中線控驅(qū)動軟件接口在S32G Cortex-A53內(nèi)核的ROS2/DDS上運(yùn)行,。在真實(shí)汽車中,,該接口用于將以太網(wǎng)數(shù)據(jù)包中的車輛控制命令轉(zhuǎn)換為執(zhí)行器的CAN消息,。在模擬環(huán)境中,使用它將數(shù)據(jù)在Autoware.Auto和開源LG SVL端到端模擬平臺使用的格式之間進(jìn)行轉(zhuǎn)換,。安全檢查工具帶有安全接管和故障切換機(jī)制,,基于運(yùn)行在S32G Cortex-M7內(nèi)核上的RTI DDS Connext Micro。
?外部模擬PC上運(yùn)行的LG SVL模擬器可模擬道路使用者,、自主車輛執(zhí)行器和傳感器的數(shù)據(jù),。
使用基于DDS的安全機(jī)制處理故障的演示視頻
在評估設(shè)置中,我們將類似于現(xiàn)實(shí)問題的故障注入AD系統(tǒng),,并觀察基于DDS的安全機(jī)制如何處理這種情況,。下面的演示視頻展示了安全檢查工具是如何監(jiān)測、檢測和應(yīng)對系統(tǒng)故障的,,如軟件崩潰,、掉電和網(wǎng)絡(luò)連接中斷。
結(jié)論
為了順應(yīng)向軟件定義汽車轉(zhuǎn)變的發(fā)展趨勢,,汽車系統(tǒng)軟件需要模塊化,、可靠和可擴(kuò)展。正如Autoware.Auto AVP實(shí)驗(yàn)所示,,恩智浦S32G ASIL D Cortex-M7處理器內(nèi)核能夠很好地在自動駕駛系統(tǒng)中充當(dāng)安全檢查工具,。RTI Connext DDS中間件為整個(gè)汽車系統(tǒng)的強(qiáng)大處理器和資源受限的微控制器提供了一個(gè)通信框架,從而促進(jìn)了這一進(jìn)程,。DDS憑借其豐富的服務(wù)質(zhì)量策略,,在軟件定義汽車中實(shí)現(xiàn)了多種安全機(jī)制,其工程工作量低,,互操作性強(qiáng),。
作者:
Jochen Seemann是恩智浦半導(dǎo)體的嵌入式軟件架構(gòu)師。他畢業(yè)于巴登-沃爾滕堡合作州立大學(xué)應(yīng)用計(jì)算機(jī)科學(xué)專業(yè),,在工業(yè)PC接口全棧軟件開發(fā)方面擁有5年經(jīng)驗(yàn)。Jochen還擔(dān)任過5年的汽車領(lǐng)域一級軟件工程師和架構(gòu)師,,主要致力于IVI和自動駕駛產(chǎn)品的工作,。此外,他還促進(jìn)了開源Qt框架的開發(fā),。
Yuting Fu是恩智浦半導(dǎo)體公司的系統(tǒng)工程師,。她擁有埃因霍溫理工大學(xué)和柏林理工大學(xué)嵌入式系統(tǒng)碩士學(xué)位。Yuting編寫了3本與自動駕駛系統(tǒng)車輛安全機(jī)制有關(guān)的科學(xué)出版物,。此外,,她還是經(jīng)過認(rèn)證的IEC 61508功能安全專家。
Andrei Terechko是恩智浦半導(dǎo)體公司的高級首席架構(gòu)師,。Andrei擁有15年跨國公司工作經(jīng)驗(yàn),,10年初創(chuàng)公司工作經(jīng)驗(yàn),。目前,他致力于自動駕駛的安全機(jī)制和架構(gòu)工作,。Andrei與他人合作申請了15項(xiàng)專利,、合著了20多本國際出版物和公開演講稿。
Emilio Guijarro是Real-Time Innovations (RTI)的高級汽車應(yīng)用工程師,,在國防和汽車行業(yè)(包括汽車娛樂中控系統(tǒng))方面擁有超過15年的工作經(jīng)驗(yàn),。他于2019年加入RTI,致力于將DDS集成到汽車用例和特定開發(fā)環(huán)境(包括AUTOSAR生態(tài)系統(tǒng)),。