chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺述一種C2000系列芯片的RAM在線診斷實(shí)現(xiàn)方法

電子設(shè)計(jì) ? 來源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2022-01-19 13:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

China Central FAE Sam Zhang

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

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

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

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

poYBAGGKTR2AVE71AAKtsU8a1cY622.png

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

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

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

pYYBAGGKTR-AOry2AAC7xhJr73U548.png

2. RAM診斷的方法

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

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

poYBAGGKTSGAB4yNAACVuv_rh3k488.png

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

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

poYBAGGKTSOAC4pwAACUzrHQ3Go179.png

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

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

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

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

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

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

pYYBAGGKTSWAT4O2AAE0l6_nqmM375.png

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

pYYBAGGKTSeASDRWAAA0Xf8wx2U393.png

注意由于STL_MARCH_TEST_testRam函數(shù)執(zhí)行32位讀/寫測試,而在測試RAM單元陣列時(shí),由于RAM單元的16位體系結(jié)構(gòu),所以要求起始地址為偶數(shù),結(jié)束地址為奇數(shù),可以測試的最大內(nèi)存范圍限制為65535個(gè)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);

}

然后進(jìn)行檢測:

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++;

}

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

審核編輯:金巧

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

    關(guān)注

    0

    文章

    341

    瀏覽量

    10446
  • crc
    crc
    +關(guān)注

    關(guān)注

    0

    文章

    205

    瀏覽量

    30606
  • 分析器
    +關(guān)注

    關(guān)注

    0

    文章

    93

    瀏覽量

    12881
  • PSA
    PSA
    +關(guān)注

    關(guān)注

    0

    文章

    52

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    納芯微NSSine? NS800RT正面硬剛TI C2000,國產(chǎn)替代“芯”戰(zhàn)事, 工業(yè)控制MCU市場迎來變局?

    而言,C2000不僅僅是芯片,它是一種技術(shù)慣性,個(gè)龐大而成熟的生態(tài),套經(jīng)過千錘百煉的開發(fā)
    的頭像 發(fā)表于 06-20 12:45 ?1194次閱讀
    納芯微NSSine? NS800RT正面硬剛TI <b class='flag-5'>C2000</b>,國產(chǎn)替代“芯”戰(zhàn)事, 工業(yè)控制MCU市場迎來變局?

    16 位 ADC 的 汽車類與非汽車類C2000? 32 位 MCU(TMS320F28377DPTPS TMS320F28377SPTPQ)微控制器

    ADC 的 C2000? 32 位 MCU 說明 TMS320F28377DPTPS是款功能強(qiáng)大的 32 位浮點(diǎn)微控制器單元 (MCU),專為工業(yè)電機(jī)驅(qū)動(dòng)器、光伏逆變器和數(shù)字電源、電動(dòng)汽車和運(yùn)輸以及
    發(fā)表于 04-30 14:11

    TMS320F2800155 C2000? 32 位 MCU 120MHz 128KB 閃存數(shù)據(jù)手冊

    TMS320F280015x (F280015x) 是成本優(yōu)化的 C2000 實(shí)時(shí)微控制器系列的成員,該系列可擴(kuò)展、超低延遲器件專為提高電力電子的效率而設(shè)計(jì)。
    的頭像 發(fā)表于 04-15 15:08 ?1019次閱讀
    TMS320F2800155 <b class='flag-5'>C2000</b>? 32 位 MCU 120MHz 128KB 閃存數(shù)據(jù)手冊

    TMS320F280034-Q1 汽車級 C2000? 32 位 MCU 120MHz 128KB 閃存數(shù)據(jù)手冊

    TMS320F28003x (F28003x) 是 C2000? 實(shí)時(shí)微控制器系列的成員,該系列可擴(kuò)展、超低延遲器件專為提高電力電子效率而設(shè)計(jì),包括但不限于:高功率密度、高開關(guān)頻率,并支持使用 GaN 和 SiC 技術(shù)。
    的頭像 發(fā)表于 04-15 14:59 ?782次閱讀
    TMS320F280034-Q1 汽車級 <b class='flag-5'>C2000</b>? 32 位 MCU 120MHz 128KB 閃存數(shù)據(jù)手冊

    TMS320F2800133 C2000? 32 位 MCU,具有 120 MHz、64 KB 閃存、FPU 和 TMU數(shù)據(jù)手冊

    TMS320F280013x (F280013x) 是 C2000? 實(shí)時(shí)微控制器系列的成員,該系列可擴(kuò)展、超低延遲器件專為提高電力電子效率而設(shè)計(jì)。
    的頭像 發(fā)表于 04-15 14:46 ?1105次閱讀
    TMS320F2800133 <b class='flag-5'>C2000</b>? 32 位 MCU,具有 120 MHz、64 KB 閃存、FPU 和 TMU數(shù)據(jù)手冊

    TMS320F2800152-Q1 具有 CAN-FD、鎖步 ASIL B 的汽車級 C2000? 32 位 MCU 100MHz 64KB 閃存數(shù)據(jù)手冊

    TMS320F280015x (F280015x) 是成本優(yōu)化的 C2000 實(shí)時(shí)微控制器系列的成員,該系列可擴(kuò)展、超低延遲器件專為提高電力電子的效率而設(shè)計(jì)。
    的頭像 發(fā)表于 04-15 14:32 ?858次閱讀
    TMS320F2800152-Q1 具有 CAN-FD、鎖步 ASIL B 的汽車級 <b class='flag-5'>C2000</b>? 32 位 MCU 100MHz 64KB 閃存數(shù)據(jù)手冊

    TMS320F2800153-Q1 具有 HRPWM、CAN-FD、鎖步 ASIL B 的汽車類 C2000? 32位MCU 120MHz 64KB 閃存數(shù)據(jù)手冊

    TMS320F280015x (F280015x) 是成本優(yōu)化的 C2000 實(shí)時(shí)微控制器系列的成員,該系列可擴(kuò)展、超低延遲器件專為提高電力電子的效率而設(shè)計(jì)。
    的頭像 發(fā)表于 04-15 13:46 ?791次閱讀
    TMS320F2800153-Q1 具有 HRPWM、CAN-FD、鎖步 ASIL B 的汽車類 <b class='flag-5'>C2000</b>? 32位MCU 120MHz 64KB 閃存數(shù)據(jù)手冊

    F29H850TU C2000? 64 位 MCU,帶 C29x 200MHz 三核技術(shù)手冊

    F29H85x 和 F29P58x 是 C2000? 實(shí)時(shí)微控制器系列的成員,該系列是可擴(kuò)展、超低延遲的器件,旨在提高電力電子器件的效率,包括但不限于:高功率密度、高開關(guān)頻率,并支持使用 GaN 和 SiC 技術(shù)。
    的頭像 發(fā)表于 04-14 14:10 ?1307次閱讀
    F29H850TU <b class='flag-5'>C2000</b>? 64 位 MCU,帶 <b class='flag-5'>C</b>29x 200MHz 三核技術(shù)手冊

    TMS320F28P550SG C2000? 32 位 MCU技術(shù)手冊

    TMS320F28P55x (F28P55x) 是 C2000? 實(shí)時(shí)微控制器系列的成員,該系列可擴(kuò)展、超低延遲器件旨在提高電力電子器件的效率,包括但不限于:高功率密度、高開關(guān)頻率,并支持使用 GaN 和 SiC 技術(shù)。
    的頭像 發(fā)表于 04-14 10:35 ?1926次閱讀
    TMS320F28P550SG <b class='flag-5'>C2000</b>? 32 位 MCU技術(shù)手冊

    F29H859TU-Q1 汽車級 C2000? 64 位 MCU數(shù)據(jù)手冊

    F29H85x 和 F29P58x 是 C2000? 實(shí)時(shí)微控制器系列的成員,該系列是可擴(kuò)展、超低延遲的器件,旨在提高電力電子器件的效率,包括但不限于:高功率密度、高開關(guān)頻率,并支持使用 GaN 和 SiC 技術(shù)。
    的頭像 發(fā)表于 04-14 09:44 ?1046次閱讀
    F29H859TU-Q1 汽車級 <b class='flag-5'>C2000</b>? 64 位 MCU數(shù)據(jù)手冊

    C2000 GANG Programmer error燈常亮是什么原因?qū)е碌模?/a>

    C2000 GANG Programmer 用了沒幾次,今天開機(jī)發(fā)現(xiàn)error 燈常亮,無法工作,也沒有任何報(bào)錯(cuò)信息,請問是什么問題呢?
    發(fā)表于 02-28 08:31

    參考設(shè)計(jì)#PMP41043 1.6kW 采用 C2000 和 GaN 實(shí)現(xiàn)的 CCM 圖騰柱 PFC 和電流模式 LLC

    此參考設(shè)計(jì)演示了混合磁滯控制 (HHC) 方法,這是一種在半橋 LLC 級上使用 C2000 F28004x 微控制器的電流模式控制方法。該硬件基于 TIDA-010062,后者是 1
    的頭像 發(fā)表于 02-25 11:27 ?926次閱讀
    參考設(shè)計(jì)#PMP41043 1.6kW 采用 <b class='flag-5'>C2000</b> 和 GaN <b class='flag-5'>實(shí)現(xiàn)</b>的 CCM 圖騰柱 PFC 和電流模式 LLC

    C2000常見問題解答

    電子發(fā)燒友網(wǎng)站提供《C2000常見問題解答.pdf》資料免費(fèi)下載
    發(fā)表于 12-06 16:04 ?0次下載
    <b class='flag-5'>C2000</b>常見問題解答

    C2000微控制器用戶培訓(xùn)手冊

    電子發(fā)燒友網(wǎng)站提供《C2000微控制器用戶培訓(xùn)手冊.pdf》資料免費(fèi)下載
    發(fā)表于 12-05 14:13 ?4次下載
    <b class='flag-5'>C2000</b>微控制器用戶培訓(xùn)手冊

    TI C2000系列重大更新!首次加入NPU,內(nèi)核升級到64位!

    電子發(fā)燒友網(wǎng)報(bào)道(文/黃晶晶)從1994年推出第顆TMS320C10處理器開始,C2000 DSP已走過了30年的輝煌歷程。期間C2000系列
    的頭像 發(fā)表于 12-05 11:52 ?4851次閱讀
    TI <b class='flag-5'>C2000</b><b class='flag-5'>系列</b>重大更新!首次加入NPU,內(nèi)核升級到64位!