乳情欲乱973_一区二区三区成人A片在线观看_久久丫亚洲一区二区_久久人妻熟女中文字幕av蜜芽_无码少妇一区二区_国产精品美女久久久_97人妻人人做人碰人人爽_亚洲中文久久精品无码99_国产高清视频在线观看69_久久久久久久久久久久久9999

400-821-6015
行業(yè)資訊
您當前的位置:首頁 ? 行業(yè)資訊 ? 行業(yè)資訊
內部資訊行業(yè)資訊

基于AP AUTOSAR實現(xiàn)功能安全島

發(fā)布日期:2021-07-30

AP 標準在經(jīng)過幾年的進化后,漸漸有了越來越多的量產(chǎn)項目。其中,作者觀察到AP的一個重要使用場景為實現(xiàn)功能安全島。

1

背景


在傳統(tǒng)的硬件架構下,一般是一個MPU搭配一個從芯片MCU。MPU上運行需要高算力的應用,而且MCU側于車內總線(比如CAN)。功能安全的應用部署在MCU側,軟件棧比如選用CP AUTOSAR。

在這個架構下,受MCU算力限制,CP側無法對高算力的MPU做細顆粒的監(jiān)控。目前很多量產(chǎn)項目用到AP AUTOSAR的主要原因是在MPU上實現(xiàn)功能安全島。最近有好幾個ADAS項目采用如下軟件架構:

這樣的架構主要使用在高性能ADAS控制器上。在Linux VM側,部署各種開源機器學習框架和ADAS算法。算法工程師能夠從廣大Linux軟件生態(tài)中獲益。常見的機器學習框架,算法庫等等都在Linux上有移植。受限于Linux實現(xiàn)功能安全能力,所有的項目都把跟功能安全相關部分放在AUTOSAR側。AP AUTOSAR側一般實現(xiàn)safety應用:


  • 系統(tǒng)失效后的緊急運行功能或降級功能


  • 備份功能滿足Fail-operational的安全策略。


  • 實現(xiàn)不同算法監(jiān)控比對Linux VM側結果實現(xiàn)算法級冗余。

當然,也有RTOS廠商移植了部分框架。比如opencv等。在這種情況下,可以省去Hypervisor和Linux部分,大大降低開發(fā)集成難度。如果Safety應用要滿足ASIL等級,那么其下底下AP AUTOSAR協(xié)議棧,RTOS,Hypervisor,和重要的庫和系統(tǒng)服務也必須滿足ASIL等級。


2

底座 - 滿足功能安全的RTOS/Hypervisor和工具


為了滿足功能安全架構,目前業(yè)界主流的方案采用微內核架構的RTOS。

和LInux這樣的宏內核架構不同的是,微內核架構RTOS的內核只有最基本的系統(tǒng)服務,比如IPC,調度,內存管理。其他的所有服務和應用都屬于用戶態(tài)。包括基礎服務,比如文件系統(tǒng),網(wǎng)絡協(xié)議棧,板級支持包BSP,POSIX中間件。任何用戶態(tài)的應用,系統(tǒng)服務或者外圍驅動宕掉,內核仍然可以繼續(xù)運行。內核對應的恢復機制,比如重啟對應的服務。從信息安全角度,對于網(wǎng)絡協(xié)議棧這樣復雜度的子系統(tǒng)來說,其存在信息安全弱點是不可避免的。如果在宏內核架構下,一旦處在內核態(tài)的網(wǎng)絡協(xié)議棧被攻破,整個內核進而整個系統(tǒng)將有被攻擊者挾持的風險。除了將大部分服務移出到用戶態(tài),RTOS內核能做到對不同服務和應用之間的完全隔離。

隔離的范圍包括:CPU時間片,內存,外圍設備訪問,總線占用。這樣,從功能安全的角度達到:


  • 故障的隔離(Fault isolation);


  • 功能之間互不影響 (Interference-free)。

從軟件架構設計的角度,ASIL功能只是系統(tǒng)占比很小的的一部分。如果其能與其他QM等級的應用隔離開來,那么只有很少的一部分代碼需要做ASIL認證。這樣ASIL的工作量會大大減少。按照作者所在公司測算,與開發(fā)同樣的QM功能相比,符合ASIL-A等級的開發(fā)需要花費大概3倍的工作量。更進一步,不同ASIL等級的應用能夠在同一系統(tǒng)中共存,實現(xiàn)Mixed Criticality系統(tǒng)。信息安全架構也能很好得益于模塊之間的完全隔離。因為,高安全等級模塊能夠和低安全等級模塊之間隔離開來。這也就是TEE (Trusted Execution Environment)的設計概念。目前頂級的商用微內核RTOS內核部分能滿足ASIL-D等級。除了RTOS內核需要滿足ASIL等級之外,從軟件平臺的角度POSIX PSE51的庫也必須滿足ASIL要求。因為如果一個AP AUTOSAR的應用有ASIL要求,其依賴的所有庫都必須滿足ASIL。其中最重要的是POSIX PSE51。AP標準里定義了應用至少需有如下依賴關系。


目前業(yè)界的現(xiàn)狀為頂級RTOS供應商能提供滿足ASIL等級的POSIX PSE51庫。但是,還沒有廠商號稱POSIX PSE53/54的庫也通過了ASIL認證。然后是滿足功能安全的文件系統(tǒng)。值得注意的是,C和C++標準庫提供文件操作接口,比如,C++ fstream。目前有RTOS供應商提供滿足ASIL功能的文件系統(tǒng)。經(jīng)常容易被忽略的一點,開發(fā)ASIL Safety應用使用的編譯器也必須滿足ASIL要求。兩個方面,第一,如果編譯器不滿足ASIL要求,那么其生成的機器代碼無法保證和源代碼的對應關系。那么對于源代碼的認證并無法保證機器代碼的可靠性。第二,如上圖的應用依賴關系所示,C/C++標準庫也使用在了ASIL safety應用中。那么與編譯器配套的C/C++的標準庫也必須通過ASIL認證。目前業(yè)界的最新情況來,C99和C++11大部分能允許在Safety應用里使用。還無法達到認證C++14的標準庫。最后聊一下Hypervisor。和傳統(tǒng)Type-1 Hypervior不一樣的是,最優(yōu)的Hypervisor方案和RTOS是一體的。


也就是說AP AUTOSAR能直接在Hypervisor上面運行,而不是通過虛擬化一個RTOS之后,再在上面運行AP AUTOSAR。這樣最大的好處是減少了一次上下文切換,提高的AP AUTOSAR部分的運行效率。


3

AP AUTOSAR功能安全

整個AP AUTOSAR協(xié)議棧的體量非常大。要想整體通過ASIL作者認為可能性不大。在這里作者想特別提醒:一個號稱有ASIL-D證書的產(chǎn)品并不能代表產(chǎn)品有多高的功能安全能力。這可能是業(yè)界經(jīng)常用來marketing的一個手段。ASIL-D最多表明了產(chǎn)品開發(fā)符合了ASIL-D流程。其他任何也說明不了。真正能夠能代表一個產(chǎn)品功能安全能力的,一定需要查看產(chǎn)品的功能安全手冊。功能安全手冊的重要性作者無法更多的強調,上面應該解釋了:產(chǎn)品考慮了哪些故障場景,哪些功能允許或不允許在在安全應用里使用,在使用某個功能或者接口的時候必須滿足怎么的條件和限制。目前AP協(xié)議棧在RTOS的實現(xiàn)如下圖。

像EM,PHM,COM,PM, DM,UCM這樣功能模塊都是以獨立的進程在系統(tǒng)中出現(xiàn)。值得注意的是,每個模塊完全包含了所有依賴的庫,就像每個模塊運行在獨立的容器里。這方便每個模塊的獨立部署和升級。一般來講Platform Health Management (PHM)模塊必須符合ASIL,其ASIL等級必須和系統(tǒng)最高級別safety應用的等級相當。目前已經(jīng)有滿足ASIL-D的PHM模塊。內容包括:

  • 健康監(jiān)控:檢查應用是否正常運行,是否異常退出或者處在suspend狀態(tài)不會被OS調度。


  • Deadline監(jiān)控:檢查應用是否在規(guī)定時間完成。


  • 程序流監(jiān)控:檢查應用是否在規(guī)定時間內執(zhí)行配置好的的檢查點(checkpoint)。


  • 其他系統(tǒng)監(jiān)控:OS內核運行狀態(tài),RAM校驗值,電壓,等等和平臺細節(jié)相關的參數(shù)。


第二重要的功能安全模塊為EM(Execution Management), EM模塊必須符合ASIL等級,其ASIL等級必須和系統(tǒng)最高級別safety應用的等級相當。目前已經(jīng)有滿足ASIL-D的EM模塊。內容包括:


  • 安全初始化:和RTOS一起,保證如果safety應用需要被EM啟動,所有需要的硬件資源都可用。這里包括了CPU時間片和內存等。作者的經(jīng)驗是實現(xiàn)了ASIL等級的posix_spawn API。


  • 可靠運行:主要使用軟件Lock-step框架,實現(xiàn)在規(guī)定時間內執(zhí)行好預設應用并且比對結果。參看EM的Deterministic Client部分。


  • 可靠調度:和RTOS一起,當safety應用被EM啟動之后, 在運行過程中需保證分配的CPU時間片不受其他應用影響。


  • 可靠退出:和RTOS一起,當safety應用被(如果被SM)請求退出時,所有的有依賴關系的應用按配置的順序正常退出,而且不會出現(xiàn)系統(tǒng)異常。


順便簡短提下CM(Communication Management)和SM(State Management)的功能安全實現(xiàn)。CM模塊代碼量相當大。作者的個人觀點是無法達到ASIL等級。目前在具體項目主要是中搭配使用E2E保護。SM一般來講也是達到ASIL等級的。但是其和具體項目的上下文強相關,無法通用性的展開討論。


轉載汽車電子相關文章

轉自汽車電子與軟件


上海創(chuàng)程車聯(lián)網(wǎng)絡科技有限公司版權所有 滬ICP備11045498號-1   技術支持:網(wǎng)站建設