RL78

低引脚数封装器件带来更多选择,进一步扩展RL78产品家族

全球半导体解决方案供应商瑞萨电子(TSE:6723)今日宣布,其低功耗RL78产品家族推出一款全新通用多功能微控制器(MCU)——RL78/G15。该器件以较小的封装尺寸面向8位MCU应用。在8至20个引脚的封装尺寸中包含众多外设功能和4-8KB的代码闪存,最小的8引脚器件尺寸仅为3mm x 3mm。这些特点旨在保持更小的系统尺寸,并降低工业、消费、传感器控制、照明和变频器等应用终端的系统成本。此外,其125°C的最大工作环境温度有利于优化热设计,可覆盖更宽广的温度范围,允许MCU在变频电机等发热部件附近使用。

1.jpg

瑞萨电子MCU器件解决方案业务部副总裁关俊彦表示:“RL78产品家族以其出色的电源效率和优化的外设功能而闻名。迄今为止,在其推出以来的11年中,出货已超71亿颗。目前月出货量达1亿颗。瑞萨将继续扩大具有成本效益和易于使用的8位及16位MCU,以满足用户的需求。”

IAR Systems产品管理总监Lotta Frimanson表示:“我们欢迎瑞萨的RL78家族产品扩展至广泛的低端MCU市场。作为支持整个RL78产品家族MCU的独家合作伙伴,IAR致力于打造一流的开发解决方案,助力全球工程师充分利用RL78 MCU的功能,并生成快速、紧凑的代码,实现高效开发。”

RL78/G15的关键特性

  • RL78 16位CPU内核,工作频率为16MHz

  • 覆盖-40°C至125°C的宽工作温度范围

  • 提供8至20引脚封装,其中最小可实现3mm x 3mm WDFN封装

  • 除VDD和VSS电源引脚外,所有引脚均可用于通用I/O

  • 高达8KB的代码闪存、1KB的数据闪存,和1KB的SRAM

  • 支持2.4V至5.5V工作电压

  • 支持多种串行接口:CSI、UART、简单I2C和多主I2C

  • 高精度振荡器(±1.0%)

  • 内置比较器

开发环境

与其它RL78器件类似,采用全新RL78/G15进行设计的工程师可以使用基于GUI的智能配置器,为外设功能轻松生成驱动代码。瑞萨还提供用于评估的快速原型开发板(FPB),带有Arduino Uno和可访问所有引脚的Pmod™ Type6A型接口。仅需一条USB线缆即可进行调试及编程。开发人员能够通过在FPB上运行的Arduino库获得丰富RL78开发资源,更可借助Arduino生态系统提供的大量资源,将想法快速转化为可运行的解决方案。

成功产品组合

瑞萨开发了100W USB多输出电源(PD)适配器,可为各种系统供电。该款高效电源除RL78/G15 MCU外,还包含一个高性能PFC(功率因数校正)控制器、一个AC/DC控制器,和一个高性能DC-DC降压装置。这一解决方案为用户实现了一体化移动充电器,可轻松为笔记本电脑、平板电脑,或移动电话充电,而不必担心兼容性问题,是快速充电器、移动设备,或适配器的理想组合。该解决方案是瑞萨“成功产品组合”的一部分,瑞萨“成功产品组合”将相互兼容的瑞萨器件优化并组合,实现无缝协作,以降低用户设计风险并缩短上市时间。瑞萨现已基于其产品阵容中的各类产品,推出超过300款“成功产品组合”。更多信息,请访问:https://www.renesas.com/win

供货信息

RL78/G15现已量产。了解新产品及其支持工具的更多信息,请访问:https://www.renesas.com/rl78g15

关于瑞萨电子

瑞萨电子(TSE: 6723),科技让生活更轻松,致力于打造更安全、更智能、可持续发展的未来。作为全球微控制器供应商,瑞萨电子融合了在嵌入式处理、模拟、电源及连接方面的专业知识,提供完整的半导体解决方案。成功产品组合加速汽车、工业、基础设施及物联网应用上市,赋能数十亿联网智能设备改善人们的工作和生活方式。更多信息,敬请访问renesas.com。关注瑞萨电子微信公众号,发现更多精彩内容。

围观 13

瑞萨的RL78系列MCU,具有超低系统功耗44uA/MHz,0.37uA RTC mode,210nA STOP mode,卓越性能工作频率达32MHz,工作电压1.6V~5.5V,高扩展性10-128pin封装;1-512KB闪存,高集成度、低系统成本,1%精度片上晶振,温感,运放,ADC,DAC,比较器,LCD,高品质、安全,IEC 60730,CRC校验,AES加密算法,带ECC的闪存,数据闪存,擦写次数>100万次。

通用MCU:

“关于RL78/G13系列R5F100BEANA产品ADC采集误差过大的问题"

带LCD驱动MCU:

“关于RL78/G13系列R5F100BEANA产品ADC采集误差过大的问题"

专用MCU:

“关于RL78/G13系列R5F100BEANA产品ADC采集误差过大的问题"

RL78具有低功耗,丰富的外设,同时具有极高的性价比。在一款低功耗采集设备上使用了RL78/G13系列的R5F100BEANA,32PIN的产品。在实际测试过程中发现,ADC通道0~2,这三个通道采用同一个模拟信号,但是ADC通道0基本上一直比通道1和2结果值小。ADC通道1、2的采样值基本一致。于是,进行了以下的排查工作。

1、检查焊接、BOM、连线等问题。

经排查,焊接正常,BOM没有问题,连接线、跳线等牢固可靠。

2、测试多块板,排除个体间的差异。

经排查,每块板都会有同样的问题,确认是共同性问题。

3、检查原理图,PCB,是否有设计问题。

经排查,暂时没有发现明显的设计上的问题。

4、确认ADC输入源的稳定性。

将输入源改成稳定的直流电压供电,问题依然存在。

5、确认过程中ADCEN、ADS、ADCS等寄存器或者位是否有误操作

经排查,在程序运行过程中,没有对相关寄存器误操作。

提供A/D转换器的输入时钟的控制(PER0寄存器的ADCEN位)

“关于RL78/G13系列R5F100BEANA产品ADC采集误差过大的问题"

模拟输入通道指定寄存器(ADS)

“关于RL78/G13系列R5F100BEANA产品ADC采集误差过大的问题"

A/D转换运行的控制(ADM0寄存器的ADCS位)

“关于RL78/G13系列R5F100BEANA产品ADC采集误差过大的问题"

6、排查ADC使用中需要注意的事项

经排查,已按照手册建议配置

“关于RL78/G13系列R5F100BEANA产品ADC采集误差过大的问题"

7、排查ADC输入源电阻

经排查,输入源串联了1个10K欧姆的电阻,比手册上的建议值大,修改为500欧姆后,此问题排除。

“关于RL78/G13系列R5F100BEANA产品ADC采集误差过大的问题"

到此,解决了这个问题。

在调试过程中碰到问题,首先排查设计、硬件及不同板子之间的问题,然后依次检查对应的寄存器是否配置正确,再对照手册的此功能模块的推荐配置,依次排查,最终问题都会迎刃而解。

来源:瑞萨MCU小百科
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 18

引言

本文详细介绍了RL78 MCU从复位到进入main函数的过程,有助于读者对RL78 MCU体系结构的理解,RAM和ROM的初始化,以及bootloader程序的开发。

1. RL78复位源

RL78 MCU有以下7种复位源:

外部复位:

  • RESET复位引脚

内部复位:

  • 上电复位(POR)

  • 看门狗复位

  • 低电压复位

  • 非法指令复位

  • RAM奇偶校验错误复位

  • 存取非法寄存器复位

复位功能框图如下:

“RL78启动过程详解"

2. MCU运行模式

RL78 MCU有正常运行和闪存编程两种运行模式,在复位信号解除时,通过采样TOOL0引脚上的电平,进入对应的运行模式。

“RL78启动过程详解"

3. 启动代码分析

RL78 MCU启动代码主要在cstart.asm文件中,流程如下:

“RL78启动过程详解"

3.1 启动代码入口

代码如下:

“RL78启动过程详解"

MCU复位后,PC指针指向地址0,定义复位向量在地址0。

“RL78启动过程详解"

“RL78启动过程详解"

3.2 寄存器组选择

代码如下:

“RL78启动过程详解"

RL78-S2有4组通用寄存器,通过SEL RBn指令选择使用的寄存器组。

“RL78启动过程详解"

RL78通用寄存器组结构:

“RL78启动过程详解"

3.3 镜像区设置

代码如下:

“RL78启动过程详解"

3.3.1镜像区

RL78支持存取1MB的地址空间,能通过16位地址进行存取的数据区是F0000H~FFFFFH的64K字节空间,但是如果附加“ES:”,就能扩展到00000H~FFFFFH的1M字节空间。

“RL78启动过程详解"

代码闪存从地址0开始存储,一般需要使用20位地址访问该区域。为了加快对代码闪存的访问,可以将代码闪存的部分区域镜像到F0000H~FFFFFH中未使用的区域。

镜像示例如下:

“RL78启动过程详解"

3.3.2镜像区选择

复位后,MAA位默认为0,镜像00000H~0FFFF区域到F0000H~FFFFFH区域,对于闪存大于96KB的产品,可以通过设置MAA位,选择需要镜像的区域,详细请参考PMC控制寄存器。

“RL78启动过程详解"

“RL78启动过程详解"

3.4 栈初始化

代码如下:

“RL78启动过程详解"

3.4.1 设置SP

将栈顶地址 __STACK_ADDR_START设置到SP寄存器。

其中__STACK_ADDR_START是由链接器产生。

“RL78启动过程详解"

3.4.2 初始化栈

将栈底地址参数赋值给AX寄存器,然后调用栈初始化函数stkinit,将栈区域清0。

“RL78启动过程详解"

stkinit函数在stkinit.asm文件中,代码如下:

“RL78启动过程详解"

“RL78启动过程详解"

大致流程为:先按照32字节进行清0,剩余部分,按字节进行清0。

3.5 外设初始化

代码如下:

“RL78启动过程详解"

其中R_Systeminit函数是由代码生成器,通过图形界面配置生成。

注意:尽量不要修改该部分代码。

如需修改,禁止执行读取RAM的操作。(访问未初始化的RAM,可能触发RAM奇偶校验错误,产生奇偶校验复位。)

错误代码示例:

“RL78启动过程详解"

错误原因:g_dbgMode全局变量将在data段的初始化过程中赋值1,但此时data段还未初始化,dbgMode指向的RAM地址未写入奇偶校验位,if(g_dbgMode==0)语句,将执行读操作,可能触发RAM奇偶校验错误,产生奇偶校验复位。

3.6 初始化BSS,DATA段

BSS初始化代码如下:

“RL78启动过程详解"

DATA段初始化代码如下:

“RL78启动过程详解"

其中HIGH/LOW/STARTOF/SIZEOF等表达式,请参考编译器手册文档”CC-RL user’s manual”。

“RL78启动过程详解"

3.7 进入main函数

“RL78启动过程详解"

3.8 堆

CC-RL V1.02以上版本支持堆的操作

“RL78启动过程详解"

如需使用堆的相关操作,需要先初始化_REL_sysheap和_REL_sizeof_sysheap,详细内如请参考以下示例:

“RL78启动过程详解"

来源:瑞萨MCU小百科
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 478

1、IAR IDE

IAR一直是Renesas强有力的合作伙伴,IAR IDE支持Renesas全系列MCU的开发和调试。IAR Embedded Workbench是一个完整的开发工具链,在易于使用的集成开发环境中提供了强大的代码优化和全面的调试功能。

2、Renesas RL78系列MCU

Renesas RL78系列MCU是Renesas 16-bit低功耗产品线,专为超低功耗设计,可以为客户提供以较低的成本建立高集成度和高效节能的应用平台。

RL78系列MCU有三大主要特点:

1)低功耗:最低46uA/MHz

2)可扩展性:1KB~512KB Flash

3)高效:最高1.39DMIPS/MHz

此外,RL78系列MCU具有超级全面的产品线,同时也在不断地推进新产品的开发,以满足客户未来的产品升级需求。

3、使用IAR IDE仿真RL78内置硬件乘法器&除法器注意事项

在使用IAR IDE进行RL78系列MCU仿真调试时,可执行硬件仿真或软件仿真(Simulator),但是,如果需要应用硬件乘法器/除法器,则必须使用硬件仿真,不能使用软件仿真(Simulator),软件仿真(Simulator)不支持MCU内部的硬件乘法器/除法器。

当执行硬件仿真时,如果不勾选“Disable Hardware Multiplier/Divider Unit”:

“”使用IAR

对应的乘法操作会调用函数HWMUL_32_32_32,(HWMUL_32_32_32存在于工具自动生成的文件LibReplacement.s中,当不勾选“Disable Hardware Multiplier/Divider Unit”时,会自动在Output文件夹生成LibReplacement.s文件),例如:

“”使用IAR

在程序中可以看到:

“”使用IAR

“”使用IAR

当勾选“Disable Hardware Multiplier/Divider Unit”时,编译器会选择对应的软件乘法库函数L_MUL_L03来实现乘法操作:

“”使用IAR

需要注意的是,软件乘法库函数L_MUL_L03相对于HWMUL_32_32_32函数会需要更多的资源及运行时间。

来源:瑞萨MCU小百科
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 119

对于物联网的应用或者产品版本管理等场合,芯片的信息读取是用户非常关心的问题。本文介绍了瑞萨RL78家族单片机读取Device Part Number和Unique ID的方法。

1、读出产品型号

RL78族的产品型号是使用ASCII码编写的,被保存在Code Flash的特定区域内。使用软件读取该区域,可以读出产品的型号。具体请点击链接查看应用笔记参考:https://www2.renesas.cn/cn/en/document/apn/rl78-family-software-based-part-number-reading-out-rev100

根据指令类型、时钟数目和性能,RL78单片机可以分为三种类型:RL78-S1内核、RL78-S2内核和RL78-S3内核。本文中的内容只适用于RL78-S2内核和RL78-S3内核的产品。

  • RL78-S1内核产品:RL78/G10

  • RL78-S2内核产品:RL78/G12、RL78/G13、RL78/G1A、RL78/G1E、RL78/G1C、RL78/I1A、RL78/F12、RL78/D1A、RL78/L12、RL78/L13等。

  • RL78-S3内核产品:RL78/G11、RL78/G14 、RL78/G23等。

RL78-S2内核和RL78-S3内核产品的存放产品型号的区域地址 为0xEFFD5~0xEFFDE。

表1.1中列出了RL78/G13“R5F100LE”的产品型号。产品型号是用ASCII码编写的。

“关于RL78

读出产品型号的代码参考如下。执行该代码,可以读出用ASCII码编写的产品型号。被读出的产品型号保存在内部RAM中。

unsigned char __far* ptr; 

unsigned char sig[10]; 

unsigned char i; 

ptr = (unsigned char __far*)0xEFFD5; 

for (i = 0; i < 10; i++) 

{ 

    sig[i] = *ptr; 

    ptr++; 

}

下图所示为RL78/G13的运行结果,用户可通过“Watch”窗口得到产品型号的读出结果。

“关于RL78

2、读出Unique ID

2.1 Unique ID Driver

官方提供的Unique ID Driver只可用于RL78/G2x,具体请扫描下方二维码查看应用笔记参考。(需要登陆后查看)

https://www2.renesas.cn/cn/en/oauth2/default/v1/authorize?client_id=0oa2ixjskq8o2hdJB357&response_type=code&scope=openid%20email%20phone%20profile%20MyRenesasUserInfo&redirect_uri=https%3A//www2.renesas.cn/openid-connect/renesas-okta&state=qnG56-01fbiD6dPWyz7nlu1JkA1-mSn0O3VwVh6w1Fk

  • Unique ID是分配给单个产品并存储在非编址区域中的唯一值。

    • 在制造MCU时每个产品都会获得一个Unique ID。 

    • 该Unique ID无法再被更改。

    • Unique ID的数据长度为16字节(128位)。

  • Unique ID的区域地址为 0xEFFC0~0xEFFCF。

Unique ID读取驱动文件位于应用笔记例程的libsrc下,文件结构如表2.1和图2.1所示。表2.1列出了每个文件的作用。文件结构的相关部分包含在图2.1中的红色框中。

“关于RL78

“图2.1
图2.1 驱动程序文件结构

表2.2列出了Unique ID读取驱动的API函数

“关于RL78

以下是使用RL78/G23 FPB读取Unique ID的参考示例,设备连接图如下图所示。

“图2.2
图2.2 RL78/G23 FPB设备连接图

设置和执行步骤:

a)将PC的USB端口连接到RL78/G23 FPB的micro USB端口,如图所示在图2.2中,RL78/G23 FPB设备连接图。

b)在PC上启动终端仿真程序(终端软件)。然后选择分配给USB串行转换器板的串行COM口。

c)在终端软件中进行串行通信设置以匹配示例应用程序:115,200 bps,8个数据位,无奇偶校验,1个停止位,无流量控制。

d)构建示例应用程序,将其下载到RL78/G23 FPB上,并使用调试器运行应用程序。

e)软件运行时,将Unique ID和产品名称输出到终端,之后程序正常终止。

“关于RL78

调试注意事项:无法使用调试器的内存浏览器查看存储Unique ID和产品名称ASCII代码的闪存区域,在Memory Browser窗口中,只能看到该区域显示为全FFH。

“关于RL78

2.2 除RL78/G23以外的RL78产品配置Unique ID的方法

对于除RL78/G23以外的其他RL78产品,可以通过一些算法获得唯一ID,然后烧录到ROM中的一个空的固定地址。软件可以设置命令到该地址读取该ID。使用Renesas Flash Programmer(RFP)软件的图形化界面,可以实现在烧录bin文件的同时写入配置好的Unique ID。

“关于RL78

有关详细信息,请点击下方链接查看参阅用户手册第3章。

https://www2.renesas.cn/cn/en/document/mat/renesas-flash-programmer-v205-flash-memory-programming-software-users-manual-common

“关于RL78

来源:瑞萨MCU小百科
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 182

一、概述

RL78系列是16bit MCU的王者,以低功耗和高性价比服务全球客户。随着社会进步时代发展,OTA在电子行业越来越越重要,RL78系列MCU有两个boot cluster,支持多种编译环境和多种方式的bootloader,本文以客户常用的CS+环境配合CC-RL编译器,给大家介绍一种OTA的MCU端的实现方式。

二、基本原理

RL78系列MCU的内存映射,以64K flash的R5F100LE为例,如图

“RL78如何使用加载Bootloader做OTA"

可以看到分为2个boot Cluster:Boot cluster 0和Boot cluster 1。

程序启动时,从Boot cluster 0开始执行。

这两个Boot cluster在程序运行过程中可以通过调用瑞萨自编程库(Flash Self-Programming Library)里面的boot swap函数来翻转,即Boot cluster 0可以变成1而Boot cluster 1变成Boot cluster 0,基于此,我们可以将bootloader程序存放于boot cluster 1里面,应用程序则从Boot cluster 0执行,当程序判断相关条件,需要OTA时候,可以调用boot swap函数翻转boot cluster,这样翻转后reset,则原来的bootloader段变成了Boot cluster 0,可以执行OTA相关操作,将新程序的Boot cluster 0内容写入Boot cluster 1,应用程序段写入地址0x2000开始的flash;

OTA完成后,再调用boot swap,这时bootloader段自动翻转到原来的Boot cluster 1区域,新程序的boot区域回到Boot cluster 0,其中断向量表不受影响。

整个OTA过程:

“RL78如何使用加载Bootloader做OTA"

三、实现方式

1、Bootloader程序编写:代码大小限制在1个boot cluster内(4k)

作用:用来接收新程序的代码并擦除老程序、更新老程序。

Bootloader工程segment划分:

“RL78如何使用加载Bootloader做OTA"

需要注意检查生成代码应该在0-0xfff内,不能越界

2、Bootloader生成的hex文件转换成.c文件(J-Link工具可用来转换),输出一个大数组,备用。

如下图,保存为.c文件:

“RL78如何使用加载Bootloader做OTA"

即可生成大数组:

“RL78如何使用加载Bootloader做OTA"

3、Application应用程序段代码编写与集成bootloader:应用程序段的代码编写无需考虑中断向量表偏移等问题,因为程序正常跑,与即将放在Boot cluster 1区的bootloader无关。但是需要将与boot swap相关的代码放置在Boot cluster 0区域内。

App工程Segment划分:

“RL78如何使用加载Bootloader做OTA"

I. 0x1000-0x1fff不能存放其他数据,该区域为boot cluster 1,定义段为.constBOOTAREA_f,如上图。程序代码中,使用如下预编译指令将bootloader放入Boot cluster 1中

#pragma section BOOTAREA

__far const unsigned char bootloader[]={xx,xx};//bootloader itself

#pragma section

II. 划分一个App区域的boot区,把这个区域放在0x0000 to 0xFFF. 如上图,.BOOT_f段。程序中可以使用预编译指令#pragma section来将相关代码放入这个区域,例如在编写代码时候加入如下代码:

#pragma section text .BOOT

/* write your code here */

#pragma section 

III. 那么这段代码会放入.BOOT_f区域。请注意,需要从生成的map文件去判断这个区域不超过0xfff,即不与0x1000-0x1fff Boot cluster 1段重合。

4、Application代码烧入MCU,则MCU内便集成了bootloader。

5、新的应用程序编写:与第3步骤大致相同,但是不需要加入III的Boot cluster 1区域大数组。

6、有新的应用程序需要OTA更新,则先与Application程序握手成功,然后执行第二章的OTA流程;也可在Boot cluster 0里完成握手,执行OTA。

Note:使用fsl自编程库和fdl data flash库时候需要注意代码段划分。

来源:瑞萨MCU小百科
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 266

RL78是瑞萨8位/16位自有内核系列产品,主打低功耗应用。RL78从问世以来,至今已经发展到超过1000个料号的大家族产品系列。宽供电电压范围,高集成度,高可靠性使得RL78在工业,消费,汽车领域得到广泛应用。基于平台型设计的思想,RL78家族产品具有很好的延展性:从10引脚小尺寸封装到128引脚多I/O,从1K片上闪存配置到768K配置,保持高度引脚兼容,方便客户在RL78家族中各个系列中的方便切换。

RL78有三大系列:以字母“G”表示的通用(general purpose)系列,以字母“L”代表的集成段码LCD驱动系列,以及以字母“I”开始的特定领域系列。今天我们就和大家来聊一聊RL78/I系列中的明星产品RL78/I1C。

I1C是一个专为电表市场设计的紧凑型MCU,目前在电表和测量领域已经出货几百万颗。最新一代I1C,进一步扩大片上闪存容量,增至512KB并支持双bank,为物联网电表应用的FOTA升级打下坚实基础。此外,除了拥有24位精度的⊿Σ型ADC,还额外添加12位精度的SAR(逐次逼近)型ADC,片上SRAM容量也增大一倍,达到32KB。

“瑞萨RL78

这样,整个I1C系列的产品组合非常丰富,参加下图。点击文末阅读原文可以了解更多RL78/I1C的型号分布。

“瑞萨RL78

RL78/I1C产品亮点

  • 支持5V的供电电压,适配电表应用,无需外接电平转换

  • 集成段码LCD驱动,适配电表应用,无需外接驱动芯片

  • 高精度(24位)ADC支持4路电流,电压采样。采样频率可达4KHz,过采样频率可达1.5MHz

  • AES硬件密码学引擎,支持ECB,CBC,CGM模式,密钥长度高达256位。相比软件实现AES加解密,硬件引擎速度提升20倍

  • 片上闪存的双Bank机制,使得电表的固件升级和以电能测量为核心的主业务逻辑可以同时进行,互不干扰。即使新固件内容受损,也能方便地切换到原版本固件运行,解除远程在线升级的后顾之忧。

基于512K双Bank闪存配置的RL78/I1C如何完美解决FOTA问题

FTOA是Firmware update Over The Air的缩写。设备安装到现场后可以通过多种无线通信方式更新设备固件,以新增设备功能或改善业务逻辑,或者修补原有固件的功能bug甚至安全隐患。是物联网时代网络节点的重要能力之一。传统的FOTA,将新版本固件下载到本地的片外存储区,擦除当前运行固件所在的存储区,烧写新版本固件,然后通过复位来运行新版本固件。显而易见在上述过程,有一段时间,业务逻辑是停止运行的。对于有些应用也行没有大碍,但是却对于电表来说,电力计量功能的停止会导致电量计费损失,不满足各国对电力企业的要求。

“瑞萨RL78

随着片上Flash双Bank的引入,包含电量计量功能的当前版本业务逻辑在一个Bank运行的同时,另外一个Bank可以接受新版本固件。因为两个Bank的闪存是彼此独立,各自的读写操作互不干扰。Bank1在被CPU取址执行,同时Bank2在被写入新版本固件内容。接下来再通过Bank swap以及复位,使得新版本程序得以从头开始执行。相比以前的FOTA方案,这个方案明显减少了业务逻辑停止运行的时间,但是复位操作还会造成程序执行流的中断,对电能持续记录还是有些许的影响。

瑞萨推出的无间断计量FOTA解决方案,通过把计量代码放到RAM运行,再通过Flash的swap功能,可以无需系统复位,不打断业务逻辑程序执行流,不停止电量计量,就实现电表固件程序的远程升级。该方案不仅适用于智能电表,也可用于需要持续运行的系统。

“瑞萨RL78

扫描下方二维码查看无间断计量FOTA解决方案

“瑞萨RL78

来源:瑞萨MCU小百科
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 118
订阅 RSS - RL78