有關(guān)智能汽車MCU功能安全的6個經(jīng)典問題
2018-05-11 10:01:35· 來源:NXP客棧
在產(chǎn)品中實(shí)現(xiàn)安全機(jī)制,可防止失效事件導(dǎo)致單點(diǎn)故障或減少殘余故障,并防止故障潛伏。支持功能安全應(yīng)用的MCU,一定提供了諸多安全機(jī)制。以下是NXP總結(jié)的有關(guān)MCU安全機(jī)制的6個經(jīng)典問題。
在產(chǎn)品中實(shí)現(xiàn)安全機(jī)制,可防止失效事件導(dǎo)致單點(diǎn)故障或減少殘余故障,并防止故障潛伏。支持功能安全應(yīng)用的MCU,一定提供了諸多安全機(jī)制。以下是NXP總結(jié)的有關(guān)MCU安全機(jī)制的6個經(jīng)典問題。
Q1: 什么是安全機(jī)制? 為什么微控制器需要安全機(jī)制?
ISO26262標(biāo)準(zhǔn)里,有安全措施(safety measure)和安全機(jī)制(safety mechanism)兩個概念:
Safety Measure:activity or technical solution to avoid or control systematic failures and to detect random hardware failures or control random hardware failures, or mitigate their harmful effects;
Safety mechanism:technical solution implemented by E/E functions or elements, or by other technologies, to detect faults or control failures in order to achieve or maintain a safe state.
Safety measure的概念定義更寬泛,包含safety mechanism的定義范疇,大家時(shí)常提及的MCU的安全機(jī)制或產(chǎn)品設(shè)計(jì)中的安全機(jī)制,應(yīng)該是safety mechanism這個概念。
在產(chǎn)品中實(shí)現(xiàn)安全機(jī)制,可防止失效事件導(dǎo)致單點(diǎn)故障或減少殘余故障,并防止故障潛伏。支持功能安全應(yīng)用的MCU,一定提供了諸多安全機(jī)制,如:ECC/Lockstep/Watchdog/CMU/BIST等。
安全機(jī)制必不可少,行業(yè)內(nèi)還出現(xiàn)支持ASIL B或ASIL D應(yīng)用的MCU,兩者最核心的差異就在可用安全機(jī)制的多少上。
Q2: 有軟件安全機(jī)制和硬件安全機(jī)制的區(qū)分嗎?
大部分安全機(jī)制是要求軟硬件配合完成的,但也有少部分純硬件安全機(jī)制或純軟件安全機(jī)制。
比如常見的Lockstep安全機(jī)制,可認(rèn)為是一種硬件安全機(jī)制,在MCU上此機(jī)制的實(shí)現(xiàn)基本對用戶應(yīng)用層軟件透明。
Lockstep鎖步核校驗(yàn)
一些基本由用戶軟件自行實(shí)現(xiàn)的安全機(jī)制,比如CAN通信中的frame Counter,是在多幀傳輸中為了防止楨丟失或者幀錯亂通過應(yīng)用層軟件對報(bào)文進(jìn)行的編碼或加密,這種安全機(jī)制可認(rèn)為是純軟件的安全機(jī)制。
Q3:安全機(jī)制與故障容錯時(shí)間有關(guān)系嗎?
安全機(jī)制就是為了在故障容錯時(shí)間內(nèi),有效檢測故障控制失效影響,并維持系統(tǒng)的安全狀態(tài)。安全機(jī)制的設(shè)計(jì)與使用必須考慮故障容錯時(shí)間。目前MCU安全目標(biāo)對應(yīng)的故障容錯時(shí)間一般為10ms,用戶在使用功能安全MCU時(shí)一定要考慮這個時(shí)間,并且零部件產(chǎn)品級的故障容錯時(shí)間需要大于MCU的FTTI。
再結(jié)合實(shí)例討論一下SPC5744P 模數(shù)轉(zhuǎn)換器的安全機(jī)制和故障容錯時(shí)間的關(guān)系。SPC5744P 的ADC提供了自測試模式,通過寄存器配置與操作,某個測試通道可獲取參考電壓與帶隙基準(zhǔn)電壓的比值,正常情況下,這個比值應(yīng)該是一個預(yù)期中的固定常量,當(dāng)參考電壓有波動或者帶隙電壓失效后,通過該自測試可及時(shí)發(fā)現(xiàn)問題,提示用戶ADC轉(zhuǎn)換數(shù)據(jù)已經(jīng)不可信。
這個自測試的功能就是一條安全機(jī)制,使用該安全機(jī)制就需要充分考慮故障容錯時(shí)間。用戶產(chǎn)品層某個安全相關(guān)功能若使用到該ADC,假設(shè)對應(yīng)的安全目標(biāo)的故障容錯時(shí)間為100ms,那么建議用戶必須在100ms以內(nèi)至少啟用一次SPC5744P提供的這條ADC Self Test,以保證在Delta Time =100ms 時(shí)間內(nèi),ADC均可認(rèn)為在正常工作;另外一層意義上講,如果某條安全機(jī)制不能在系統(tǒng)故障容錯時(shí)間之內(nèi)檢測到失效事件及影響,這也是沒有意義的安全機(jī)制,對用戶的功能安全開發(fā)無實(shí)際幫助。

Q4:功能安全的微控制器,應(yīng)如何選擇安全機(jī)制?
在功能安全開發(fā)中,選定一款符合功能安全要求的微控制器,到底需要使用哪些安全機(jī)制也是工程師需要重點(diǎn)考慮的問題。原則上,一款A(yù)SIL D的微控制器,把MCU自帶的安全機(jī)制全部用上,并啟用safety manual 里要求的一些外部機(jī)制 均可支持用戶完成ASIL D的功能安全開發(fā),但理解和實(shí)現(xiàn)所有的安全機(jī)制,極具挑戰(zhàn)。
這里簡單總結(jié)一下,一些基本的安全機(jī)制是必須啟用的,如:針對Core的Lockstep、針對RAM/Flash的ECC、針對電源的監(jiān)控、針對時(shí)鐘的監(jiān)控(CMU及QA Watchdog)、針對ADC的自測試,以及針對安全機(jī)制或寄存器的BIST等。 其他一些安全機(jī)制,可視實(shí)際使用了MCU什么資源再針對性的選擇相關(guān)的安全機(jī)制,比如使用了CAN通信,可選擇使用E2E保護(hù)機(jī)制,這是可以參考MCU Safety Manual及ISO26262-5 附錄D的安全機(jī)制列表進(jìn)行評估。

最后,還得通過量化的FMEDA計(jì)算來檢驗(yàn)是否選擇了足夠的安全機(jī)制,原則上能通過FMEDA計(jì)算,達(dá)到相應(yīng)的量化指標(biāo),即可認(rèn)為選擇的安全機(jī)制已經(jīng)足夠;若FMEDA計(jì)算不達(dá)標(biāo),說明還需要啟用更多的安全機(jī)制。
Q5: 如何保障安全機(jī)制本身的安全?
安全機(jī)制本身也可能出現(xiàn)失效,這在功能安全里一般被認(rèn)定為latent fault,不屬于單點(diǎn)失效。SPC5744P是支持ASIL D應(yīng)用要求的MCU,針對這款MCU內(nèi)部提供多種安全機(jī)制的自測試,常見的有MBIST和LBIST,是針對儲存和邏輯部分的內(nèi)嵌自測試,BIST一般會在MCU上電后開始自測試,自測試通過MCU才能正常上電,這也是保證上電后MCU安全機(jī)制有效可用的一種方式。
NXP為方便用戶進(jìn)行功能安全開發(fā),同時(shí)提供Coretest和sBoot,這兩套代碼包均包含對部分MCU安全機(jī)制的自測試功能實(shí)現(xiàn)。
ISO26262同時(shí)要求,針對ASILD的應(yīng)用,其安全機(jī)制可以在一次駕駛循環(huán)內(nèi)測試一次,針對MCU一次上下電,即是一次駕駛循環(huán)。ISO2626這條要求,說明針對安全機(jī)制,不用在每個FTTI故障容錯時(shí)間內(nèi)都對安全機(jī)制進(jìn)行測試,這也減輕了軟件開發(fā)工作量。
Q6: AUTOSAR或MCAL是否自帶足夠的安全機(jī)制?
AUTOSAR只是一套標(biāo)準(zhǔn)的基礎(chǔ)軟件架構(gòu),用戶需要在此基礎(chǔ)上進(jìn)行二次開發(fā),加入更多的安全機(jī)制才能符合功能安全要求,但AUTOSAR基礎(chǔ)架構(gòu)部分已支持四大安全機(jī)制。

MCAL更沒有提供足夠的安全機(jī)制,MCAL只是MCU抽象層的驅(qū)動代碼包,提供符合AUTOSAR的各項(xiàng)標(biāo)準(zhǔn)接口函數(shù),用戶可利用這些功能代碼庫去實(shí)現(xiàn)更多的安全機(jī)制。
所以,用戶購買了MCAL或者AUTOSAR之后,不代表已經(jīng)實(shí)現(xiàn)了軟件功能安全機(jī)制的開發(fā),還需要功能安全軟件工程師在此基礎(chǔ)上,實(shí)現(xiàn)具體的安全機(jī)制。
Q1: 什么是安全機(jī)制? 為什么微控制器需要安全機(jī)制?
ISO26262標(biāo)準(zhǔn)里,有安全措施(safety measure)和安全機(jī)制(safety mechanism)兩個概念:
Safety Measure:activity or technical solution to avoid or control systematic failures and to detect random hardware failures or control random hardware failures, or mitigate their harmful effects;
Safety mechanism:technical solution implemented by E/E functions or elements, or by other technologies, to detect faults or control failures in order to achieve or maintain a safe state.
Safety measure的概念定義更寬泛,包含safety mechanism的定義范疇,大家時(shí)常提及的MCU的安全機(jī)制或產(chǎn)品設(shè)計(jì)中的安全機(jī)制,應(yīng)該是safety mechanism這個概念。
在產(chǎn)品中實(shí)現(xiàn)安全機(jī)制,可防止失效事件導(dǎo)致單點(diǎn)故障或減少殘余故障,并防止故障潛伏。支持功能安全應(yīng)用的MCU,一定提供了諸多安全機(jī)制,如:ECC/Lockstep/Watchdog/CMU/BIST等。
安全機(jī)制必不可少,行業(yè)內(nèi)還出現(xiàn)支持ASIL B或ASIL D應(yīng)用的MCU,兩者最核心的差異就在可用安全機(jī)制的多少上。
Q2: 有軟件安全機(jī)制和硬件安全機(jī)制的區(qū)分嗎?
大部分安全機(jī)制是要求軟硬件配合完成的,但也有少部分純硬件安全機(jī)制或純軟件安全機(jī)制。
比如常見的Lockstep安全機(jī)制,可認(rèn)為是一種硬件安全機(jī)制,在MCU上此機(jī)制的實(shí)現(xiàn)基本對用戶應(yīng)用層軟件透明。
Lockstep鎖步核校驗(yàn)
- 主核和檢查核都可以從XBAR和緩存陣列讀數(shù)據(jù)
- 只有主核對XBAR和緩存陣列進(jìn)行寫操作
- 主核和檢查核都可對緩沖控制讀寫數(shù)據(jù)
- 主核的輸出會送到XBAR和RCCU
- 檢查核的輸出只能送到RCCU
- 檢查核位于安全域,物理上與主核隔離

一些基本由用戶軟件自行實(shí)現(xiàn)的安全機(jī)制,比如CAN通信中的frame Counter,是在多幀傳輸中為了防止楨丟失或者幀錯亂通過應(yīng)用層軟件對報(bào)文進(jìn)行的編碼或加密,這種安全機(jī)制可認(rèn)為是純軟件的安全機(jī)制。
Q3:安全機(jī)制與故障容錯時(shí)間有關(guān)系嗎?
安全機(jī)制就是為了在故障容錯時(shí)間內(nèi),有效檢測故障控制失效影響,并維持系統(tǒng)的安全狀態(tài)。安全機(jī)制的設(shè)計(jì)與使用必須考慮故障容錯時(shí)間。目前MCU安全目標(biāo)對應(yīng)的故障容錯時(shí)間一般為10ms,用戶在使用功能安全MCU時(shí)一定要考慮這個時(shí)間,并且零部件產(chǎn)品級的故障容錯時(shí)間需要大于MCU的FTTI。
再結(jié)合實(shí)例討論一下SPC5744P 模數(shù)轉(zhuǎn)換器的安全機(jī)制和故障容錯時(shí)間的關(guān)系。SPC5744P 的ADC提供了自測試模式,通過寄存器配置與操作,某個測試通道可獲取參考電壓與帶隙基準(zhǔn)電壓的比值,正常情況下,這個比值應(yīng)該是一個預(yù)期中的固定常量,當(dāng)參考電壓有波動或者帶隙電壓失效后,通過該自測試可及時(shí)發(fā)現(xiàn)問題,提示用戶ADC轉(zhuǎn)換數(shù)據(jù)已經(jīng)不可信。
這個自測試的功能就是一條安全機(jī)制,使用該安全機(jī)制就需要充分考慮故障容錯時(shí)間。用戶產(chǎn)品層某個安全相關(guān)功能若使用到該ADC,假設(shè)對應(yīng)的安全目標(biāo)的故障容錯時(shí)間為100ms,那么建議用戶必須在100ms以內(nèi)至少啟用一次SPC5744P提供的這條ADC Self Test,以保證在Delta Time =100ms 時(shí)間內(nèi),ADC均可認(rèn)為在正常工作;另外一層意義上講,如果某條安全機(jī)制不能在系統(tǒng)故障容錯時(shí)間之內(nèi)檢測到失效事件及影響,這也是沒有意義的安全機(jī)制,對用戶的功能安全開發(fā)無實(shí)際幫助。

Q4:功能安全的微控制器,應(yīng)如何選擇安全機(jī)制?
在功能安全開發(fā)中,選定一款符合功能安全要求的微控制器,到底需要使用哪些安全機(jī)制也是工程師需要重點(diǎn)考慮的問題。原則上,一款A(yù)SIL D的微控制器,把MCU自帶的安全機(jī)制全部用上,并啟用safety manual 里要求的一些外部機(jī)制 均可支持用戶完成ASIL D的功能安全開發(fā),但理解和實(shí)現(xiàn)所有的安全機(jī)制,極具挑戰(zhàn)。
這里簡單總結(jié)一下,一些基本的安全機(jī)制是必須啟用的,如:針對Core的Lockstep、針對RAM/Flash的ECC、針對電源的監(jiān)控、針對時(shí)鐘的監(jiān)控(CMU及QA Watchdog)、針對ADC的自測試,以及針對安全機(jī)制或寄存器的BIST等。 其他一些安全機(jī)制,可視實(shí)際使用了MCU什么資源再針對性的選擇相關(guān)的安全機(jī)制,比如使用了CAN通信,可選擇使用E2E保護(hù)機(jī)制,這是可以參考MCU Safety Manual及ISO26262-5 附錄D的安全機(jī)制列表進(jìn)行評估。

最后,還得通過量化的FMEDA計(jì)算來檢驗(yàn)是否選擇了足夠的安全機(jī)制,原則上能通過FMEDA計(jì)算,達(dá)到相應(yīng)的量化指標(biāo),即可認(rèn)為選擇的安全機(jī)制已經(jīng)足夠;若FMEDA計(jì)算不達(dá)標(biāo),說明還需要啟用更多的安全機(jī)制。
Q5: 如何保障安全機(jī)制本身的安全?
安全機(jī)制本身也可能出現(xiàn)失效,這在功能安全里一般被認(rèn)定為latent fault,不屬于單點(diǎn)失效。SPC5744P是支持ASIL D應(yīng)用要求的MCU,針對這款MCU內(nèi)部提供多種安全機(jī)制的自測試,常見的有MBIST和LBIST,是針對儲存和邏輯部分的內(nèi)嵌自測試,BIST一般會在MCU上電后開始自測試,自測試通過MCU才能正常上電,這也是保證上電后MCU安全機(jī)制有效可用的一種方式。
NXP為方便用戶進(jìn)行功能安全開發(fā),同時(shí)提供Coretest和sBoot,這兩套代碼包均包含對部分MCU安全機(jī)制的自測試功能實(shí)現(xiàn)。
ISO26262同時(shí)要求,針對ASILD的應(yīng)用,其安全機(jī)制可以在一次駕駛循環(huán)內(nèi)測試一次,針對MCU一次上下電,即是一次駕駛循環(huán)。ISO2626這條要求,說明針對安全機(jī)制,不用在每個FTTI故障容錯時(shí)間內(nèi)都對安全機(jī)制進(jìn)行測試,這也減輕了軟件開發(fā)工作量。
Q6: AUTOSAR或MCAL是否自帶足夠的安全機(jī)制?
AUTOSAR只是一套標(biāo)準(zhǔn)的基礎(chǔ)軟件架構(gòu),用戶需要在此基礎(chǔ)上進(jìn)行二次開發(fā),加入更多的安全機(jī)制才能符合功能安全要求,但AUTOSAR基礎(chǔ)架構(gòu)部分已支持四大安全機(jī)制。

MCAL更沒有提供足夠的安全機(jī)制,MCAL只是MCU抽象層的驅(qū)動代碼包,提供符合AUTOSAR的各項(xiàng)標(biāo)準(zhǔn)接口函數(shù),用戶可利用這些功能代碼庫去實(shí)現(xiàn)更多的安全機(jī)制。
所以,用戶購買了MCAL或者AUTOSAR之后,不代表已經(jīng)實(shí)現(xiàn)了軟件功能安全機(jī)制的開發(fā),還需要功能安全軟件工程師在此基礎(chǔ)上,實(shí)現(xiàn)具體的安全機(jī)制。
編輯推薦
最新資訊
-
移動版來了!思看科技發(fā)布全場景三維
2025-09-17 20:26
-
新品 | 靈動式三維掃描系統(tǒng)NimbleTra
2025-09-17 20:24
-
一箱收納,雙模一體|思看科技發(fā)布跟
2025-09-17 20:23
-
“京采組合”創(chuàng)領(lǐng)變革 —— 一站式商
2025-09-16 17:53
-
旭化成發(fā)布新型傳感解決方案,無需攝
2025-09-16 15:53