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

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

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

RA CLASS B認(rèn)證函數(shù)庫(kù)使用簡(jiǎn)介

RA生態(tài)工作室 ? 2023-11-17 08:06 ? 次閱讀

介紹

RA系列單片機(jī)瑞薩推出的32位ARM單片機(jī),在某些產(chǎn)品中需要通過安規(guī)認(rèn)證,如IEC60730(CLASS B),芯片硬件本身已經(jīng)通過IEC60730認(rèn)證了,今天主要說RA芯片軟件自檢函數(shù)庫(kù)。

目前包括RA2A1、RA2L1、RA4M1、RA6M1四個(gè)系列芯片的例程。MCU自檢分為兩個(gè)部分:初始化自檢和循環(huán)調(diào)用自檢,可以分為以下:CPU、ROM、RAM、Clock、IWDT、Voltage、ADC、Temperature、POE、GPIO共10個(gè)部分,其中GPIO檢測(cè)需要?jiǎng)幼鱃PIO電位只能初始化時(shí)自檢。

移植CLASS B代碼

1、將SelfTestLib(CLASS B測(cè)試代碼文件)和srec(CRC腳本及其配置參數(shù)文件)加入自己工程中,并加入工程的includes目錄中如下圖1。并根據(jù)芯片的特性,排除不需要的模塊,如RA2系列MCU沒有FPU模塊,需排除,否則編譯報(bào)錯(cuò)。

wKgaomWeGAWAQevPAAJrv7rKOLY589.png

圖1

2、可根據(jù)自身芯片的FLASH大小更改CRCcalcCmdXXKB.txt和CRCcalcCmdDebugXXKB.txt對(duì)應(yīng)的數(shù)值。

3、添加CRC計(jì)算腳本,加入腳本命令arm-none-eabi-objcopy -O srec "${ProjName}.elf" "Original.srec" & ${ProjDirPath}/srec/srec_cat @${ProjDirPath}/srec/CRCcalcCmd64KB.txt,并利用仿真將CRC計(jì)算后的值寫入ROM內(nèi)存中的最后一個(gè)32位字節(jié),如圖2。

wKgZomWeGA2Aa1YcAAFK5yKZ-J0920.png

圖2

4、設(shè)置一個(gè)周期性中斷調(diào)用CLASS B周期性自檢,周期時(shí)間長(zhǎng)短可根據(jù)安規(guī)公司要求調(diào)整。

按照上述步驟作者成功編寫移植了瑞薩官方提供的函數(shù)庫(kù),并編譯通過無報(bào)錯(cuò),見圖3。

wKgaomWeGBeAWGTeAAK5QnNPCyU127.png

圖3

CLASS B各個(gè)模塊自檢介紹

CPU

CPU的測(cè)試方式為向寄存器內(nèi)寫入數(shù)據(jù),然后讀出校驗(yàn)其是否能正常寫入、讀出,在寫入數(shù)據(jù)和完成后會(huì)有將之前工作數(shù)據(jù)入棧(PUSH {R0-R7})和恢復(fù)數(shù)據(jù)的出棧指令(POP {R0-R7})等,運(yùn)行CPU自檢程序時(shí),不能被其他程序打斷,否則會(huì)發(fā)生數(shù)據(jù)運(yùn)行錯(cuò)誤。

ROM

ROM測(cè)試方式為引入外部腳本srec計(jì)算出CRC值寫入內(nèi)存的最后一位并與RA單片機(jī)內(nèi)部CRC計(jì)算值對(duì)比,從而完成對(duì)ROM的計(jì)算,外部腳本寫入地址如u圖4中所示。

wKgZomWeGG-AVhWqAAOFjJcmu28251.png

圖4

RAM

RAM模塊檢驗(yàn)方式是向MCU的RAM區(qū)域進(jìn)行讀寫測(cè)試,完成RAM校驗(yàn)。

CLOCK

CLOCK可采用內(nèi)部或是外部時(shí)鐘檢驗(yàn)MCU主時(shí)鐘,本例程中選中IWDTCLOCK時(shí)鐘作為基準(zhǔn)時(shí)鐘。其中CLOCK的校驗(yàn)函數(shù)ClockMonitor_Init(HOC

O , IWDTCLK , CLOCK_FREQ_MAIN , 15000 , Clock_Test_Failure);

參數(shù)1:目標(biāo)時(shí)鐘

參數(shù)2:基準(zhǔn)時(shí)鐘

參數(shù)3:目標(biāo)時(shí)鐘頻率

參數(shù)4:基準(zhǔn)時(shí)鐘頻率

參數(shù)5:錯(cuò)誤時(shí)回調(diào)函數(shù)

VOLTAGE

VOLTAGE檢驗(yàn)是MCU打開LVD電壓監(jiān)控模式,如果MCU電源電壓低于設(shè)定電壓時(shí)MCU調(diào)用不可屏蔽中斷NMI,進(jìn)入報(bào)錯(cuò)函數(shù)。電壓檢測(cè)調(diào)用VoltageMonitor_Init(VOLTAGE_MONITOR_LEVEL_2_79);本例程中電源低于2.79V進(jìn)入報(bào)錯(cuò)函數(shù)。

ADC

MCU內(nèi)部有個(gè)ADC CRC模塊,可以將ADC引腳接入CRC模塊中,模塊會(huì)產(chǎn)生0V基準(zhǔn)、VCC/2基準(zhǔn)、VCC電壓基準(zhǔn)來校驗(yàn)ADC,需要實(shí)時(shí)查看ADC引腳上的電壓,看ADC模塊能否正常轉(zhuǎn)換電壓。

TEMPERATURE

MCU內(nèi)部有溫度傳感器TSN,可實(shí)時(shí)查看溫度情況,一旦超過設(shè)定范圍,可進(jìn)入報(bào)錯(cuò)。

GPIO

GPIO檢驗(yàn)功能在將GPIO設(shè)置為輸出模式,然后讀取管腳輸出電平,既而判斷完成檢驗(yàn)。在GPIO外接電路時(shí),可能會(huì)接上容性負(fù)載,GPIO管腳電平變化時(shí)可能是緩慢變化,所以設(shè)置完輸出后要根據(jù)電路連接適當(dāng)延時(shí)檢測(cè),從而避免發(fā)生錯(cuò)誤。

作者對(duì)CLASS B自檢各個(gè)模塊項(xiàng)目所用時(shí)間長(zhǎng)度做了大致的測(cè)算如圖5

wKgaomWeGHmAB0-bAABVqs1UF5E938.png

圖5

結(jié)論

作者移植成功IEC60730安規(guī)認(rèn)證庫(kù)發(fā)現(xiàn)上電初始化自檢大概需要70ms,且每隔一段時(shí)間會(huì)定時(shí)自檢各個(gè)模塊,其中最長(zhǎng)的一次模塊自檢須用時(shí)長(zhǎng)1.48ms,加入庫(kù)代碼時(shí)要考慮此時(shí)間長(zhǎng)度是否對(duì)自身邏輯有無影響。注意循環(huán)測(cè)試中CPU自檢不應(yīng)該被任何中斷打斷,鑒于CPU測(cè)試時(shí)間比較短(小于1mS),建議開始CPU測(cè)試之前關(guān)閉中斷、CPU測(cè)試完成后再打開中斷,若強(qiáng)行打斷CPU自檢會(huì)導(dǎo)致程序跑飛、棧溢出等嚴(yán)重后果。此外GPIO自檢會(huì)動(dòng)作IO電平,對(duì)于大多數(shù)應(yīng)用來說是不允許的,可跟安規(guī)公司溝通酌情添加此模塊自檢函數(shù)。

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

    關(guān)注

    0

    文章

    19

    瀏覽量

    24678
  • Class
    +關(guān)注

    關(guān)注

    0

    文章

    53

    瀏覽量

    19730
  • 函數(shù)庫(kù)
    +關(guān)注

    關(guān)注

    1

    文章

    84

    瀏覽量

    32433
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    什么是STM32函數(shù)庫(kù)

    文章目錄- 自己寫庫(kù)—構(gòu)建庫(kù)函數(shù)雛形1. 什么是 STM32 函數(shù)庫(kù)2. 為什么采用庫(kù)來開發(fā)及學(xué)習(xí)?3. 實(shí)驗(yàn):構(gòu)建庫(kù)函數(shù)雛形3.1 外設(shè)寄
    發(fā)表于 08-05 07:30

    ZLGCAN接口函數(shù)庫(kù)

    ZLGCAN接口函數(shù)庫(kù) 數(shù)據(jù)結(jié)構(gòu)VCI 函數(shù)庫(kù)中定義了一些數(shù)據(jù)結(jié)構(gòu)用于數(shù)據(jù)交換,在使用VCI 函數(shù)前應(yīng)該先創(chuàng)建這些數(shù)據(jù)結(jié)構(gòu)。在LabVIEW 中創(chuàng)建這些結(jié)構(gòu)時(shí)應(yīng)該使用
    發(fā)表于 03-29 14:01 ?56次下載

    C語(yǔ)言入門教程-函數(shù)庫(kù)

    函數(shù)庫(kù) C語(yǔ)言本身具備最基本功能,所以C函數(shù)庫(kù)就顯得十分重要了。C語(yǔ)言本身甚至不提供從鍵盤讀入和向屏幕輸出的I/O函數(shù)。所有對(duì)基本語(yǔ)言功能的擴(kuò)展都必須由程序
    發(fā)表于 07-29 10:40 ?1118次閱讀

    PIC單片機(jī)的C語(yǔ)言應(yīng)用下的函數(shù)庫(kù)

    PICC編譯器下的函數(shù)庫(kù),調(diào)用函數(shù)庫(kù)開發(fā),更快更方便,更少的bug
    發(fā)表于 12-09 15:29 ?10次下載

    STM8S固件函數(shù)庫(kù)

    STM8S固件函數(shù)庫(kù),有需要的朋友下來看看
    發(fā)表于 05-20 16:08 ?72次下載

    STM8函數(shù)庫(kù)中文參考

    STM8函數(shù)庫(kù)中文參考,感興趣可以看看。
    發(fā)表于 07-25 18:52 ?168次下載

    STM32固件函數(shù)庫(kù)-中文

    STM32固件函數(shù)庫(kù)-中文,感興趣的小伙伴們可以看看。
    發(fā)表于 07-26 10:29 ?67次下載

    STM8S固件函數(shù)庫(kù)

    STM8S固件函數(shù)庫(kù),感興趣的小伙伴們可以看看。
    發(fā)表于 07-29 17:46 ?87次下載

    PID模塊相關(guān)函數(shù)庫(kù)

    PID模塊相關(guān)函數(shù)庫(kù)
    發(fā)表于 11-17 18:35 ?7次下載

    linux_C函數(shù)庫(kù)中文手冊(cè)

    linux_C函數(shù)庫(kù)中文手冊(cè)linux_C函數(shù)庫(kù)中文手冊(cè)
    發(fā)表于 03-20 10:42 ?14次下載

    基于GE運(yùn)動(dòng)控制器型號(hào)及在函數(shù)庫(kù)中應(yīng)用

    GE 系列運(yùn)動(dòng)控制器提供DOS 下的C 語(yǔ)言函數(shù)庫(kù)和Windows 下的動(dòng)態(tài)鏈接庫(kù),若為GUC 運(yùn)動(dòng)控制器且內(nèi)嵌系統(tǒng)為WinCE 系統(tǒng),運(yùn)動(dòng)控制器還會(huì)提供對(duì)應(yīng)WinCE 下的動(dòng)態(tài)鏈接庫(kù)。用戶只要調(diào)用
    發(fā)表于 10-11 17:44 ?33次下載

    標(biāo)準(zhǔn)C函數(shù)庫(kù)的用法

    C標(biāo)準(zhǔn)函數(shù)庫(kù)是所有符合標(biāo)準(zhǔn)的頭文件的集合,以及常用的函數(shù)庫(kù)實(shí)現(xiàn)程序,例如I/O 輸入輸出和字符串控制。不像 COBOL、Fortran 和 PL/I等編程語(yǔ)言,在 C 語(yǔ)言的工作任務(wù)里不會(huì)包含嵌入的關(guān)鍵字。
    的頭像 發(fā)表于 03-02 11:27 ?5224次閱讀
    標(biāo)準(zhǔn)C<b class='flag-5'>函數(shù)庫(kù)</b>的用法

    C語(yǔ)言編程函數(shù)庫(kù)分類匯總資源下載

    C語(yǔ)言編程函數(shù)庫(kù)分類匯總資源下載
    發(fā)表于 04-15 16:40 ?16次下載
    C語(yǔ)言編程<b class='flag-5'>函數(shù)庫(kù)</b>分類匯總資源下載

    LiquidCrystal_I2C函數(shù)庫(kù)

    LiquidCrystal_I2C函數(shù)庫(kù)(實(shí)用電源技術(shù)講義)-【資源描述】: LiquidCrystal_I2C函數(shù)庫(kù)?
    發(fā)表于 09-16 16:05 ?99次下載
    LiquidCrystal_I2C<b class='flag-5'>函數(shù)庫(kù)</b>

    RA CLASS B認(rèn)證函數(shù)庫(kù)使用簡(jiǎn)介

    介紹 RA系列單片機(jī)是瑞薩推出的32位ARM單片機(jī),在某些產(chǎn)品中需要通過安規(guī)認(rèn)證,如IEC60730(CLASS B),芯片硬件本身已經(jīng)通過IEC60730
    的頭像 發(fā)表于 01-18 12:25 ?1714次閱讀