日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機站
  • 小程序

    汽車測試網(wǎng)

  • 公眾號
    • 汽車測試網(wǎng)

    • 在線課堂

    • 電車測試

首頁 > 汽車技術 > 正文

汽車電子硬件開發(fā)常用的安全機制

2025-04-07 08:34:10·  來源:汽車電子與軟件  作者:SASETECH社區(qū)  
 

02、控制器及周邊器件的安全機制


1. 時鐘的安全機制

看門狗是一種用于監(jiān)控MCU程序是否失控或已停止運行的定時器。如果MCU發(fā)生失效或故障,我們可以依靠看門狗的獨立路徑來重啟或復位MCU。門狗定時器 (WDT) 和MCU 在電路結構上的關系如圖5-6所示。

圖片

圖 5-6 看門狗定時器 (WDT) MCU在電路結構上的關系

從功能上看,看門狗分類如下。

(1) 超時看門狗

如果在設定的時間間隔內(nèi)未收到來自MCU的喂狗信號,則看門狗輸出復位信號。這種看門狗邏輯最簡單,但其診斷覆蓋率為低。

這種看門狗的局限在于,如果MCU的時鐘過快,過早地喂狗,它是無法發(fā)現(xiàn)的。

注:大家常說的“喂狗”其實是指:用信號觸發(fā)看門狗,使其計數(shù)器刷新,重新開始計時。

(2)窗口看門狗

窗口看門狗相比超時看門狗增加了閉合窗口時間段的設計,即在此時間段外不允許接收喂狗信號。

如果在設定的時間間隔內(nèi)沒有接收到來自MCU的信號,或過早接收到來自MCU  (或者多個類似信號),看門狗定時器則會判斷MCU發(fā)生故障并輸出復位信號。

5-7很好地解釋了過早或過晚喂狗后看門狗復位的邏輯。窗口看門狗的診斷覆蓋率為中等。這種看門狗的局限在于,如果MCU內(nèi)部的算術邏輯單元(Arithmetic  Logic  Unit,ALU)  發(fā)生問題,它是無法發(fā)現(xiàn)的。

(3) 問答看門狗

這種看門狗通?;跁r間窗口。 MCU根據(jù)“看門狗發(fā)來的問題”或者“上一次回答的答案” 或者“預設的序列”向看門狗發(fā)送這次的答案。看門狗根據(jù) MCU發(fā)送的答案與預定數(shù)據(jù)是否匹配”以及“是否在時間窗口內(nèi)”來判斷MCU 是否正常工作。診斷覆蓋率被認為是“高”。

圖片

圖 5-7 過早或過晚喂狗后看門狗復位的邏輯

如果從時鐘源上劃分,看門狗分類如下:

獨立時鐘源的看門狗。這種看門狗有獨立的時鐘源,才被認為能提供診斷覆蓋。

非獨立時鐘源的看門狗。非獨立時鐘源的看門狗一般被認為連低診斷覆蓋率都達不到。如果從看門狗的位置是否和MCU一個Die 上劃分,看門狗可以被分為外部看門狗、內(nèi)部看門狗。


通常,只有外部看門狗才被認為能提供診斷覆蓋。因為MCU的故障很可能也會影響內(nèi)部看門狗,即兩者很可能存在共因失效,導致MCU發(fā)生問題時,內(nèi)部看門狗無法觸發(fā)RESET。

2. 存儲的安全機制

(1) Parity

Parity分為奇校驗和偶校驗。

奇校驗:數(shù)據(jù)位和奇校驗位所有位上的1相加為奇數(shù)。

偶校驗:數(shù)據(jù)位和偶校驗位所有位上的1相加為偶數(shù)。


當包括奇偶校驗位在內(nèi)的奇數(shù)個位發(fā)生錯誤時,奇偶校驗可以檢測到數(shù)據(jù)傳輸發(fā)生錯誤。

奇偶校驗只需要一位就可以對數(shù)據(jù)進行校驗,但只能發(fā)現(xiàn)是否有錯誤,不能定位錯誤的具體位。且當有偶數(shù)個位發(fā)生錯誤時,無法發(fā)現(xiàn)錯誤,診斷覆蓋率為低。

(2) ECC

ECC (Error  Correcting  Code,糾錯碼)可檢測并在某些情況下糾正受保護的數(shù)據(jù)中的錯誤。ECC使用固定數(shù)量的碼位。ECC的位數(shù)取決于受保護的數(shù)據(jù)位數(shù)。當數(shù)據(jù)或其ECC 碼中的特定數(shù)量的位損壞時,ECC可以檢測錯誤。通常,ECC 可以糾正數(shù)據(jù)或其ECC碼中的一些錯誤。 ECC的診斷覆蓋率取決于冗余位數(shù),一般認為ECC的診斷覆蓋率水平可以達到高。

(3) Checksum

Checksum是指傳輸位數(shù)的累加。在傳輸結束時,接收方可以根據(jù)該數(shù)值判斷是否正確接收了數(shù)據(jù)。如果數(shù)值匹配,說明傳送正確。校驗和一般用于通信中,特別是遠距離通信,以保證數(shù)據(jù)的完整性和準確性。

Checksum診斷覆蓋率與被保護的數(shù)據(jù)和Checksum的長度有關。 一般認為,Checksum 斷覆蓋率水平可達到高。

數(shù)據(jù)發(fā)送方生成Checksum的步驟如下。

1) 將需要數(shù)據(jù)中的Checksum 位設為0。

2) 數(shù)據(jù)按每2 Byte 劃分開來,每兩字節(jié)組成一個16bit的值,若最后有單字節(jié)的數(shù)據(jù), 1 Byte 0組成2 Byte。

3) 將所有的16bit的值累加到一個32bit 的值中。

4) 將32bit 值的高16bit 值和低16bit 值相加,得到一個新的值,若新的值大于0Xffff,再將新的值的高16bit 與低16bit 相加,直到值小于等于0Xff

5) 將第四步計算得出的16bit 值按位取反(即取補碼),即可得到Checksum 值,存入相關字段即可。

數(shù)據(jù)接收方校驗的步驟如下。

1) 數(shù)據(jù)接收方把接收到的數(shù)據(jù)按發(fā)送方的方法進行累加和取反。

2) 校驗結果為零表示校驗通過;否則,校驗不通過。

(4) CRC

CRC(Cyclic  Redundancy  Check,循環(huán)冗余校驗碼)由數(shù)據(jù)nbit和校驗碼kbit構成。n+k為循環(huán)冗余校驗碼的字長,又被稱為(n+k,n) ”。數(shù)據(jù)序列之后的kbit校驗碼與nbit數(shù)據(jù)之間存在特定的關系。如果因失效等原因使nbit數(shù)據(jù)中的某一位或多位發(fā)生錯誤,這種關系就會被破壞。因此,通過檢查這一關系,可以實現(xiàn)對數(shù)據(jù)正確性的檢驗。

CRC 的診斷覆蓋率與被保護數(shù)據(jù)的長度、 CRC 的位數(shù)以及多項式種類有關。般認為,CRC 診斷覆蓋率水平可達到高。

(5) Memory  Replication

Memory  Replication(模塊備份)是功能安全中的一種高診斷覆蓋率的安全機制,其核心理念是通過對關鍵或高風險模塊進行冗余設計,使兩個或多個相同或不同的模塊實現(xiàn)同樣的功能,并且在運行時進行比較和切換,以防故障發(fā)生。

 Double  Memory  with  Hardware  or  Software  Comparison(通過硬件或軟件的雙份內(nèi)存數(shù)據(jù)比較方法)為例,通常會將地址空間復制到兩個不同的內(nèi)存中,這樣就有了兩份相同的數(shù)據(jù)。第一個內(nèi)存正常工作,第二個內(nèi)存與第一個內(nèi)存同時工作,但不影響程序運行。每次訪問內(nèi)存時,都會比較兩個內(nèi)存的輸出,如果發(fā)現(xiàn)不一致,就說明有錯誤發(fā)生,并且會給出提示。這種方法可以提高診斷覆蓋率水平,也就是檢測錯誤的能力,但需要注意考慮共因失效。

是 Memory   Replication 會極大地消耗硬件資源,且一般使用三模冗余(Triple  Modular  Redundancy, 三個模塊執(zhí)行相同的操作),將多數(shù)相同的輸出作為整個系統(tǒng)的正確輸出。該方法只有在安全性和魯棒性要求極高的系統(tǒng)中才會使用。 一般認為,Memory  Replication 的診斷覆蓋率水平可達到高。

(6) Memory  BIST(MBIST)( 01 )

MBIST 是一種結構性 DFT 技術,將芯片的測試結構置于芯片內(nèi)部。MBIST 電路通常包括測試向量生成電路、BIST 控制電路和響應分析電路三部分。通過系統(tǒng)上/下電運行來檢測內(nèi)存單元中的永久性故障,以防隨機故障潛伏在內(nèi)存單元中。

(7) MMU/MPU

MMU(存儲器管理單元)的主要功能是將輸入地址轉換為輸出地址。此轉換基于地址映射和內(nèi)存屬性信息,這些信息可從存儲在內(nèi)存中的配置表和轉換表中獲得。MMU提供的功能可以幫助軟件實現(xiàn)內(nèi)存分區(qū),即所有對內(nèi)存地址的訪問都需要經(jīng)過MMU中的表格進行檢查或轉換,使得軟件無法直接訪問物理地址,而是通過虛擬地址訪問。同時,MMU 提供基于硬件的存儲器訪問授權,從而實現(xiàn)不同進程任務的空間隔離。

MPU(存儲器保護單元)是位于存儲器內(nèi)部的一個可編程區(qū)域,它將內(nèi)存劃分為具有特定權限和訪問規(guī)則的多個區(qū)域,定義了存儲器的屬性和存儲器的訪問權限。

MPU 要實現(xiàn)的保護如下。

可以將內(nèi)存劃分為特權區(qū)域和普通區(qū)域,普通用戶禁止訪問特權區(qū)域,以此保護特權區(qū)域中的數(shù)據(jù)。

設置某區(qū)域為只讀,可以防止安全相關的數(shù)據(jù)被篡改。

檢測堆和棧的溢出以及數(shù)組是否越界。

MMU/MPU 對于非法訪問相關的失效,診斷覆蓋率水平為高。

分享到:
 
反對 0 舉報 0 收藏 0 評論 0
滬ICP備11026917號-25