簡介
隨著自動駕駛和電氣化的日漸盛行,互聯(lián)車輛應(yīng)用程序的不斷增多,對車輛安全的要求日趨嚴(yán)格。同時,電氣電子(E/E)車輛架構(gòu)也日漸復(fù)雜。在這些趨勢的共同影響下,解決方案架構(gòu)師和工程師都在探尋新的方法,以求應(yīng)對設(shè)計的復(fù)雜性,滿足設(shè)計對功能安全的要求,實現(xiàn)國際化合規(guī),并交付豐富而又靈活的解決方案。
我們將探討以下內(nèi)容: 對2011版和2018版ISO 26262“道路車輛-功能安全”標(biāo)準(zhǔn)的比較 AUTOSAR電子控制單元(ECU)的設(shè)計考慮因素 可能的故障場景以及應(yīng)對策略,以消除在不同汽車安全完整性級別(ASIL)中軟件組件及功能之間的干擾 多核框架如何通過處理器間的通信對單獨的域進(jìn)行維護(hù),從而在多核片上系統(tǒng)(SoC)上實現(xiàn)混合安全關(guān)鍵系統(tǒng)。
汽車行業(yè)的大趨勢
汽車行業(yè)正由四個關(guān)鍵的大趨勢推動:
1.無人駕駛:當(dāng)今的無人駕駛汽車需要在復(fù)雜的功能之間實現(xiàn)良好的互操作性,這一點只有E/E設(shè)計才能做到。因此,E/E設(shè)計市場正以7%的年均復(fù)合增長率增長,預(yù)計將于2030年增長到4690億美元。
2.互聯(lián):互聯(lián)車輛需要關(guān)注安全和數(shù)據(jù)隱私,因為每輛無人駕駛汽車每天會產(chǎn)生4萬億字節(jié)數(shù)據(jù)。
3.電氣化:對于電動汽車而言,其性能取決于電池的重量和續(xù)航里程。解決性能難題后,電動汽車將更為普及,到2030年將占據(jù)新車銷售量的55%。
4.共享移動出行:環(huán)保倡議將繼續(xù)強(qiáng)化共享移動出行的重要性,但正常運營時間和用戶來源將是成功的關(guān)鍵。據(jù)麥肯錫預(yù)測,該細(xì)分市場到2030年將產(chǎn)生1.5萬億美元的服務(wù)營收。 這些數(shù)字蘊(yùn)藏著巨大的機(jī)遇,但也潛伏著生存危機(jī)。市場參與者必須成為顛覆者,或者具備對不斷變化的市場情況和趨勢做出快速反應(yīng)的能力。
重要的安全與安防
當(dāng)今的車輛由無數(shù)復(fù)雜系統(tǒng)組成,任何系統(tǒng)故障或失效都可能引發(fā)嚴(yán)重的后果。不僅汽車制造商可能面臨代價沉重的法律訴訟和名譽(yù)損失,用戶的生命也會深受威脅。因此,從E/E系統(tǒng)設(shè)計開始,汽車制造商將功能安全放在每個開發(fā)階段的首位。 AUTOSAR因此而生。AUTOSAR是由汽車及軟件行業(yè)的300多家領(lǐng)先企業(yè)組成的全球合作組織,為智能移動出行建立了標(biāo)準(zhǔn)化軟件框架和開放式系統(tǒng)架構(gòu)。該組織聯(lián)合了31家國際汽車原始設(shè)備制造商(OEM),最暢銷的20家OEM均在其中。與其他一級參與者及供應(yīng)商一起,這些AUTOSAR合作伙伴攜手描繪了智能移動出行的未來,并共同定義了汽車開放式系統(tǒng)架構(gòu)標(biāo)準(zhǔn),以便對未來汽車應(yīng)用程序的需求提供支持。
AUTOSAR能夠確保在應(yīng)用程序?qū)訉嵤?biāo)準(zhǔn)化結(jié)構(gòu),使軟件組件可以使用虛擬功能總線通過特定端口進(jìn)行通信。該框架支持使用各種安全措施和機(jī)制來開發(fā)與安全相關(guān)的系統(tǒng)。 ISO 26262指定了用于捕捉系統(tǒng)需求、編碼和開發(fā)、測試策略和執(zhí)行以及系統(tǒng)文檔的協(xié)議。它提供了各種方法以驗證團(tuán)隊是否遵守了可重復(fù)且可靠的設(shè)計和測試流程。 該標(biāo)準(zhǔn)并非一成不變,相反,它在近幾年引入了許多修改。從軟件開發(fā)角度來看,近期修改主要體現(xiàn)在安全內(nèi)容、新興技術(shù)以及重心轉(zhuǎn)變?nèi)齻€方面: 安全內(nèi)容:增加了對安全管理和規(guī)劃等更多安全內(nèi)容的要求。刪除了重復(fù)的“精制”工作產(chǎn)品內(nèi)容。
新興技術(shù):更改了引入多核、基于模型的開發(fā)和敏捷方法后的相關(guān)內(nèi)容。
重心轉(zhuǎn)變:將更多重心放在軟件架構(gòu)、軟件安全分析、故障分析、故障注入和耦合因數(shù)等方面。
輸入確保功能安全的方法標(biāo)題
AUTOSAR標(biāo)準(zhǔn)一直在發(fā)展以適應(yīng)現(xiàn)代行業(yè)需求。讓我們來看看它為滿足安全需求而提供的方法。
●內(nèi)存分區(qū):AUTOSAR隔離了軟件組件,使它們不會更改或干擾與其他組件關(guān)聯(lián)的內(nèi)存(見圖1)。運行時環(huán)境(RTE)下的基礎(chǔ)軟件(BSW)層中的組件在模型中按照ASIL需求進(jìn)行隔離。根據(jù)指派的ASIL,每個軟件組件都分組在相應(yīng)分區(qū)中??梢允褂枚嗪讼到y(tǒng)盡量將功能分配到一個ECU,AUTOSAR支持此用例。分區(qū)式內(nèi)存系統(tǒng)可以部署在多核MCU上。內(nèi)核間的上下文切換可與內(nèi)存分區(qū)間的上下文切換保持一致,使實施的用例可以在每個內(nèi)核中單獨提供BSW功能并同時以多個內(nèi)核保證功能正常(見圖2)。
圖1:內(nèi)存級別的空間隔離
圖2:內(nèi)核級別的空間隔離
●無干擾:不同ASIL之間互不干擾是安全系統(tǒng)的基礎(chǔ)(見圖3)。如之前所述,這依賴于安全內(nèi)存在空間方面提供的隔離。隔離的另一種主要方法是時間隔離,該方法由安全通信實現(xiàn),可以提供安全執(zhí)行和數(shù)據(jù)完整性。不過,無人駕駛系統(tǒng)還依賴于同步模式管理。要確保系統(tǒng)在相同的條件下正常運行,必須通過以適當(dāng)方式保護(hù)和傳播的系統(tǒng)狀態(tài)來實現(xiàn)安全同步。在AUTOSAR系統(tǒng)中,這由運行時環(huán)境、基礎(chǔ)軟件模式管理器和ECU狀態(tài)管理器加以保障。
圖3:無干擾
●安全通信:安全通信需要保證發(fā)送方和接收方之間數(shù)據(jù)交互的完整性(見圖4)。因此,需要數(shù)據(jù)保護(hù)機(jī)制來保護(hù)通信鏈接以防出現(xiàn)故障。此類故障的示例包括:隨機(jī)硬件故障(例如,控制器局域網(wǎng)絡(luò)(CAN)收發(fā)器的寄存器損壞)、電磁(EMC)干擾以及系統(tǒng)性故障。AUTOSAR中的端到端通信保護(hù)庫可以檢測和處理運行時通信鏈接中出現(xiàn)的錯誤,能夠滿足ASIL D級安全通信的要求。
圖4:端到端通信保護(hù)
●時間隔離:對于安全執(zhí)行,我們確定時序以使系統(tǒng)的操作和反應(yīng)在分配的時隙中執(zhí)行(見圖5)。正確的時隙可以按照一組時序約束加以說明。由于固定優(yōu)先級搶占調(diào)度的原因,AUTOSAR中不強(qiáng)制要求時間分區(qū)。不過,操作系統(tǒng)(OS)提供了用于時序故障的機(jī)制。時序保護(hù)預(yù)算包括執(zhí)行時間、資源鎖定時間以及間隔時間保護(hù)預(yù)算,這些都是靜態(tài)配置的。該機(jī)制可以盡量降低任務(wù)之間的干擾,并滿足ISO 26262所要求的無錯傳播(見圖5)。最壞情況執(zhí)行時間(WCET)是任務(wù)在目標(biāo)任務(wù)序列中的最長執(zhí)行時間。對于具有較高ASIL要求的關(guān)鍵任務(wù),開發(fā)人員需要投入更多精力來提高WCET。
圖5:時間隔離
●可調(diào)度性:嵌入式系統(tǒng)通常具有實時限制。軟實時系統(tǒng)偶爾會錯過截止時間。不過,如果安全關(guān)鍵型硬實時系統(tǒng)錯過截止時間,那么它們可能會出現(xiàn)故障,造成人員傷亡或環(huán)境危險。由“速率單調(diào)”或“最早截止時間”等算法調(diào)度的OS任務(wù)有助于實現(xiàn)可調(diào)度性分析,以使任務(wù)符合處理器中的截止時間。除軟件執(zhí)行路徑外,生成的時序分析還受處理器架構(gòu)以及內(nèi)核數(shù)或分區(qū)數(shù)的影響。AUTOSAR支持OS預(yù)配,它依賴于用于實現(xiàn)可靠任務(wù)執(zhí)行的調(diào)度表。 所有這些方法都需要廣泛的工具支持。例如,在多核架構(gòu)中分配總線通信是一項頗具挑戰(zhàn)性的配置,其中涉及上千信號和數(shù)百協(xié)議數(shù)據(jù)單元(PDU)。采用AUTOSAR工作流程可以確保系統(tǒng)的行為符合預(yù)期(見圖6)。除自動化工作流程外,還必須確保設(shè)置正確以及工程任務(wù)已成功實施,包括正確指派到ASIL分區(qū),其中可以從不同角度以不同方法來分析相依性。
圖6:用于在不同分區(qū)中分配BSW和軟件組件(SWC)的工具支持
確保系統(tǒng)一致性
最后要考慮的是系統(tǒng)一致性?;谀P偷南到y(tǒng)建模方法是用于開發(fā)初步系統(tǒng)的多階段開發(fā)流程,該流程綜合考慮了ISO 26262規(guī)范的所有方面(如系統(tǒng)、硬件和軟件開發(fā))以實現(xiàn)在系統(tǒng)風(fēng)險分析中提出的功能安全目標(biāo)。第一個階段是識別執(zhí)行多領(lǐng)域系統(tǒng)建模的關(guān)鍵需求。 完成多領(lǐng)域模型后,可以提取E/E領(lǐng)域的內(nèi)容。這樣,開發(fā)人員可以確定E/E系統(tǒng)的功能定義并定義系統(tǒng)架構(gòu)以正確分配功能,并定義通過在ECU上運行的軟件而實現(xiàn)的完整嵌入式軟件流。該軟件流還應(yīng)包括電氣系統(tǒng)設(shè)計線束工程以及出版物創(chuàng)建。此外,還需要在所有階段中以全面的自動化和深度的集成對數(shù)據(jù)進(jìn)行持續(xù)驗證和確認(rèn)。這樣開發(fā)人員可以從企業(yè)產(chǎn)品生命周期管理(PLM)和應(yīng)用程序生命周期管理(ALM)以及整體項目管理等方面規(guī)范開發(fā)行為(見圖7)。
圖7:面向功能安全合規(guī)的系統(tǒng)驅(qū)動型設(shè)計
混合安全關(guān)鍵系統(tǒng)
在深入探討混合安全關(guān)鍵系統(tǒng)的概念之前,我們先來看看如何開發(fā)混合安全關(guān)鍵系統(tǒng)解決方案。 經(jīng)過多年發(fā)展,多核已從雙核進(jìn)化為四核。此后,連續(xù)內(nèi)存分配器(CMA)提供商聽取了用戶的呼聲并向ECU開發(fā)人員提供了更多的資源和算力。在繼續(xù)提供更多內(nèi)核的同時,他們還提供了更多功能,例如實時內(nèi)核、數(shù)字信號處理器(DSP)和軟內(nèi)核。這將異構(gòu)硬件的開發(fā)整合在單獨的片上系統(tǒng)(SOC)中(見圖8)。 要充分利用異構(gòu)硬件,需要從軟件角度考慮它。 異構(gòu)軟件解決方案和架構(gòu)使用異構(gòu)硬件。例如,可能存在運行于不同類型內(nèi)核上的通用型操作系統(tǒng)、實時操作系統(tǒng)(RTOS)以及裸機(jī)應(yīng)用程序。一些關(guān)鍵的考慮因素包括如何啟動系統(tǒng),如何在共享工作負(fù)載中傳遞通信等。
圖8:嵌入式片上系統(tǒng)中的異構(gòu)多處理
“到2030年,接近30%的車輛內(nèi)容將是軟件。”--麥肯錫咨詢公司 這些芯片都極為復(fù)雜。以S32G車載網(wǎng)絡(luò)處理器為例。該處理器由一組Cortex A53應(yīng)用處理器和大量的Cortex M7設(shè)備組成。在某些情況下,它們在外圍設(shè)備中裝備了雙A72處理器、一些R5處理器和各種類型的內(nèi)存,并在芯片中裝備了通信塊(見圖9)。
圖9:S32G車載網(wǎng)絡(luò)處理器
因為這種復(fù)雜性,所需的軟件數(shù)在不斷增長。隨著算力的提高,您可以將各種功能整合到單個SOC上以降低成本。這帶來了新的挑戰(zhàn),其中最為重要的一項是實現(xiàn)混合安全關(guān)鍵系統(tǒng)。
復(fù)雜性帶來的新挑戰(zhàn)
過去,您可能要準(zhǔn)備一個專用于提供功能安全的系統(tǒng),與不需要提供安全功能的其他系統(tǒng)共同運行在Linux上。得益于多核處理系統(tǒng),系統(tǒng)整合現(xiàn)在已得到普及并可以在單個SOC上實現(xiàn),您可以實現(xiàn)混合安全關(guān)鍵系統(tǒng)。其中將包含一些具有實時需求的任務(wù)關(guān)鍵型子系統(tǒng)、一些安全子系統(tǒng)以及一些經(jīng)過安全認(rèn)證的子系統(tǒng)。要確保在將這些系統(tǒng)集成到單個SOC后軟件的可靠性和安全性水平保持不變,必須隔離安全和非安全領(lǐng)域,并在這些域之間建立可靠的安全保障通信。 圖10中的示例說明了2022款凱迪拉克凱雷德中的混合安全關(guān)鍵系統(tǒng)。一方面,控制臺包含可增強(qiáng)駕駛員體驗的無線廣播、熱控制和其他子系統(tǒng)。如果無線廣播等某個不關(guān)鍵的子系統(tǒng)發(fā)生故障,它會影響駕駛體驗,但不會造成實際風(fēng)險。另一方面,控制臺還包含倒車攝像頭。如果倒車攝像頭失靈,可能會對駕駛員以及路上的其他駕駛員和行人造成危險。這是混合安全關(guān)鍵系統(tǒng)的一個現(xiàn)實示例,它利用智能座艙域控制器在一個或兩個硬件上運行了具有不同功能安全要求的多個操作系統(tǒng)。
圖10.2022款凱迪拉克凱雷德的內(nèi)部 圖11說明了具有混合安全關(guān)鍵系統(tǒng)的各種組件。除了關(guān)鍵的經(jīng)認(rèn)證的功能RTOS外(AUTOSAR非常適合它),您可能會在Linux、裸機(jī)、Nucleus或其他OS上運行不那么關(guān)鍵或非關(guān)鍵的軟件。您需要確保在不同域和進(jìn)程之間的通信以正常啟動軟件。其他的關(guān)鍵因素還包括隔離、硬件驗證和監(jiān)控、錯誤處理和資源管理。
圖11:混合關(guān)鍵系統(tǒng)的組成要素
在設(shè)計混合關(guān)鍵系統(tǒng)時,必須考慮幾個典型功能安全概念,包括:
●影響功能安全目標(biāo)的系統(tǒng)故障:典型的系統(tǒng)性故障可能由于制造和開發(fā)流程中的錯誤造成,并可能影響硬件和軟件。驗證預(yù)期功能失敗、制造漏檢或在非額定工況運行都可能造成這些故障。
●隨機(jī)故障:受硅老化或環(huán)境條件等固有因素影響,隨機(jī)故障既可能是永久故障,例如影響隨機(jī)存儲器(RAM)內(nèi)存的故障,也可能是臨時故障,例如因單事件干擾(SEU)而引起的內(nèi)存損壞。
●硬件提供的安全功能:人們?yōu)楣δ馨踩珜iT設(shè)計了軟件,利用這些軟件提供的所有安全功能非常重要:此類軟件在設(shè)計時應(yīng)具備安全功能,例如安全啟動、分離、安全及非安全系統(tǒng)隔離,以及經(jīng)過安全認(rèn)證的軟件組件。 讓我們來深入探討其中的幾個概念。
隔離 安全和非安全域之間的隔離(無論是時間隔離還是空間隔離)都非常重要。時間隔離可以通過提供專用的獨立內(nèi)核實現(xiàn),而空間隔離可以通過硬件保護(hù)單元實現(xiàn)。幸運的是,賽靈思以及其他芯片供應(yīng)商正在芯片本身之中提供這些功能。通過利用其中的部分硬件功能,我們可以從軟件角度保證對這些不同環(huán)境的隔離。
通信 硬件在實現(xiàn)隔離方面已經(jīng)有了長足的進(jìn)步,但某些領(lǐng)域必須通過軟件才能實現(xiàn)(見圖12):
●緩存驗證:地址、大小、權(quán)限等緩存參數(shù)必須先驗證才能供安全域使用,包括檢查緩存邊界和丟棄超出有效范圍的任意緩存。緩存驗證必須與合適的錯誤響應(yīng)配對使用,供用戶了解系統(tǒng)交互以檢測惡意活動。
●中斷泛洪驗證:非安全環(huán)境有可能通過中斷對通信信道造成泛洪攻擊。如果不加以特別處理,此意外負(fù)載可能會與系統(tǒng)的時間隔離要求發(fā)生沖突。通常需要實施相應(yīng)機(jī)制來抑制來自非安全端的過量中斷,或是在安全端提供輪詢模式支持。 這些功能非常重要,能夠確保為混合安全關(guān)鍵系統(tǒng)提供必要的隔離。
圖12:在混合安全關(guān)鍵系統(tǒng)中保持安全通信 圖13是一個混合安全關(guān)鍵系統(tǒng)SOC的示例,其中在實時/安全內(nèi)核上運行了符合AUTOSAR的關(guān)鍵系統(tǒng),并在各種應(yīng)用內(nèi)核上運行了左側(cè)的非關(guān)鍵系統(tǒng)。
圖13.由多核框架實現(xiàn)的混合安全關(guān)鍵系統(tǒng)SOC
結(jié)語
異構(gòu)多核SoC設(shè)計在提高算力的同時帶來了挑戰(zhàn)和機(jī)遇,例如,如何滿足對混合安全關(guān)鍵系統(tǒng)組件和功能的需求。要符合ISO 26262和安全領(lǐng)域的新近更改,開發(fā)人員必須采用更多的安全內(nèi)容,采納新的技術(shù),并努力減少故障。內(nèi)存和內(nèi)核級別的空間隔離非常重要,能夠確保避免干擾,實現(xiàn)時間隔離、可調(diào)度性和端到端的通信保護(hù)。這需要廣泛的工具支持、基于模型的轉(zhuǎn)型以及系統(tǒng)驅(qū)動型設(shè)計方法。
更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<