在軟體定義汽車中使用DDS中介軟體的安全機制

作者 : Jochen Seemann、Yuting Fu、Andrei Terechko、Emilio Guijarro Cameros,NXP

軟體定義汽車(Software-defined cars)將需要多種機制,以保證汽車在各種情況下的安全和正常行駛。是否有標準化的軟體框架可支持關鍵性安全的分散式通訊呢?

軟體定義汽車(Software-defined cars)將需要多種機制,以保證汽車在各種情況下的安全和正常行駛。這些機制的專有解決方案需要大量的驗證工作,並且很難與不同的軟體架構整合。是否有標準化的軟體框架可支持關鍵性安全的分散式通訊呢?

向軟體定義汽車轉變

多年來,傳統車身系統中執行獨立式功能的電子控制單元(ECU)數量一直在增加,這些單元的可程式化的設計性較弱。然而,目前先進的汽車設計開始有所轉變,逐步轉向只分佈在幾個區域控制器上的靈活且可互動操作的軟體。分散式軟體執行自動駕駛(automated driving,AD)、車載娛樂(infotainment)、動力傳動(powertrain)和車身控制(body control)等協調任務,同時共用處理器、網路和感測器,能夠降低系統成本。轉向軟體定義汽車是汽車產業最重要的趨勢之一,軟體功能將成為重要的差異化優勢。

要在這個領域贏得競爭,汽車製造商需實現快速輕鬆建構模組化分散式應用,而執行這些應用需要可程式設計、可靠且低成本的半導體裝置。因此,具有易於使用的應用程式設計介面(API)的標準化軟體平台(如POSIX和AUTOSAR)日益受到歡迎。這些軟體平台的一個關鍵元件是中介軟體,它是各種作業系統和先進應用之間的軟體層(圖1)。簡單地說,中介軟體是一個軟體庫,它使分散式系統元件能夠相互通訊。軟體定義汽車的安全性在很大程度上取決於中介軟體和底層網路處理器,依靠這兩者才能實現分散式進程之間的可靠的即時資料通訊。

 

圖1:中介軟體是各種作業系統和先進應用之間的軟體層。

 

針對自動駕駛處理器上的安全檢查工具原型

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

恩智浦(NXP) S32G汽車網路處理器適合執行具有各種安全機制的高度可靠的自動駕駛系統。該處理器中的Arm Cortex-A53核心提供高性能運算能力,ASIL D Cortex-M7安全核心適合在鎖步模式下執行安全關鍵型功能。此外,針對服務型閘道器的S32G GoldBox參考設計整合的SJA1110乙太網路交換機提供了時效性網路(TSN)功能,可與網路上分佈的高階自動駕駛應用進行即時可靠的通訊。

除了完整性較高的硬體外,在車用網路處理器中的Cortex-A53和Cortex-M7核心上運作的資料分發服務(DDS)中介軟體軟體負責管理分散式系統的資料和通訊。DDS中介軟體協定基於物件管理組織(OMG)標準化的發佈-訂閱模式。DDS已整合到各種關鍵的汽車平台生態合作體系中,如AUTOSAR Adaptive和ROS2。DDS提供低延遲資料連接、可靠性和可擴展的以資料為中心的通訊。此外,DDS附帶了一組豐富的內建服務品質(QoS)策略,可控制DDS行為,如資源消耗和通訊可靠性。

請注意,針對資源極度受限環境的DDS透過使用OMG DDS-XRCE協議實現。這是用戶端到代理協定,意味著DDS-XRCE用戶端節點利用外部代理節點與DDS網路通訊。DDS-XRCE非常適合為物聯網裝置開發羽量級DDS應用,但在安全關鍵型系統中使用時,該代理可能會成為單點故障。然而,運作在處理器Cortex-M7上的RTI Connext DDS Micro無需任何橋接,可直接與功能齊全的DDS網路進行通訊,從而消除了單點故障。ISO 26262汽車安全環境中也可建構整合RTI Connext DDS Micro,其安全等級最高可達ASIL D等級。

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

  • 「截止日期」表示是否滿足資料發送和接收時間要求。每當不滿足發送和/或接收時間限制時,資料寫入器和資料讀取器都會通知應用;
  • 「活躍度」表示新的資料寫入器(DDS發佈者節點)是否加入或仍然存在於網路中;
  • 「獨佔所有權」和「所有權強度」規定,只有具有最高強度值的資料寫入器才能寫入特定實例;
  • 「傳輸優先順序」說明資料寫入器或資料讀取器發送的資料具有特定優先順序。

一旦DDS中介軟體層就緒,就可以使用DDS內建QoS策略。這簡化了開發過程,極大地提高軟體元件的互通性和再使用性。DDS分佈有多種版本,可滿足分散式自動駕駛元件的不同系統要求。在分散式自動駕駛系統中實施DDS既設立了一個通用的通訊和資料管理框架,也毫不費力地增加了系統多樣性。此外,基於DDS建構的系統可以使用單個DDS XML文檔輕鬆建模和配置。XML檔案格式使系統開發更加容易,可幫助架構師和應用開發人員在系統層面設計軟體定義汽車。

使用DDS QoS策略的安全機制

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

無縫故障切換

故障切換是安全關鍵型系統中廣泛使用的安全機制。它通常依賴故障靜默元件,這些元件在發生故障時停止產生輸出。通常,當主自動駕駛通道靜默發生故障時,系統應退回到冗餘秘密頻道,操縱汽車進入安全狀態。

該機制可以使用DDS活躍度和所有權QoS策略來實現。如果主通道中的汽車控制資料寫入器發生靜默故障或失去與系統其餘部分的通訊,那麼由所有權強度較低的秘密頻道資料寫入器生成的樣本將自動對汽車執行器可見,並開始無縫控制車輛。同時,使用安全檢查工具來監測由於資料寫入器故障而導致的DDS網路活躍度變化,系統可以根據此類診斷資訊實施恢復機制,例如重啟。

無縫接管

即使發生故障的自動駕駛元件不是故障靜默,系統也可以實施接管安全機制,在不影響系統可用性的情況下主動否決故障或不可靠的元件。可以使用DDS獨佔所有權和所有權強度QoS策略來實現接管,這些QoS策略控制允許哪個資料寫入器向資料讀取器發送資料。當安全檢查工具檢測到主資料寫入器未正常運作(例如錯過截止日期或發送越界資料)時,會觸發所有權強度更高的健康資料寫入器將資料發送到資料讀取器。

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

DDS截止日期、活躍度、獨佔所有權和所有權強度可以結合在一起,實現同時利用故障切換和接管機制的混合機制。例如,利用監測DDS網路的活躍度,安全檢查工具可以在節點靜默故障時靈活地觸發故障切換機制,或者在運作的節點未故障靜默並發佈錯誤資料或錯過截止日期時啟動接管機制。由於所有權強度QoS值不同,系統在主通道和秘密頻道之間無縫切換時,也可以輕鬆處理系統中的過渡故障。

安全機制評估

為了在真實環境中評估基於DDS的S32G處理器安全機制,恩智浦與RTI (Real-Time Innovations)的汽車工程專家團隊合作。兩家公司將恩智浦安全檢查工具整合到基於Auoware.Auto的自動代客停車(AVP)演示中,Auoware.Auto是Autware基金會的一個開放原始碼專案,該演示展示了汽車如何自動駛入代客停車場。Autoware.Auto是一個基於ROS2的成熟的端到端自動駕駛框架,它使用DDS作為底層中介軟體。

演示設置架構

硬體在迴路評估演示設置的架構如圖2所示:

  • 大多數Autoware.Auto AD堆疊(如定位、感知、預測、路徑規劃)都執行在恩智浦BlueBox汽車運算開發平台處理器的ROS2/DDS上。本例中的DDS中介軟體是RTI的Connext Pro,透過RTI的rmw_connextdds RMW層組件與ROS2整合。
  • 恩智浦車聯網GoldBox中的S32G在演示中充當網域控制站,其中線控驅動軟體介面在S32G Cortex-A53核心的ROS2/DDS上運作。在真實汽車中,該介面用於將乙太網路資料封包中的車輛控制命令轉換為執行器的CAN消息。在類比環境中,使用它將資料在Autoware.Auto和開放原始碼LG SVL端到端模擬平台使用的格式之間進行轉換。安全檢查工具帶有安全接管和故障切換機制,基於運作在S32G Cortex-M7核心上的RTI DDS Connext Micro。
  • 外部模擬PC上運作的LG SVL模擬器可模擬道路使用者、自主車輛執行器和感測器的資料。

 

圖2:硬體在迴路評估演示設置的架構。

 

結論

為了順應向軟體定義汽車轉變的發展趨勢,汽車系統軟體需要模組化、可靠和可擴展。正如Autoware.Auto AVP實驗所示,恩智浦處理器核心能夠在自動駕駛系統中充當安全檢查工具。RTI Connext DDS中介軟體為整個汽車系統的強大處理器和資源受限的微控制器提供了一個通訊框架,從而促進了這一進程。DDS憑藉其豐富的服務品質策略,在軟體定義汽車中實現了多種安全機制,其工程工作量低、互通性強。

本文同步刊登於《電子工程專輯》雜誌2022年3月號

 

 

 

 

 

 

加入我們官方帳號LINE@,最新消息一手掌握!

發表評論