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

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

3天內不再提示

RA CLASS B認證函數庫使用簡介

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

介紹

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

目前包括RA2A1、RA2L1、RA4M1、RA6M1四個系列芯片的例程。MCU自檢分為兩個部分:初始化自檢和循環(huán)調用自檢,可以分為以下:CPUROM、RAM、Clock、IWDT、Voltage、ADC、Temperature、POE、GPIO共10個部分,其中GPIO檢測需要動作GPIO電位只能初始化時自檢。

移植CLASS B代碼

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

wKgaomWeGAWAQevPAAJrv7rKOLY589.png

圖1

2、可根據自身芯片的FLASH大小更改CRCcalcCmdXXKB.txt和CRCcalcCmdDebugXXKB.txt對應的數值。

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

wKgZomWeGA2Aa1YcAAFK5yKZ-J0920.png

圖2

4、設置一個周期性中斷調用CLASS B周期性自檢,周期時間長短可根據安規(guī)公司要求調整。

按照上述步驟作者成功編寫移植了瑞薩官方提供的函數庫,并編譯通過無報錯,見圖3。

wKgaomWeGBeAWGTeAAK5QnNPCyU127.png

圖3

CLASS B各個模塊自檢介紹

CPU

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

ROM

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

wKgZomWeGG-AVhWqAAOFjJcmu28251.png

圖4

RAM

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

CLOCK

CLOCK可采用內部或是外部時鐘檢驗MCU主時鐘,本例程中選中IWDTCLOCK時鐘作為基準時鐘。其中CLOCK的校驗函數ClockMonitor_Init(HOC

O , IWDTCLK , CLOCK_FREQ_MAIN , 15000 , Clock_Test_Failure);

參數1:目標時鐘

參數2:基準時鐘

參數3:目標時鐘頻率

參數4:基準時鐘頻率

參數5:錯誤時回調函數

VOLTAGE

VOLTAGE檢驗是MCU打開LVD電壓監(jiān)控模式,如果MCU電源電壓低于設定電壓時MCU調用不可屏蔽中斷NMI,進入報錯函數。電壓檢測調用VoltageMonitor_Init(VOLTAGE_MONITOR_LEVEL_2_79);本例程中電源低于2.79V進入報錯函數。

ADC

MCU內部有個ADC CRC模塊,可以將ADC引腳接入CRC模塊中,模塊會產生0V基準、VCC/2基準、VCC電壓基準來校驗ADC,需要實時查看ADC引腳上的電壓,看ADC模塊能否正常轉換電壓。

TEMPERATURE

MCU內部有溫度傳感器TSN,可實時查看溫度情況,一旦超過設定范圍,可進入報錯。

GPIO

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

作者對CLASS B自檢各個模塊項目所用時間長度做了大致的測算如圖5

wKgaomWeGHmAB0-bAABVqs1UF5E938.png

圖5

結論

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

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

    關注

    0

    文章

    18

    瀏覽量

    24621
  • Class
    +關注

    關注

    0

    文章

    52

    瀏覽量

    19676
  • 函數庫
    +關注

    關注

    1

    文章

    84

    瀏覽量

    32397
收藏 人收藏

    評論

    相關推薦

    什么是STM32函數庫

    文章目錄- 自己寫—構建庫函數雛形1. 什么是 STM32 函數庫2. 為什么采用來開發(fā)及學習?3. 實驗:構建庫函數雛形3.1 外設寄
    發(fā)表于 08-05 07:30

    ZLGCAN接口函數庫

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

    C語言入門教程-函數庫

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

    PIC單片機的C語言應用下的函數庫

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

    STM8S固件函數庫

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

    STM8函數庫中文參考

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

    STM32固件函數庫-中文

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

    STM8S固件函數庫

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

    PID模塊相關函數庫

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

    linux_C函數庫中文手冊

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

    基于GE運動控制器型號及在函數庫中應用

    GE 系列運動控制器提供DOS 下的C 語言函數庫和Windows 下的動態(tài)鏈接,若為GUC 運動控制器且內嵌系統為WinCE 系統,運動控制器還會提供對應WinCE 下的動態(tài)鏈接。用戶只要調用
    發(fā)表于 10-11 17:44 ?33次下載

    標準C函數庫的用法

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

    C語言編程函數庫分類匯總資源下載

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

    LiquidCrystal_I2C函數庫

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

    RA CLASS B認證函數庫使用簡介

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