一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內不再提示

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

lhl545545 ? 來源:與非網(wǎng) ? 作者:佚名 ? 2020-08-28 14:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

1. 系統(tǒng)軟件流程

非破壞性的診斷可以放在背景循環(huán)里面進行,這些軟件診斷不會對實時性中斷造成影響,例如看門狗測試,內部晶振測試,F(xiàn)LASH CRC 校驗,靜態(tài)變量 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 區(qū)域,并使用 PSA 計算 RAM 的 CRC。對于給定的 RAM 存儲器區(qū)域,如果 RAM 存儲器中沒有任何 stuck bit,則 CRC 值應始終相同。并行串行分析器(PSA)是 c28x 器件中的一個模塊,可用于生成 40 位給定存儲區(qū)域上的 CRC。 PSA 多項式為 Y = x40 + x21 + x19 + x2 + 1。PSA 通過監(jiān)視數(shù)據(jù)讀取數(shù)據(jù)總線(DRDB)來計算 CRC 值。 一旦激活就會監(jiān)控 Data Read Data Bus (DRDB),當 CPU 通過 DRDB 讀取數(shù)據(jù)時,PSA 每個時鐘周期會為 DRDB 上的數(shù)據(jù)生成一個 CRC。由于此測試具有破壞性,因此需要將要測試的 RAM 內容保存到單獨的 RAM 位置。

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

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

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

3. RAM 在線檢測的實現(xiàn)

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

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

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

具體實現(xiàn)方法如下:

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

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

然后定義好檢測的范圍和每次檢測的數(shù)據(jù)長度:

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

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

在主中斷里面的 RAM 在線檢測函數(shù)里,首先將要檢測區(qū)域的 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++;

}

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

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

    關注

    31

    文章

    5433

    瀏覽量

    124384
  • 存儲器
    +關注

    關注

    38

    文章

    7648

    瀏覽量

    167292
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1392

    瀏覽量

    117443
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    solidworks正版軟件:永久版權和訂閱許可 兩種購買方式解析和選擇

    SOLIDWORKS軟件分從購買方式上劃分為永久版權的形式和訂閱即年付費兩種方式,代理商碩迪科技向您詳細解析 SOLIDWORKS 的永久版權和訂閱許可的區(qū)別,各自的優(yōu)劣勢以及適合的應用場景。以幫助您做出適合的決策。
    的頭像 發(fā)表于 12-16 16:45 ?1613次閱讀
    solidworks正版軟件:永久版權和訂閱許可 <b class='flag-5'>兩種</b>購買<b class='flag-5'>方式</b>解析和選擇

    常見人體姿態(tài)評估顯示方式兩種方式

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

    噪聲傳導的兩種模式

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

    感光器件有兩種

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

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

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

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

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

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

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

    晶閘管的阻斷狀態(tài)有兩種是什么

    晶閘管(Thyristor)是一半導體器件,具有單向導電性,廣泛應用于電力電子領域。晶閘管的阻斷狀態(tài)有兩種:正向阻斷狀態(tài)和反向阻斷狀態(tài)。以下是對這兩種阻斷狀態(tài)的分析。 正向阻斷狀態(tài) 正向阻斷狀態(tài)
    的頭像 發(fā)表于 08-14 16:49 ?1407次閱讀

    邊沿觸發(fā)器主要兩種類型

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

    示波器兩種衰減方式的區(qū)別是什么

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

    接地保護分為兩種方式

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

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

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

    wdm設備的兩種傳輸方式

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

    三相負載的連接方式兩種

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