女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

MARCH 主要提供了哪兩種 RAM 檢測方式?

lhl545545 ? 來源:與非網 ? 作者:佚名 ? 2020-08-28 14:44 ? 次閱讀

隨著越來越多的工業應用對產品的可靠性和安全性要求越來越高,我們在做產品設計的時候不僅要正確的實現產品功能,同時也需要通過一些功能安全認證,比如家電行業的 IEC60730 等或者 ISO13849 等。一般的系統故障可以通過設計的迭代和嚴格測試來避免,但是硬件的隨機失效理論上是無法完全消除的,所以要想提高硬件隨機失效的診斷覆蓋率,就需要軟硬件診斷機制來保障。

作為系統的核心控制部分,MCU 主平臺的診斷機制就是最關鍵的部分。針對一般通用的 MCU,以 Piccolo C2000 系列為例,硬件上提供了一些診斷或者校驗機制,如下所示:

MARCH 主要提供了哪兩種 RAM 檢測方式?

同時 TI 也提供了一些軟件診斷方案,如 MSP430 IEC60730 Software Package 和 C2000 SafeTI 60730 SW Packages 軟件庫等,可以提供很多的診斷測試功能,例如 CPU時鐘、外設、RAM 等的診斷,已經可以滿足一部分的需求。如下圖所示為 C2000 SafeTI 60730 SW Packages 中的功能和資源消耗。

然而在實際的應用中,有些安全標準要求對 RAM 進行周期性的在線診斷,同時不能影響程序的正常運行。但是程序在運行過程中存儲在 RAM 中的數據會實時的變化,而 RAM 的診斷往往會破壞這些存儲的數據,比如電機控制類的實時性要求較高的場合。所以在沒有 ECC 的情況下,如何對 RAM 進行實時在線的診斷是一個值得討論的問題。

下面以電機控制為例,討論硬件校驗的實現,尤其是 RAM 在線檢測的過程。

1. 系統軟件流程

非破壞性的診斷可以放在背景循環里面進行,這些軟件診斷不會對實時性中斷造成影響,例如看門狗測試,內部晶振測試,FLASH CRC 校驗,靜態變量 RAM CRC 校驗,堆棧溢出判斷,以及 GPIO 口診斷等。另外一些破壞性的或者對實時控制有影響的診斷,可以放到主中斷中進行,如 RAM March 校驗,ALU 診斷以及 CPU 寄存器診斷等。具體流程圖如下所示:

MARCH 主要提供了哪兩種 RAM 檢測方式?

2. RAM 診斷的方法

以 C2000 SafeTI 60730 SW Packages 為例,主要提供了兩種 RAM 檢測方式。

一種是 CRC 檢測 STL_CRC_TEST_testRam,此功能用于測試 RAM 的位錯誤。該測試以 0 和 1 的交替模式填充被測 RAM 區域,并使用 PSA 計算 RAM 的 CRC。對于給定的 RAM 存儲器區域,如果 RAM 存儲器中沒有任何 stuck bit,則 CRC 值應始終相同。并行串行分析器(PSA)是 c28x 器件中的一個模塊,可用于生成 40 位給定存儲區域上的 CRC。 PSA 多項式為 Y = x40 + x21 + x19 + x2 + 1。PSA 通過監視數據讀取數據總線(DRDB)來計算 CRC 值。 一旦激活就會監控 Data Read Data Bus (DRDB),當 CPU 通過 DRDB 讀取數據時,PSA 每個時鐘周期會為 DRDB 上的數據生成一個 CRC。由于此測試具有破壞性,因此需要將要測試的 RAM 內容保存到單獨的 RAM 位置。

MARCH 主要提供了哪兩種 RAM 檢測方式?

當然也可以使用軟件 CRC 的方式,使用起來更靈活,并且可以選擇非破壞性的方式來計算 CRC,對一些靜態常量存儲的區域可以考慮這種 CRC 方式。另外一點是軟件 CRC 算法可以更方便的進行代碼評估,以滿足不同安全標準的要求。

另一種是 MARCH 檢測 STL_MARCH_TEST_testRam,此功能直接對 RAM 進行 32bit 的讀寫測試,可以選擇進行 MarchC 13N 或者 MarchC- 測試。由于此測試具有破壞性,因此也需要將要測試的 RAM 內容保存到單獨的 RAM 位置。

3. RAM 在線檢測的實現

由于需要周期性的 RAM 檢測,以電機控制為例,可以將 RAM 檢測放到主中斷里面執行。同時關鍵是不能影響控制程序的運行和實時性,所以主要考慮兩點:

第一是主中斷時間有限,要盡可能減小 RAM 檢測的時間,所以可以將 RAM 分成多個小段進行檢測,每段 RAM 越小,占用中斷的時間越小,但是所有 RAM 檢測一遍的時間會變長,這個需要綜合考慮。

第二是不能破壞 RAM 中的變量值,所以在檢測是之前將 RAM 段中的內容保存到專門區域,戴檢測完成并且通過之后,再將保存好的數據恢復過來,使用 memCopy 來提高效率。

具體實現方法如下:

首先定義好各個 RAM 區間的地址范圍,可以參考具體的數據手冊,如下所示:

MARCH 主要提供了哪兩種 RAM 檢測方式?

然后定義好檢測的范圍和每次檢測的數據長度:

MARCH 主要提供了哪兩種 RAM 檢測方式?

注意由于 STL_MARCH_TEST_testRam 函數執行 32 位讀 / 寫測試,而在測試 RAM 單元陣列時,由于 RAM 單元的 16 位體系結構,所以要求起始地址為偶數,結束地址為奇數,可以測試的最大內存范圍限制為 65535 個 32 位字。所以要求測試長度也需要為奇數。

在主中斷里面的 RAM 在線檢測函數里,首先將要檢測區域的 RAM 值保存下來:

if ((gStructSTLMonitor.NowRamAddrStart 》= MARCH_RAM_START)

&& (gStructSTLMonitor.NowRamAddrStart 《= (MARCH_RAM_END-RAM_CHK_NUM)))

{

gStructSTLMonitor.NowRamAddrEnd = gStructSTLMonitor.NowRamAddrStart + RAM_CHK_NUM;

memCopy((uint16_t *)gStructSTLMonitor.NowRamAddrStart,(uint16_t *)

gStructSTLMonitor.NowRamAddrEnd,(uint16_t *)MARCH_RAM_BK);

}

然后進行檢測:

gStructSTLMonitor.status = STL_MARCH_TEST_testRam((uint32_t *)

gStructSTLMonitor.NowRamAddrStart,(uint32_t *)gStructSTLMonitor.NowRamAddrEnd);

if(gStructSTLMonitor.status != SIG_RAM_MARCH_TEST)

{

STL_SetFail();

}

else

{

memCopy((uint16_t *)MARCH_RAM_BK,(uint16_t *)(MARCH_RAM_BK + RAM_CHK_NUM),

(uint16_t *)gStructSTLMonitor.NowRamAddrStart);

gStructSTLMonitor.NowRamAddrStart = gStructSTLMonitor.NowRamAddrEnd + 1;

gStructSTLMonitor.gTestStep++;

}

注意檢測成功之后馬上恢復當前區域的 RAM 值,并為下一次檢測做好準備。如果檢測發現故障,則進入故障處理函數。
責任編輯:pj

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

    關注

    31

    文章

    5425

    瀏覽量

    123526
  • 存儲器
    +關注

    關注

    38

    文章

    7637

    瀏覽量

    166536
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1391

    瀏覽量

    116896
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    兩種驅動方式下永磁直線開關磁鏈電機的研究

    摘要:永磁開關磁鏈電機數學模型可以等效為永磁無刷電機,普遍采用方波驅動方式。在有限元基礎上分析6/7極直線式磁鏈電機反電勢波形,采用方波和正弦波驅動方式,比較兩種方式下的電流、電壓、平
    發表于 06-09 16:18

    常見人體姿態評估顯示方式兩種方式

    人體姿態評估中有兩種常見的顯示方式,分別是火柴人效果與BodyPix效果。其中火柴人效果本質就是基于關鍵點的深度學習模型推理以后的顯示效果;Bodypix本質就就是語義分割模型
    的頭像 發表于 11-11 11:21 ?579次閱讀
    常見人體姿態評估顯示<b class='flag-5'>方式</b>的<b class='flag-5'>兩種</b><b class='flag-5'>方式</b>

    噪聲傳導的兩種模式

    噪聲傳導有兩種模式,一為差模傳導,一為共模傳導。
    的頭像 發表于 10-15 11:33 ?689次閱讀
    噪聲傳導的<b class='flag-5'>兩種</b>模式

    感光器件有兩種

    ,但目前在數碼相機及類似設備中,最為常見和核心的感光器件主要兩種:CCD(電荷耦合器件)和CMOS(互補金屬氧化物半導體)。 一、CCD(電荷耦合器件) 1. 基本原理 CCD(Charge Coupled Device)的中文名稱是“電荷耦合器件圖像傳感器”。它能把光
    的頭像 發表于 10-12 14:50 ?1441次閱讀

    什么是電流保護的接線方式?有兩種接線方式?

    方式。下面將對這兩種接線方式進行介紹。 一、完全星形接線方式 完全星形接線方式,也稱為三相三繼電器接線
    的頭像 發表于 10-06 17:37 ?4587次閱讀
    什么是電流保護的接線<b class='flag-5'>方式</b>?有<b class='flag-5'>哪</b><b class='flag-5'>兩種</b>接線<b class='flag-5'>方式</b>?

    Linux應用層控制外設的兩種不同的方式

    眾所周知,linux下一切皆文件,那么應用層如何控制硬件層,同樣是通過 文件I/O的方式來實現的,那么應用層控制硬件層通常有兩種方式
    的頭像 發表于 10-05 19:03 ?1217次閱讀
    Linux應用層控制外設的<b class='flag-5'>兩種</b>不同的<b class='flag-5'>方式</b>

    放大電路的基本分析方法有兩種

    放大電路是電子學中的基礎組成部分,用于增強信號的幅度而不改變其基本特性。在電子工程中,放大電路的設計和分析是至關重要的。放大電路的基本分析方法主要兩種:直流分析和交流分析。 直流分析 直流分析
    的頭像 發表于 09-23 10:40 ?1081次閱讀

    邊沿觸發器主要兩種類型

    邊沿觸發器是一數字電路元件,它在數字邏輯設計中扮演著重要的角色。邊沿觸發器主要兩種類型:上升沿觸發器和下降沿觸發器。這兩種觸發器的主要
    的頭像 發表于 08-09 17:44 ?2033次閱讀

    示波器兩種衰減方式的區別是什么

    兩種:內部衰減和外部衰減。 內部衰減 內部衰減是指示波器內部對輸入信號進行衰減的方式。內部衰減器通常由電阻和電容組成,通過改變電阻和電容的參數,實現對輸入信號的衰減。內部衰減器的優點如下: 1.1 精度高:內部衰減
    的頭像 發表于 08-09 14:41 ?940次閱讀

    接地保護分為兩種方式

    接地保護是電氣工程中非常重要的一安全措施,其目的是確保電氣設備和系統在發生故障時能夠安全地將電流導向地面,從而保護人身安全和設備安全。接地保護主要分為兩種方式:工作接地和保護接地。以
    的頭像 發表于 08-05 10:24 ?2093次閱讀

    plc與傳感器的兩種連接方式

    在工業自動化領域,PLC(可編程邏輯控制器)與傳感器的連接是實現自動化控制的關鍵環節。本文將詳細介紹PLC與傳感器的兩種主要連接方式:模擬量連接和數字量連接。這兩種連接
    的頭像 發表于 07-25 09:36 ?2638次閱讀

    wdm設備的兩種傳輸方式

    系統中,有多種傳輸方式,其中最常見的兩種是密集波分復用(DWDM)和粗波分復用(CWDM)。 1. 密集波分復用(DWDM) 1.1 DWDM技術原理 密集波分復用(Dense Wavelength Division Multiplexing,簡稱DWDM)是一
    的頭像 發表于 07-18 09:45 ?808次閱讀

    三相負載的連接方式兩種

    三相負載的連接方式主要有星形連接(Y連接)和三角形連接(Δ連接)兩種。這兩種連接方式在電氣工程中非常常見,它們各自具有不同的特性和應用場景。
    的頭像 發表于 07-17 10:33 ?7611次閱讀

    控制器有兩種實現方式?各有何優缺點?

    控制器是計算機系統中的一個關鍵組件,負責協調和管理計算機硬件和軟件資源。在不同的應用場景和系統中,控制器的實現方式可能會有所不同。以下是兩種常見的控制器實現方式:硬件控制器和軟件控制器。本文將詳細
    的頭像 發表于 06-30 10:33 ?2164次閱讀

    時間繼電器按照觸點動作方式分為兩種

    時間繼電器是一常用的自動化控制元件,廣泛應用于各種工業自動化控制系統中。它通過控制電路的通斷,實現對時間的控制。根據觸點動作方式的不同,時間繼電器可以分為兩種類型:瞬時型和延時型。 一、瞬時型
    的頭像 發表于 06-21 10:21 ?4196次閱讀