根據(jù)ISO26262,功能安全是指不存在因電氣和電子系統(tǒng)故障行為引起的危害而導(dǎo)致的不合理風(fēng)險(xiǎn)。
無論垂直市場如何,這個(gè)定義都意味著對任何安全相關(guān)系統(tǒng)有很多非常具體的要求。
各種安全標(biāo)準(zhǔn)還定義了不同級別的安全完整性,即特定系統(tǒng)需要有多“安全”。例如,控制車輛制動器的系統(tǒng)將具有最高級別的安全性,因?yàn)檫@種系統(tǒng)的故障可能是災(zāi)難性的。
然而,控制駕駛員座椅電機(jī)的系統(tǒng)雖然仍具有安全要求,但相對沒有那么高的要求。在ISO26262中,這被定義為“汽車安全完整性等級”或“ASIL”。ASIL目前被定義為四個(gè)不同的級別,從“A”(最低)到“D”(最高)。這些級別與系統(tǒng)必須達(dá)到的診斷覆蓋率直接相關(guān),換句話說,與給定系統(tǒng)預(yù)期檢測到的故障數(shù)量直接相關(guān)。
根本挑戰(zhàn)
隨著汽車行業(yè)向完全自主實(shí)施邁進(jìn),人們期望這場革命將帶來一個(gè)更安全的世界。超過90%的車輛事故是由人為錯(cuò)誤引起的,新一代車輛最終可以極大地降低死亡數(shù)字。然而,在車輛上實(shí)現(xiàn)功能安全,仍有幾個(gè)基本挑戰(zhàn)需要解決。自動化的系統(tǒng)需要消耗大量的計(jì)算性能,并且,由于它們能夠控制車輛的方向和速度,因此它們需要具備最高水平的安全完整性。
那么,實(shí)現(xiàn)這一目標(biāo)的技術(shù)選擇是什么?
1. 鎖步(lock-step)
在“鎖步”中配置兩個(gè) CPU 內(nèi)核是實(shí)現(xiàn)高級別診斷覆蓋率的傳統(tǒng)方法 - 能夠檢測錯(cuò)誤情況的發(fā)生。原理很簡單,每個(gè)內(nèi)核執(zhí)行完全相同的代碼,每個(gè)內(nèi)核都將輸出反饋給一個(gè)比較邏輯模塊。
比較邏輯模塊逐周期比較輸出,只要結(jié)果相等,一切正常。如果結(jié)果之間存在差異,則可能表明需要做更多檢查或處理故障情況。
需要進(jìn)行的操作由系統(tǒng)開發(fā)人員定義,并取決于相關(guān)系統(tǒng)。它既可以直接重新啟動,或者在給定一段時(shí)間后重新檢查錯(cuò)誤條件是否仍然存在。鎖步設(shè)計(jì)固定在芯片中,因此沒有靈活性,因此,雖然擁有兩個(gè)內(nèi)核,但實(shí)際只能運(yùn)用到單個(gè)內(nèi)核的性能。
這種方法運(yùn)用的非常普遍,多年來一直適用于微控制器和不太復(fù)雜的確定性微處理器。
2. 冗余執(zhí)行(Redundant execution)
提供更高性能功能的 CPU 通常更復(fù)雜,確定性更低,因此對鎖步更具挑戰(zhàn)性。這導(dǎo)致了解決上述挑戰(zhàn)還需要考慮更多方案,軟件冗余或冗余執(zhí)行就是一種選擇。
此方法假定兩個(gè)獨(dú)立的應(yīng)用程序,運(yùn)行在不同的 CPU 內(nèi)核上,甚至在不同的虛擬機(jī)中(如果實(shí)施了虛擬化)。當(dāng)應(yīng)用的輸出可用時(shí),它們與額外的高安全完整性內(nèi)核進(jìn)行比較,以確保正確性,由于其獨(dú)立的時(shí)鐘和電源,通常被稱為“安全島”。這個(gè)安全島將負(fù)責(zé)最后的“決定和啟動”階段。此方法可以降低高計(jì)算群集上的診斷覆蓋率要求,還可以在實(shí)現(xiàn)中引入更大程度的靈活性,同時(shí)提高效率。
然而,它也大大增加了系統(tǒng)的復(fù)雜性,再加上交叉檢查的顆粒度較低。由于軟件靈活性的優(yōu)勢,這種方法可能會在未來幾年更廣泛地用于某些需要安全性和高計(jì)算性能的應(yīng)用程序。
3. 分核鎖(Split-Lock):兩全其美
最終的解決方案必須是將兩種方法的優(yōu)勢(靈活性、性能、簡單性和經(jīng)過驗(yàn)證)結(jié)合在一起的解決方案。通過引入“分核鎖”功能,高計(jì)算性能與高安全完整性支持相結(jié)合。
分核鎖與鎖步有何不同?從本質(zhì)上講,它增加了鎖步 CPU 實(shí)現(xiàn)中不可用的靈活性。它允許系統(tǒng)在啟動時(shí)配置為“拆分模式”(兩個(gè)獨(dú)立的CPU,可用于不同的任務(wù)和應(yīng)用程序)或“鎖定模式”(CPU的鎖定步進(jìn),用于高安全性完整性應(yīng)用)。這種靈活性甚至可以擴(kuò)展到支持潛在的故障操作模式 - 繼續(xù)在降級模式下運(yùn)行而不是完全關(guān)閉系統(tǒng)的能力。例如,在鎖定模式下運(yùn)行時(shí),如果一個(gè)內(nèi)核開始出現(xiàn)故障情況,系統(tǒng)可能會被靜默,故障內(nèi)核可能會下線(拆分),從而允許在降級的操作模式下繼續(xù)運(yùn)行。這種“拆分可用”功能對于部署自主功能的系統(tǒng)都至關(guān)重要。
-
cpu
+關(guān)注
關(guān)注
68文章
10825瀏覽量
211148 -
故障
+關(guān)注
關(guān)注
6文章
386瀏覽量
29370
原文標(biāo)題:鎖步,冗余執(zhí)行,以及分核鎖
文章出處:【微信號:談思實(shí)驗(yàn)室,微信公眾號:談思實(shí)驗(yàn)室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論