
- 一文帶你全面了解功能安全軟件監(jiān)控方案
- 發(fā)布時(shí)間:2024/4/9 16:54:49 修改時(shí)間:2024/4/9 18:31:30 瀏覽次數(shù):6137
-
-
引言:功能安全標(biāo)準(zhǔn)(ISO26262 Part6)提到了用于錯(cuò)誤探測(cè)的安全機(jī)制,其中就有程序流監(jiān)控,如圖1所示;本文主要探討在AUTOSAR CP以及AP的場(chǎng)景下,怎么實(shí)現(xiàn)程序流監(jiān)控。圖1 ISO26262 Part6
一、CP場(chǎng)景下的程序流監(jiān)控
CP場(chǎng)景下執(zhí)行程序流監(jiān)控的工作棧如圖2所示,包含軟件部分以及硬件部分。硬件部分就是通常所指的“硬件看門狗”,其本質(zhì)是個(gè)定時(shí)器,初始階段會(huì)被設(shè)置一個(gè)定時(shí)值,稱為“timeout”。硬件看門狗被使能工作之后,便會(huì)開始計(jì)時(shí),當(dāng)超過時(shí)間閾值,“timeout”沒有被重置(通常重置時(shí)間閾值的操作被稱為“喂狗”),硬件看門狗便會(huì)復(fù)位MCU,進(jìn)入安全狀態(tài)。
圖2 CP場(chǎng)景下的程序監(jiān)控工作流
程序監(jiān)控以及“喂狗操作”需要軟件部分的參與,軟件堆棧參考的是AUTOSAR CP架構(gòu),包含三個(gè)部分:WdgM、WdgIf以及Wdg Driver:
WdgM負(fù)責(zé)對(duì)軟件進(jìn)行監(jiān)控,如果程序運(yùn)行正確,則WdgM調(diào)用WdgIf提供的接口進(jìn)行“喂狗”,WdgIf進(jìn)一步調(diào)用Wdg Driver提供的接口進(jìn)行“喂狗”,而最終的“喂狗”操作實(shí)際由Wdg Driver完成。
如果WdgM監(jiān)控到程序運(yùn)行錯(cuò)誤,則會(huì)引發(fā)相應(yīng)的故障處理措施:通常是停止喂狗或者將硬件看門狗的定時(shí)值置為0,引發(fā)看門狗的立即復(fù)位。接下來,對(duì)此三個(gè)軟件模塊展開詳細(xì)說明。
1、WdgM模塊
WdgM模塊的作用是監(jiān)控軟件是否正常運(yùn)行,如果軟件正常運(yùn)行,則WdgM調(diào)用WdgIf模塊提供的接口進(jìn)行喂狗;如果軟件運(yùn)行中出現(xiàn)錯(cuò)誤,則執(zhí)行相應(yīng)的錯(cuò)誤處理,主要包括:通過RTE將錯(cuò)誤通知給軟件,讓其執(zhí)行恢復(fù)處理、將錯(cuò)誤報(bào)告給DEM(Diagnostic Event Manager)模塊、停止喂狗、將timeout設(shè)置為0,MCU立即重置或發(fā)出中斷信號(hào)。
相應(yīng)術(shù)語解釋
(1)SE:Supervised Entities ,監(jiān)控實(shí)體
一種軟件實(shí)體,包括在WdgM的監(jiān)控之下。每個(gè)受監(jiān)控的實(shí)體只有一個(gè)標(biāo)識(shí)符。監(jiān)控實(shí)體表示軟件組件或基礎(chǔ)軟件模塊中的檢查點(diǎn)集合。在軟件組件或基礎(chǔ)軟件模塊中可能有零個(gè)、一個(gè)或多個(gè)受監(jiān)控的實(shí)體
監(jiān)控實(shí)體和AUTOSAR中的架構(gòu)模塊之間沒有固定的關(guān)系,即SW-Cs、CDDs、RTE、BSW模塊,但通常情況下,一個(gè)監(jiān)督實(shí)體可以代表一個(gè)SW-C、一個(gè)BSW模塊或CDD中的一個(gè)可運(yùn)行對(duì)象
(2)CP:Checkpoint,檢查點(diǎn)
被監(jiān)控實(shí)體中的一個(gè)點(diǎn),在那里活動(dòng)被報(bào)告給WdgM
1)三種監(jiān)控
WdgM監(jiān)控程序是否正常運(yùn)行主要包括三種類型:
- Alive supervision:程序是否周期運(yùn)行
- Deadline supervision:程序運(yùn)行時(shí)間是否正確
- Logical supervision:程序的執(zhí)行邏輯是否正確
2)本地狀態(tài)和全局狀態(tài)
本地狀態(tài)表示的是WdgM監(jiān)控的單個(gè)SE的程序運(yùn)行狀態(tài),主要包含以下幾種:
- 狀態(tài)一:OK:監(jiān)控的SE未出現(xiàn)三種監(jiān)控錯(cuò)誤
- 狀態(tài)二:FAILED:監(jiān)控的SE出現(xiàn)Alive錯(cuò)誤,且錯(cuò)誤沒有超過Alive錯(cuò)誤容忍值;同時(shí),SE沒有出現(xiàn)Deadline和Logical錯(cuò)誤
- 狀態(tài)三:EXPIRED:監(jiān)控的SE出現(xiàn)Deadline或Logical錯(cuò)誤,或者出現(xiàn)Alive錯(cuò)誤并且Alive錯(cuò)誤次數(shù)超出容忍值
- 狀態(tài)四:DEACTIVATED:SE程序流監(jiān)控沒有使能
圖3 本地狀態(tài)轉(zhuǎn)移關(guān)系
圖4 本地狀態(tài)轉(zhuǎn)移情況說明
全局狀態(tài)表示的是WdgM監(jiān)控的所有SE的狀態(tài)匯總,主要包含以下幾種:
- 狀態(tài)一:DEACTIVATED:全局狀態(tài)的初始值
- 狀態(tài)二:OK: 所有SE的狀態(tài)都為OK或者DEACTIVATED
- 狀態(tài)三:FAILED:至少一個(gè)SE的狀態(tài)為FAILED且沒有SE的狀態(tài)為EXPIRED
- 狀態(tài)四:EXPIRED:至少一個(gè)SE的狀態(tài)為EXPIRED且次數(shù)沒有超過監(jiān)控錯(cuò)誤容忍度值
- 狀態(tài)五:STOPPED:至少一個(gè)SE的狀態(tài)為EXPIRED且次數(shù)超過監(jiān)控錯(cuò)誤容忍度值
圖5 全局狀態(tài)轉(zhuǎn)移關(guān)系圖6 全局狀態(tài)轉(zhuǎn)移情況說明
3)WdgM函數(shù)接口
圖 7 初始化WdgM模塊流程圖
圖8 WdgM_MainFunction與WdgM_CheckpointReached交互
2、WdgIf模塊
WdgIf模塊的功能是為WdgM與看門狗驅(qū)動(dòng)的交互提供函數(shù)接口。
3、Wdg Driver模塊
Wdg Driver模塊的功能是與看門狗硬件通信,負(fù)責(zé)實(shí)際的喂狗操作。
二、AP場(chǎng)景下的程序流監(jiān)控
AP場(chǎng)景下實(shí)現(xiàn)程序流監(jiān)控如圖9所示,也包含軟件部分和硬件部分。軟件部分主要是AUTOSAR-AP協(xié)議棧的PHM、SM、EM軟件模塊,硬件部分則是硬件看門狗。
AP場(chǎng)景進(jìn)行程序流監(jiān)控的相關(guān)術(shù)語、本地狀態(tài)和全局狀態(tài)、狀態(tài)之間的轉(zhuǎn)移關(guān)系和CP場(chǎng)景下的差不多,本文不再贅述。有區(qū)別的主要是執(zhí)行程序流監(jiān)控的軟件模塊和故障處理方式,接下來主要介紹這兩方面的內(nèi)容。
圖9 AP場(chǎng)景下的程序監(jiān)控工作流
1、AP軟件模塊
AP中和程序流監(jiān)控相關(guān)的主要軟件模塊是PHM、SM以及EM,具體來說,PHM負(fù)責(zé)執(zhí)行具體的程序流監(jiān)控,并基于監(jiān)控的結(jié)果決定和其它模塊的交互方式;SM負(fù)責(zé)狀態(tài)管理;EM根據(jù)SM的狀態(tài)切換請(qǐng)求執(zhí)行具體的狀態(tài)切換。
2、故障處理方式
程序執(zhí)行出現(xiàn)問題,存在三條故障處理鏈路。
鏈路一
PHM監(jiān)控到程序流出現(xiàn)問題,PHM報(bào)告給SM模塊,SM根據(jù)注冊(cè)的相應(yīng)故障處理程序進(jìn)行處理,包括停止出錯(cuò)的應(yīng)用程序;重啟出錯(cuò)的應(yīng)用程序以及重啟平臺(tái);
鏈路二
如果SM超時(shí)沒有將錯(cuò)誤處理的結(jié)果返回給PHM,PHM則直接將故障上報(bào)給EM,EM處理也分三種不同的級(jí)別:停止應(yīng)用程序、重啟應(yīng)用程序以及重啟平臺(tái);
鏈路三
如果EM出錯(cuò),沒有及時(shí)返回故障處理的結(jié)果,則PHM通知硬件看門狗復(fù)位整個(gè)平臺(tái)。
三、程序流監(jiān)控總結(jié)
程序流監(jiān)控的目的是避免程序在執(zhí)行邏輯以及執(zhí)行時(shí)序上出現(xiàn)非預(yù)期行為。程序流監(jiān)控由軟件來實(shí)現(xiàn)相應(yīng)的監(jiān)控邏輯,具體到CP以及AP端,采用的軟件模塊會(huì)有所不同,兩者相同的是都會(huì)采用硬件看門狗復(fù)位的方式來處理故障。
為了滿足功能安全的要求,僅僅了解不同監(jiān)控軟件模塊的功能以及硬件看門狗是不夠的,還需要結(jié)合具體的系統(tǒng)設(shè)計(jì)(例如故障處理時(shí)間間隔 Fault Handling Time Interval ,FHTI)來正確設(shè)置不同的軟硬件參數(shù),達(dá)到最優(yōu)的程序流監(jiān)控效果。
經(jīng)緯恒潤(rùn)功能安全團(tuán)隊(duì)成立于2008年,系國內(nèi)較早從事功能安全技術(shù)研究的團(tuán)隊(duì)。作為功能安全、預(yù)期功能安全國家標(biāo)準(zhǔn)委員會(huì)成員,經(jīng)緯恒潤(rùn)的研發(fā)流程、生產(chǎn)流程已通過功能安全開發(fā)過程認(rèn)證,功能安全開發(fā)過程達(dá)到ASIL-D,相關(guān)產(chǎn)品已成功服務(wù)于近百家國內(nèi)外整車及零部件企業(yè)。
經(jīng)緯恒潤(rùn)功能安全軟件團(tuán)隊(duì)可提供功能安全軟件開發(fā)技術(shù)咨詢服務(wù),包括功能安全軟件階段流程/產(chǎn)品咨詢、L2監(jiān)控算法開發(fā)集成和L3安全機(jī)制(安全通信、隔離、監(jiān)控、執(zhí)行和芯片AOU)的開發(fā)集成,控制器覆蓋動(dòng)力域、底盤域、智駕域和車身域等。
未來,經(jīng)緯恒潤(rùn)將緊跟行業(yè)發(fā)展趨勢(shì)和市場(chǎng)需求,結(jié)合自身汽車電子產(chǎn)品研發(fā)和國內(nèi)外咨詢實(shí)踐,一如既往地堅(jiān)持自主創(chuàng)新道路,為智能汽車安全保駕護(hù)航。
- 企業(yè)介紹
- 產(chǎn)品分類
- 圍繞車-路-云解決方案(3)
- 汽車電子產(chǎn)品(352)
- 電子系統(tǒng)研發(fā)工具(614)
- 汽車電子咨詢服務(wù)(271)
- 解決方案(306)
- 基礎(chǔ)軟件開發(fā)(3)
- 網(wǎng)絡(luò)信息安全與功能安全(5)
- 電子電氣仿真與實(shí)車測(cè)試(14)
- 車載網(wǎng)絡(luò)開發(fā)測(cè)試(16)
- 過程改進(jìn)與軟件測(cè)試(2)
- 電子電氣架構(gòu)(2)
- 教學(xué)科研平臺(tái)(5)
- 協(xié)同研發(fā)管理(1)
- 國產(chǎn)化自主研發(fā)工具(12)
- 高級(jí)別智能駕駛(16)
- 研發(fā)工具(59)
- 聯(lián)系方式
北京經(jīng)緯恒潤(rùn)科技股份有限公司
聯(lián)系人:經(jīng)緯恒潤(rùn)
地址:北京朝陽區(qū)酒仙橋路14號(hào)1幢4層
郵編:100000
電話:010-64840808-6117
傳真:
公司網(wǎng)址:http://www.hirain.com
- 該空間手機(jī)版
掃描此二維碼即可訪問該空間手機(jī)版
- 在線反饋
- 網(wǎng)友反饋
- 萬 在2025/5/20 17:17:00留言
- 留言類型:我想得到貴公司產(chǎn)品的價(jià)格信息,我讓貴公司產(chǎn)品銷售人員聯(lián)系我,
- 詳細(xì)留言:通過DOS攻擊,對(duì)硬件設(shè)備及其運(yùn)行的軟件做脆弱性診斷,主要做這些檢測(cè):ARP Flood、SYN Flood、UDP Flood、ICMP Flood
- 陳露 在2025/4/28 8:01:00留言
- 留言類型:貴公司產(chǎn)品銷售人員聯(lián)系我,
- 詳細(xì)留言:Tessy軟件咨詢
- 王水 在2024/12/17 16:55:00留言
- 留言類型:得到貴公司產(chǎn)品的價(jià)格信息,
- 詳細(xì)留言:再寫一個(gè)車輛相關(guān)的項(xiàng)目預(yù)算。想使用貴司的ModelBase仿真工具進(jìn)行多體動(dòng)力學(xué)建模仿真。想咨詢一下價(jià)格
- 黃鎮(zhèn)江 在2024/12/5 11:43:00留言
- 留言類型:貴公司產(chǎn)品銷售人員聯(lián)系我,貴公司技術(shù)支持人員聯(lián)系我,
- 詳細(xì)留言:我方需貴方提供電子油門傳感器以適配我方自研的防誤踩油門踏板。
- 龍高 在2024/9/10 9:06:00留言
- 留言類型:得到貴公司產(chǎn)品的價(jià)格信息,
- 詳細(xì)留言:Compact6_GBus TE, CN5.2.05