0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RA CLASS B认证函数库使用简介

瑞萨嵌入式小百科 来源:未知 2023-01-18 12:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

介绍

RA系列单片机瑞萨推出的32位ARM单片机,在某些产品中需要通过安规认证,如IEC60730(CLASS B),芯片硬件本身已经通过IEC60730认证了,今天主要说RA芯片软件自检函数库。

主要内容

RA的IEC60730例程可以识别下方二维码或复制下方网址在浏览器中打开进入瑞萨官网直接获取(需登录官网):

f55ffaf2-96e6-11ed-bfe3-dac502259ad0.png

https://www.renesas.cn/cn/zh/document/scd/ra-family-iec-6073060335-self-test-library-ra-mcu-cm4cm23

目前包括RA2A1、RA2L1、RA4M1、RA6M1四个系列芯片的例程。MCU自检分为两个部分:初始化自检和循环调用自检,可以分为以下:CPUROMRAM、Clock、IWDT、Voltage、ADC、Temperature、POE、GPIO共10个部分,其中GPIO检测需要动作GPIO电位只能初始化时自检。

移植CLASS B代码

1

将SelfTestLib(CLASS B测试代码文件)和srec(CRC脚本及其配置参数文件)加入自己工程中,并加入工程的includes目录中如下图1。并根据芯片的特性,排除不需要的模块,如RA2系列MCU没有FPU模块,需排除,否则编译报错。

f56f4048-96e6-11ed-bfe3-dac502259ad0.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位字节,如图2。

f57d4558-96e6-11ed-bfe3-dac502259ad0.png

图2

4

设置一个周期性中断调用CLASS B周期性自检,周期时间长短可根据安规公司要求调整。

按照上述步骤作者成功编写移植了瑞萨官方提供的函数库,并编译通过无报错,见图3。

f58d5696-96e6-11ed-bfe3-dac502259ad0.png

图3

CLASS B各个模块自检介绍

CPU

CPU的测试方式为向寄存器内写入数据,然后读出校验其是否能正常写入、读出,在写入数据和完成后会有将之前工作数据入栈(PUSH {R0-R7})和恢复数据的出栈指令(POP {R0-R7})等,运行CPU自检程序时,不能被其他程序打断,否则会发生数据运行错误。

ROM

ROM测试方式为引入外部脚本srec计算出CRC值写入内存的最后一位并与RA单片机内部CRC计算值对比,从而完成对ROM的计算,外部脚本写入地址如u图4中所示。

f59a57c4-96e6-11ed-bfe3-dac502259ad0.png

图4

RAM

RAM模块检验方式是向MCU的RAM区域进行读写测试,完成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电压监控模式,如果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管脚电平变化时可能是缓慢变化,所以设置完输出后要根据电路连接适当延时检测,从而避免发生错误。

作者对CLASS B自检各个模块项目所用时间长度做了大致的测算如图5

f5abec1e-96e6-11ed-bfe3-dac502259ad0.jpg

图5

结论

作者移植成功IEC60730安规认证库发现上电初始化自检大概需要70ms,且每隔一段时间会定时自检各个模块,其中最长的一次模块自检须用时长1.48ms,加入库代码时要考虑此时间长度是否对自身逻辑有无影响。注意循环测试中CPU自检不应该被任何中断打断,鉴于CPU测试时间比较短(小于1mS),建议开始CPU测试之前关闭中断、CPU测试完成后再打开中断,若强行打断CPU自检会导致程序跑飞、栈溢出等严重后果。此外GPIO自检会动作IO电平,对于大多数应用来说是不允许的,可跟安规公司沟通酌情添加此模块自检函数。

更多内容欢迎查看

RA生态工作室

f5b79780-96e6-11ed-bfe3-dac502259ad0.png

https://www.ramcu.cn/


原文标题:RA CLASS B认证函数库使用简介

文章出处:【微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18609

    浏览量

    387084
  • 瑞萨
    +关注

    关注

    36

    文章

    22430

    浏览量

    89751
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RA-Eco-RA6M4开发板评测】基于 RA6M4 MCU的工业生产线安全监测系统移植nanoMODBUS

    nanoMODBUS:从GitHub仓库获取最新版本 准备RA6M4开发环境:安装e2studio和RA Family设备支持包 准备RA6M4开发板硬件:确保UART接口可用(建议
    发表于 09-15 22:32

    极海APM32E030/F402系列MCU通过IEC 60730/60335功能安全认证

    近日,极海APM32E030系列基础拓展型MCU、APM32F402系列高性能高性价比MCU通过IEC 60730/60335认证,可提供符合Class B标准的功能安全,助力客户快
    的头像 发表于 08-29 13:57 832次阅读
    极海APM32E030/F402系列MCU通过IEC 60730/60335功能安全<b class='flag-5'>认证</b>

    瑞萨RA系列FSP开发实战指南(29)CGC(时钟生成电路)时钟控制

      第13章 CGC——时钟控制   CGC CGC(Clock Generation Circuit):时钟生成电路 13.1 CGC模块简介 #CGC 全称是Clock Generation
    的头像 发表于 08-05 14:02 3108次阅读
    瑞萨<b class='flag-5'>RA</b>系列FSP<b class='flag-5'>库</b>开发实战指南(29)CGC(时钟生成电路)时钟控制

    自己写:构建库函数雏形

    实际上,构建固件是一件费时费力的事情,并且它对开发者对芯片的熟悉程度有一定的要求。甚至,当一个固件的封装程度很高时,想要阅读并理解该固件的底层代码也会变成一件有较高难度的事情。瑞萨RA
    的头像 发表于 06-19 11:19 900次阅读
    自己写<b class='flag-5'>库</b>:构建库<b class='flag-5'>函数</b>雏形

    RA-Eco-RA4M2开发板评测】开箱 + 点灯

    RA4M2的原理图,板载的LED分别连接的引脚是P405,P404,P002。 可以通过引脚的配置以及使用函数库很快的就可以完成点灯的操作。当然也可以使用官方提供的例程
    发表于 05-30 09:45

    RA-Eco-RA4M2开发板评测】2、虚拟串口usb cdc

    ;Operation Mode:Device 设置CDC描述符名称 二、软件部分 1、复制一份CDC描述符文件到src https://gitee.com/ramcu/ra-fsp-examples/tree
    发表于 05-01 14:20

    RA-Eco-RA4M2开发板评测】RA-Eco-RA4M2 PWM输出

    开发环境: IDE:MKD 5.38a Renesas RA Smart Configurator:v5.1.0 开发板:RA-Eco-RA4M2 MCU:R7FA4M2AD3CFP 1 PWM简介
    发表于 04-28 22:57

    瑞萨RA芯片的Boot模式简介

    RA芯片在上电或通过芯片复位引脚进行复位时,会根据MD引脚的电平来进入不同的芯片操作模式:“Single-chip Mode”或者“Boot Mode”。
    的头像 发表于 04-09 10:52 1951次阅读
    瑞萨<b class='flag-5'>RA</b>芯片的Boot模式<b class='flag-5'>简介</b>

    汽车芯片厂商芯弦半导体NSSineTM系列实时控制MCU通过IEC 60730 Class B功能安全认证

    近日,芯弦半导体(苏州)有限公司NS800RT3xxx/5xxx 系列的 MCU 安全成功通过IEC 60730 功能安全认证,为家电等电子产品筑牢安全质量防线。国际权威的测试、检验和认证机构
    的头像 发表于 04-02 17:34 1821次阅读
    汽车芯片厂商芯弦半导体NSSineTM系列实时控制MCU通过IEC 60730 <b class='flag-5'>Class</b> <b class='flag-5'>B</b>功能安全<b class='flag-5'>认证</b>

    如何找到DLP4500的API函数库和说明手册?

    您好,我买了一块DLP4500,我是想采用C#编程,想通过调用API函数来重建点云。(C#如何调用API我会) 我看了很多资料,都是一些C++的例子,都没有理出头绪,麻烦指点一下。 重建点云,可以直接调用的API函数库在哪里找得到? 万分感谢
    发表于 03-03 06:18

    基于瑞萨RA0E1开发板的ThreadX实时操作系统串口回显测试

    感谢立创提供测试机会,学到RA0及瑞萨MCU的相关使用。使用瑞萨FSP和配置工具大大简化了开发过程。掌握相关函数的功能,如打开串口、设置串口参数、读取和写入串口数据等。
    的头像 发表于 02-25 09:27 923次阅读
    基于瑞萨<b class='flag-5'>RA</b>0E1开发板的ThreadX实时操作系统串口回显测试

    安信可2.4G LoRa模组Ra-05/Ra-05U模组驱动说明

    文章目录 一、简介 二、硬件准备 设备清单 接线说明 三、重要函数说明 四、调试 五、联系我们 简介 Ra-05、Ra-05U 是由安信可科
    的头像 发表于 02-14 09:31 778次阅读
    安信可2.4G LoRa模组<b class='flag-5'>Ra</b>-05/<b class='flag-5'>Ra</b>-05U模组驱动说明

    Ra-05/Ra-05U模组驱动说明

    文章目录 一、简介 二、硬件准备 设备清单 接线说明 三、重要函数说明 四、调试 五、联系我们 简介 Ra-05、Ra-05U 是由安信可科
    的头像 发表于 01-21 11:36 905次阅读
    <b class='flag-5'>Ra</b>-05/<b class='flag-5'>Ra</b>-05U模组驱动说明

    TimSort:一个在标准函数库中广泛使用的排序算法

    排序算法呢? 本文将带你走进 TimSort,一个在标准函数库中广泛使用的排序算法。 这个算法由工程师 Tim Peters 于 2001 年专为 Python 设计,并自 Python 2.3 版本起
    的头像 发表于 01-03 11:42 954次阅读

    **【RA-Eco-RA4E2-64PIN-V1.0开发板试用】+小白折腾瑞萨RA系列全过程01**

    0 说在前面 非常感谢RA生态工作室和电子发烧友论坛提供这次试用机会!我在工作和生活中使用过各种各样的芯片,有STM32,N32,AT32和PY32等等,除了PY32仅支持HAL之外(PS:就算是
    发表于 12-16 13:12