色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在運行時檢測SRAM故障的挑戰

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Henrik Nyholm,Jacob ? 2022-10-25 09:36 ? 次閱讀

作者:Henrik Nyholm,Jacob Lunn Lassen

在設計安全關鍵系統時,國際安全標準對我們選擇適當的流程和適當的技術來檢測和避免最終產品中的危險故障至關重要。這些標準確保我們不會像我們之前的安全工程師一樣陷入同樣的困境。

然而,這些標準的危險在于,它們假設你對底層硬件(比如微控制器)有詳細的了解,這可能會導致經驗不足的安全工程師實施不安全的設計。例如,IEC(國際電工委員會)60730標準建議使用棋盤式存儲器測試來檢測B類軟件可變存儲器中的直流故障,這比看起來更具挑戰性。

本文介紹了SRAM的邏輯和物理布局之間未記錄的差異如何導致我們無意中錯誤地實現內存測試,例如棋盤算法。標準微控制器的數據表中通常沒有必要的信息,但幸運的是,有些內存測試算法不受SRAM邏輯和物理布局差異的影響。

在運行時測試 SRAM 是否存在缺陷

SRAM存儲器顯然由IC供應商在生產中進行測試,并且有缺陷的產品不會運送給消費者。盡管如此,隨機的硬件缺陷在IC的使用壽命期間可能會并且將會出現,這是在安全關鍵應用中需要在運行時在微控制器中測試硬件的原因之一。

棋盤記憶測試

IEC 60730 (H.2.19.6.1) 等安全標準表明,對于必須符合 B 類安全級別的應用,可以使用棋盤算法來識別 SRAM 中的某些缺陷(直流故障)。通常選擇棋盤測試,因為它涵蓋了SRAM中最可能的故障,并且相對較快,這便于最大限度地減少對應用本身的性能影響。除了直流故障(位永久卡在高處或低位)之外,棋盤算法還可以檢測相鄰位相互影響的缺陷。

SRAM在邏輯上由以單詞組織的許多位組成。這些字通常為 8 位、16 位或 32 位寬,但也可能更長。在物理上,這些位被組織在數組中,其中每個位通常有八個相鄰位(參見圖1)。位中的物理缺陷會影響單個位,使其卡在高處或低位(直流故障),或者缺陷可能處于兩個位的分離中,在這種情況下,相鄰的侵略者單元(在圖1中標記為紫色)可能會影響受害單元(在圖1中標記為黃色)。攻擊者-受害者的情況通常被稱為耦合故障。從統計學上看,直流故障更容易發生,但檢測最可能的耦合故障仍然相關。

圖1 - 相鄰位之間的潛在耦合故障。

如果故障影響單個位,使該位卡在高位或低位,則可以通過寫入值 1,通過回讀來驗證值 1,然后寫入值 0 并通過回讀來驗證零,如圖 1 所示。另一方面,如果缺陷是兩個相鄰位之間的耦合故障,例如第2行中的位列9和10,則某些模式(例如所有1或全部0)不會顯示耦合故障,因為單元格在測試期間具有相同的值。

諸如相鄰單元(側面,上方和下方)之類的耦合故障具有相反的二進制值。圖 1(右下角)說明了位 10 中的位污染了位 9,并且由于位 9 不保持預期值 0,因此揭示了耦合故障。

SRAM 的物理與邏輯布局

要使棋盤算法正常工作,需要知道哪些位是相鄰位。事實證明,這是一個問題,因為數據手冊通常只描述SRAM的邏輯布局,而不是SRAM的物理組織方式。

要了解SRAM的物理布局,必須區分面向位的存儲器(BOM)和面向字的存儲器(WOM),前者當時可以訪問一個位,后者在當時讀取和寫入n位字。雖然大多數現實世界的內存都是以口碑形式實現的,但科學文獻中的經典內存測試算法通常采用BOM實現。

對于口碑存儲器,構成單詞的位的物理組織有三個主要類別:相鄰、交錯和子數組。邏輯布局將每個單詞放在同一列中前一個單詞的下面(類似地址空格),但相鄰的記憶將每個單詞放在同一行中,如圖 2 所示。交錯架構將單詞的每個位分隔到SRAM陣列的不同列和行中。最后,子陣列組織將單詞的每個位放在SRAM的不同物理上獨立的塊中。現實情況是,您不知道正確實施棋盤測試所需的物理布局。

圖 2 - 面向單詞的記憶的物理布局示例。

棋盤測試的性能和缺點

實現棋盤算法的簡單方法是交替地將值0xAA(假設是8位數據字)寫入第一個地址,并在下一個地址中0x55,直到所有被測地址都用1和0的棋盤模式填充。然后驗證該模式以檢測相鄰單元之間的任何直流或耦合故障。然后使用反向模式重復該過程。如前所述,有一個問題:內存邏輯布局中的棋盤模式可能不是底層物理布局中的棋盤模式,如圖 3 所示。

圖3 - 邏輯與物理SRAM的數據模式。

補償邏輯和物理布局之間的差異似乎是顯而易見的,但在器件的數據表中很少提供必要的信息。那么,你該怎么辦?接受較低的覆蓋范圍,畢竟診斷仍然會覆蓋直流故障和相鄰位之間的一些耦合故障嗎?向IC供應商請求布局,并為每個器件定制棋盤測試的實現?或者選擇其他算法?

既然您已經意識到棋盤測試的潛在缺點,您可以做出明智的決定。

用于 SRAM 運行時測試的替代算法

IEC 60730中針對C類安全級別提出的存儲器測試技術具有更高的故障檢測覆蓋率,但這些算法屬于可以被認為是生產測試算法的算法:它們需要更長的時間來運行,也可以檢測更罕見的故障類型,但通常會破壞存儲在SRAM中的數據,因為它們在整個SRAM上運行,而不是在子塊中運行。

一般來說,對于我們的嵌入式設計,我們不能很好地容忍這一點。因此,我們建議您考慮從生產測試 March 算法改編的混合 March 算法:這些算法可用于 WOM 優化實現,并提供高測試覆蓋率。此外,可以實現這些混合 March 算法,使其在 SRAM 的較小重疊部分上運行,以避免一次擦除 SRAM 中的所有數據,這意味著可以避免嵌入式系統的重新啟動。March算法的缺點是它們比傳統的棋盤算法計算量更大,但這是安全關鍵系統可能需要的費用。

如果您考慮將傳統的棋盤測試與March測試交換,則可以從一些微控制器供應商處找到此類實現。Microchip是提供March C-算法的性能優化實現的公司之一,作為其軟件診斷庫的一部分。Microchip實現支持整個SRAM的測試,通常在啟動時完成,以獲得最大的測試覆蓋率,以及更小的內存塊的測試,旨在減少對應用的實時影響。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7547

    瀏覽量

    151326
  • 存儲器
    +關注

    關注

    38

    文章

    7484

    瀏覽量

    163770
  • sram
    +關注

    關注

    6

    文章

    767

    瀏覽量

    114677
收藏 人收藏

    評論

    相關推薦

    FOC電機的故障檢測方法 FOC電機調試技巧大全

    FOC(Field Oriented Control,磁場定向控制)電機在運行時可能會出現各種故障,因此掌握有效的故障檢測方法和調試技巧至關重要。以下是對FOC電機
    的頭像 發表于 11-21 15:07 ?540次閱讀

    C2000?MCU的運行時堆棧大小監測

    電子發燒友網站提供《C2000?MCU的運行時堆棧大小監測.pdf》資料免費下載
    發表于 09-11 09:30 ?0次下載
    C2000?MCU的<b class='flag-5'>運行時</b>堆棧大小監測

    直線電機在運行時噪音大不大

    眾所周知,直線電機采用了簡化的結構設計,沒用中間的傳動機構,能夠減少振動和共振,使得運行時的噪音得到了較好地控制。 直線電機的主要原材料是磁鐵和銅線,由此也能看出,它的工作原理是基于磁懸浮技術,而磁懸浮技術
    的頭像 發表于 08-12 11:37 ?410次閱讀
    直線電機<b class='flag-5'>在運行時</b>噪音大不大

    三菱plc累計運行時間怎么編程

    具有重要意義。本文將詳細介紹如何使用三菱PLC編程實現累計運行時間的統計功能。 一、概述 累計運行時間是指設備或系統在一定時間內的總運行時間。在工業生產中,對設備的累計運行時間進行統計
    的頭像 發表于 06-20 11:31 ?2282次閱讀

    請問esp-idf 5.0如何在運行時調節MCPWM的定時器頻率?

    idf5.0中只提供了創建MCPWM時通過結構體mcpwm_timer_config_t初始化定時器頻率的方法,沒有提供類似v4.0版本的mcpwm_set_frequence()函數。 如何在運行時調節MCPWM的定時器頻率?
    發表于 06-12 07:14

    變頻器帶動電機運行時發抖的原因及處理方法

    變頻器作為現代工業控制領域的重要設備,廣泛應用于電機調速控制中。然而,在實際應用中,有時會遇到變頻器帶動電機運行時產生抖動的問題。這種抖動不僅影響電機的正常運行,還可能對生產效率和設備壽命造成
    的頭像 發表于 05-31 14:43 ?5652次閱讀

    如何在運行時從HSM對SWAP UCB進行編程?

    我使用的是 AURIX TC397 開發板,可以在運行時從 Tricore 域對 SWAP UCB 進行編程,但無法從 HSM 域進行編程。 我需要這種功能,以便在固件更新后交換存儲庫。 是否有我
    發表于 05-31 06:37

    stm32cubeIDE代碼運行時間如何查看?

    stm32cubeIDE 代碼運行時間,如何查看?就如 keil 調試時候那樣,可以測試代碼的運行時間。但是在stm32cubeIDE 中,一直沒有找到這個功能,不知道哪位高人可以提示下在哪里查看的?
    發表于 04-16 08:10

    在使用STM32F407ZGT6芯片做小車主控時,總是在運行時芯片突然被鎖,無法下載程序怎么解決?

    在使用STM32F407ZGT6芯片做小車主控時,總是在運行時芯片突然被鎖,無法下載程序。 使用STM32 ST-LINK Utility也無法解除保護
    發表于 03-14 07:02

    如何在運行時更改輸入和輸出之間的GPIO配置?

    正在探索如何在運行時更改輸入和輸出之間的 GPIO 配置。 我無法計算TESTBOARD_150PC_OUT緩沖區的效果:CY_GPIO_DM_PULLUP_IN_OFF
    發表于 03-05 06:20

    嵌入式電子控制單元(ECU)中如何準確找出運行時使用的RAM量?

    我知道嵌入式軟件構建工具報告程序閃存使用情況。我認為他們也報告了 RAM 使用情況,但他們是否報告了最大 RAM 使用率? 生成工具可能不知道在運行時將使用多少堆。是否還有其他構建工具不知道的 RAM 使用情況? 如何準確找出運行時使用的RAM量?
    發表于 01-31 07:48

    如何在運行時計算設計中使用的時鐘頻率?

    我想知道如何在運行時計算設計中使用的時鐘頻率(設計使用時鐘組件),尤其是組件內部的時鐘,例如 UART。 例如,使用 clock_getSourceRegister () 返回
    發表于 01-24 06:09

    如何在運行時擦除/編程UCB?

    我有一個項目需要在現場更新 SOTA。 這需要在運行時更新必要的 UCB 值。 我已經看過擦除/編程 PFLASH 和 DFLASH 的示例代碼,但我還沒有找到任何特定于 UCB 內存的代碼。 我
    發表于 01-22 07:18

    變壓器空載運行時功率因數很低是什么原因?

    變壓器空載運行時功率因數很低是什么原因? 變壓器空載運行時功率因數很低的原因有多種可能,以下將逐一介紹這些可能性。 1. 磁化電流造成的功率因數低:當變壓器空載運行時,變壓器的鐵芯需要維持磁通的運動
    的頭像 發表于 01-19 13:58 ?4339次閱讀

    變頻電機低速運行時,轉速變化大嗎?詳解轉速變化的影響因素

    ? ? ? 變頻電機低速運行時,轉速變化較小的原因有多個。下面將從電機結構、電機參數、負載特性等方面詳細解釋這些影響因素。 ? ? ? 1. 電機結構 ? ? ? 變頻電機的轉速穩定性主要由其結構
    的頭像 發表于 12-25 16:33 ?1262次閱讀
    主站蜘蛛池模板: 欧美性xxx免费看片| 亚洲伊人精品| 国产欧美精品一区二区三区-老狼 国产欧美精品国产国产专区 | 我的漂亮朋友在线观看全集免费| 成人高清网站| 色老头色老太aaabbb| 国产成人精品s8p视频| 甜性涩爱在线看| 国精品产露脸偷拍视频| 亚洲精品拍拍央视网出文| 久久99AV无色码人妻蜜| 战狼4在线观看完免费完整版| 久久精品国产欧美成人| 中国特级黄色大片| 男女XX00上下抽搐动态图| 99久久亚洲精品日本无码| 青青草久久伊人| 国产99对白在线播放| 亚洲AV无码A片在线观看蜜桃| 娇妻在床上迎合男人| 最新无码国产在线视频9299| 女性酥酥影院| 国产免费人成在线视频有码| 一个人免费视频在线观看高清版| 美女扒开屁股让男人桶| 俄罗斯人与动ZOZ0| 亚洲欧美一区二区三区四区 | 麻豆国产人妻欲求不满| 白白操在线视频| 亚洲精品无码不卡| 美女张开腿让男人桶爽无弹窗| 夫妻主vk| 中国国产不卡视频在线观看| 色狠狠xx| 久久免费特黄毛片| 国产成人自产拍免费视频| 越南女 黑人 痛苦 大叫| 日日噜噜夜夜爽爽| 久久免费资源福利资源站| 国产精品三级在线观看| 91天堂国产在线 在线播放|