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

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

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

8位 PIC16 PIC? MCU B類安全軟件庫(kù)例程分析

電子設(shè)計(jì) ? 來(lái)源:eeweb ? 作者:微芯片 ? 2021-06-21 18:01 ? 次閱讀

這篇技術(shù)文章討論了 B 類安全軟件庫(kù)例程,用于檢測(cè)單通道微控制器中是否發(fā)生故障。這些例程基于 IEC 60730 標(biāo)準(zhǔn),能夠支持 B 類認(rèn)證過(guò)程。這些例程可以直接與最終用戶的應(yīng)用程序集成,以測(cè)試和驗(yàn)證控制器的關(guān)鍵功能,而不會(huì)影響最終用戶的應(yīng)用程序。本應(yīng)用筆記還介紹了 B 類安全軟件庫(kù)中提供的應(yīng)用程序編程接口 (API) 函數(shù)。可以在啟動(dòng)或運(yùn)行時(shí)定期調(diào)用 B 類安全軟件例程以測(cè)試以下組件:

  • CPU寄存器
  • CPU程序計(jì)數(shù)器
  • 不變的記憶
  • 可變內(nèi)存

本應(yīng)用筆記還概述了用于測(cè)試外部通信、定時(shí)、I/O 外設(shè)、模擬 I/O 和模擬多路復(fù)用器等組件的各種技術(shù),這些技術(shù)不屬于 B 類安全軟件庫(kù)的一部分。

IEC 60730 標(biāo)準(zhǔn)概述

IEC 60730 標(biāo)準(zhǔn)定義了確保家用電器中使用的受控設(shè)備安全運(yùn)行的測(cè)試和診斷方法。IEC 60730 標(biāo)準(zhǔn)的附錄 H 將軟件分為以下幾類:

  • A級(jí)
  • B級(jí)
  • C級(jí)

B 類安全軟件庫(kù)實(shí)施屬于 B 類類別的重要測(cè)試和診斷方法。這些方法使用各種措施來(lái)檢測(cè)和響應(yīng)與軟件相關(guān)的故障和錯(cuò)誤。根據(jù)IEC 60730標(biāo)準(zhǔn),屬于B類功能的控件應(yīng)具有以下結(jié)構(gòu)之一:

帶功能測(cè)試的單通道 在此結(jié)構(gòu)中,功能測(cè)試在應(yīng)用固件執(zhí)行之前執(zhí)行。

帶定期自檢的單通道 在此結(jié)構(gòu)中,定期測(cè)試嵌入在固件中,并且在固件處于執(zhí)行模式時(shí)定期進(jìn)行自檢。

雙通道無(wú)比較 在此結(jié)構(gòu)中,兩個(gè)獨(dú)立的方法執(zhí)行指定的操作。

系統(tǒng)要求

推薦以下系統(tǒng)要求來(lái)運(yùn)行 B 類安全軟件庫(kù): 對(duì)于需要獨(dú)立時(shí)隙監(jiān)控的測(cè)試,系統(tǒng)硬件必須提供至少兩個(gè)獨(dú)立的時(shí)鐘源(例如內(nèi)部振蕩器、晶振和線頻) )。

B 類安全軟件庫(kù)

8 位 B 類安全軟件庫(kù)包括 API,旨在通過(guò)故障檢測(cè)最大限度地提高應(yīng)用程序的可靠性。這些 API 有助于滿足 IEC 60730 標(biāo)準(zhǔn)合規(guī)性。可以使用此庫(kù)實(shí)現(xiàn)以下測(cè)試:

  • CPU寄存器測(cè)試
  • 程序計(jì)數(shù)器測(cè)試
  • 不變內(nèi)存(Flash/EEPROM)測(cè)試
  • 可變記憶測(cè)試
  • 時(shí)鐘測(cè)試
  • 使用線路頻率的時(shí)鐘測(cè)試

在以下部分中,將討論每個(gè)測(cè)試的測(cè)試描述和實(shí)現(xiàn)細(xì)節(jié)。此外,每個(gè)部分都列出了執(zhí)行相應(yīng)測(cè)試所需的 API。

CPU寄存器測(cè)試

CPU 寄存器測(cè)試執(zhí)行 IEC 60730 標(biāo)準(zhǔn)定義的功能測(cè)試 H.2.16.5。它檢測(cè) CPU 寄存器中的固定故障。這確保寄存器中的位不會(huì)停留在值“0”或“1”。CPU 寄存器測(cè)試是一種無(wú)損測(cè)試。該測(cè)試執(zhí)行以下主要任務(wù):

CPU 寄存器和幽靈寄存器的測(cè)試方法是,首先將二進(jìn)制序列(長(zhǎng)度取決于體系結(jié)構(gòu))、010101……然后是 101010……依次寫入寄存器,然后從這些寄存器中讀取值進(jìn)行驗(yàn)證。

如果返回值不匹配,測(cè)試將返回錯(cuò)誤代碼。

API 函數(shù)

該 API 函數(shù)實(shí)現(xiàn)了 CPU 寄存器測(cè)試:

CLASSB_CPURegistersTest()

程序計(jì)數(shù)器測(cè)試

程序計(jì)數(shù)器 (PC) 測(cè)試執(zhí)行 IEC 60730 標(biāo)準(zhǔn)定義的功能測(cè)試 H.2.16.5。PC 保存下一條要執(zhí)行的指令的地址。該測(cè)試執(zhí)行以下主要任務(wù):

  • PC 測(cè)試調(diào)用位于閃存中不同地址的函數(shù)。
  • 這些函數(shù)重置錯(cuò)誤標(biāo)志。
  • 在應(yīng)用程序代碼的許多地方都測(cè)試了錯(cuò)誤標(biāo)志。
  • 如果錯(cuò)誤標(biāo)志被清除,則 PC 分支到正確的位置。

API 函數(shù)

這個(gè)API函數(shù)實(shí)現(xiàn)了PC測(cè)試:

CLASSB_CPUPCTest()

不變內(nèi)存(Flash/EEPROM)測(cè)試

不變存儲(chǔ)器 (Flash/EEPROM) 測(cè)試實(shí)施由 IEC 60730 標(biāo)準(zhǔn)定義的定期修改校驗(yàn)和 H.2.19.3.1。它檢測(cè)不變存儲(chǔ)器中的單位故障。系統(tǒng)中的不變存儲(chǔ)器,例如閃存和 EEPROM 存儲(chǔ)器,包含在程序執(zhí)行期間不打算更改的數(shù)據(jù)。閃存/EEPROM 不變存儲(chǔ)器測(cè)試使用循環(huán)冗余校驗(yàn) (CRC-16) 計(jì)算周期性校驗(yàn)和。用于計(jì)算 CRC-16 的 CRC 多項(xiàng)式如下所示。

CRC-16 = 1 1000 0000 0000 0101 = 8005(十六進(jìn)制)

圖 1 是不變內(nèi)存測(cè)試的流程圖。CRC 功能可用于測(cè)試存儲(chǔ)在閃存或 EEPROM 存儲(chǔ)器中的數(shù)據(jù)的完整性。這是通過(guò)計(jì)算并返回存儲(chǔ)在函數(shù)調(diào)用中定義的位置中的數(shù)據(jù)的 CRC 值來(lái)完成的。以下流程圖說(shuō)明了如何在您的應(yīng)用程序固件中使用這些功能。

pYYBAGDQYzCARx4xAAB7TlIHv-c573.png

不變記憶測(cè)試流程圖

如果系統(tǒng)啟動(dòng)時(shí) CRC_Flag 設(shè)置為 0x00,則計(jì)算參考 CRC 校驗(yàn)和。

參考校驗(yàn)和存儲(chǔ)在閃存或 EEPROM 存儲(chǔ)器中,CRC 標(biāo)志設(shè)置為 0xFF。

如果 CRC 標(biāo)志設(shè)置為 0xFF,則可以定期調(diào)用 CRC16 計(jì)算函數(shù)。

將步驟 3 計(jì)算的校驗(yàn)和與參考校驗(yàn)和進(jìn)行比較。

如果兩個(gè)值匹配,則用戶應(yīng)用程序可以設(shè)置狀態(tài)位以指示不變存儲(chǔ)器已通過(guò)測(cè)試并且未發(fā)現(xiàn)錯(cuò)誤。

編輯:hfy

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

    關(guān)注

    146

    文章

    16665

    瀏覽量

    347737
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7365

    瀏覽量

    163085
  • PIC
    PIC
    +關(guān)注

    關(guān)注

    8

    文章

    506

    瀏覽量

    87220
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    EN8F1823E完全替代PIC16F883,PIC16F1883,PIC16F1936,PIC16F1937

    PIC
    捷尚微輝芒微MCU單片機(jī)
    發(fā)布于 :2024年07月30日 16:59:15

    [8單片機(jī)C語(yǔ)言編程:基于PIC16].Programmig.8-bit.PIC.Microcontrollers.in.C

    [8單片機(jī)C語(yǔ)言編程:基于PIC16].Programmig.8-bit.PIC.Microcontrollers.in.C是英文版寫的,有需要的同學(xué)可以下載看看。
    發(fā)表于 10-26 16:32

    【下載】《8單片機(jī)C語(yǔ)言編程:基于PIC16

    語(yǔ)言中的配置 71.3 PIC16 MCU 外圍設(shè)備 71.3.1 定時(shí)器 81.3.2 A/D轉(zhuǎn)換器 91.3.3 比較器 101.3.4 并行從端口 101.3.5 中斷 111.4 PIC16
    發(fā)表于 01-29 17:48

    PIC10/PIC12/PIC16/PIC18或基礎(chǔ)服務(wù)庫(kù)?

    12/PIC16/PIC18或基礎(chǔ)服務(wù)庫(kù)。我不確定哪一個(gè)選擇,我不知道它們之間的區(qū)別。我在尋找這個(gè),但是沒(méi)有明確的信息。我必須選擇一個(gè),為什么?謝謝您。 以上來(lái)自于百度翻譯 以下為原文 Hi, I
    發(fā)表于 12-03 11:38

    微芯片8MCU ARPIC10、PIC12、PIC16、PIC18是什么意思?

    微芯片8MCU ARPIC10、PIC12、PIC16、PIC18。數(shù)字(10, 12,
    發(fā)表于 08-09 11:02

    具有4個(gè)16PWM的PIC16

    ,但是根據(jù)數(shù)據(jù)表它只有4個(gè)。我想要的是4 16獨(dú)立PWMs1>=8PWM1 I2C1UART6,有人能推薦PIC16嗎?同樣,參數(shù)搜索是
    發(fā)表于 03-27 10:38

    MCU PIC16F1503-I/SL的相關(guān)資料分享

    8微控制器 -MCU PIC16F1503-I/SL制造商: Microchip 產(chǎn)品種類: 8
    發(fā)表于 11-26 07:25

    Microchip新款通用8PIC MCU,提供卓越的遷移

    Microchip新款通用8PIC MCU,提供卓越的遷移路徑 近日,美國(guó)微芯科技公司(Microchip)宣布推出PIC16(L)F1
    發(fā)表于 12-18 08:37 ?787次閱讀
    Microchip新款通用<b class='flag-5'>8</b><b class='flag-5'>位</b><b class='flag-5'>PIC</b> <b class='flag-5'>MCU</b>,提供卓越的遷移

    Microchip推具智能模擬功能與核心獨(dú)立外設(shè)的8PIC單片機(jī)系列

    Microchip Technology Inc.(美國(guó)微芯科技公司)在近日于美國(guó)加州圣荷西舉行的EE Live!和嵌入式系統(tǒng)大會(huì)上宣布推出PIC16(L)F170X 和PIC16(L)F171X系列 8
    發(fā)表于 04-01 10:09 ?1158次閱讀

    pic16單片機(jī)學(xué)習(xí)

    pic16單片機(jī)學(xué)習(xí)
    發(fā)表于 01-14 22:32 ?8次下載

    基于PIC16(L)F1574/5/8/9帶有高精度 16 PWM 的 14/20 引腳 MCU

    PIC16(L)F1574/5/8/9 單片機(jī)將 16 PWM 與模擬功能相結(jié)合,可適應(yīng)各種應(yīng)用的需求。這些器件提供了 4 個(gè)帶獨(dú)立定 時(shí)器的
    發(fā)表于 06-27 09:24 ?9次下載
    基于<b class='flag-5'>PIC16</b>(L)F1574/5/<b class='flag-5'>8</b>/9帶有高精度 <b class='flag-5'>16</b> <b class='flag-5'>位</b> PWM 的 14/20 引腳 <b class='flag-5'>MCU</b>

    關(guān)于8MCU PIC16F19197產(chǎn)品系列的特點(diǎn)介紹

    本視頻介紹了Microchip首款針對(duì)廣受歡迎的低功耗、電池供電且?guī)в|摸功能的LCD應(yīng)用而優(yōu)化的8MCU PIC16F19197產(chǎn)品系列,他可以幫助開發(fā)者輕松完成低功耗,
    的頭像 發(fā)表于 07-10 11:06 ?5072次閱讀

    PIC16/18系列開發(fā)入門

    PIC16/18系列開發(fā)入門
    發(fā)表于 11-16 16:51 ?24次下載
    <b class='flag-5'>PIC16</b>/18系列開發(fā)入門

    8微控制器 -MCU ?PIC16F1503-I/SL

    8微控制器 -MCU PIC16F1503-I/SL 制造商: Microchip 產(chǎn)品種類: 8
    發(fā)表于 11-18 12:51 ?18次下載
    <b class='flag-5'>8</b><b class='flag-5'>位</b>微控制器 -<b class='flag-5'>MCU</b> ?<b class='flag-5'>PIC16</b>F1503-I/SL

    PIC MCU和dsPIC DSC的B安全軟件庫(kù)

    電子發(fā)燒友網(wǎng)站提供《PIC MCU和dsPIC DSC的B安全軟件
    發(fā)表于 09-19 16:14 ?0次下載
    <b class='flag-5'>PIC</b> <b class='flag-5'>MCU</b>和dsPIC DSC的<b class='flag-5'>B</b><b class='flag-5'>類</b><b class='flag-5'>安全</b><b class='flag-5'>軟件</b><b class='flag-5'>庫(kù)</b>