瑞萨

作者:Kenichi Nakashima(Sr Staff Product Marketing Specialist)

瑞萨将于2022年10月发布RL78/F24 BLDC-RSSK(RL78/F24的12V电机控制瑞萨解决方案入门套件)。这款RSSK适用于BLDC/FOC电机控制,包括小型电机。

这款RSSK包括一个小型电机、一个电路板以及三种不同电机控制软件版本:

#1 无传感器FOC控制(三电流);

#2 无传感器FOC控制(单电流);

#3 无传感器120度通电控制。

用户收到本款套件后,即可评估目标电机操作,例如泵和风扇应用。

“图1:Renesas
图1:Renesas Solution Starter Kit(RTK7F124FGS0000BJ)

“图2:Block
图2:Block Diagram(Pump Example)

RL78/F24 BLDC-RSSK可提供所有参考设计(原理图、PCB布线图等)以及特性数据(EMC)。因此,根据您使用的环境,可以更容易地设计电机控制板。

该套件所配备的RL78/F24是RL78/F13、F14的后续产品,具有小型电机控制的最佳功能。(图3)

“图3:RL78/F24
图3:RL78/F24 Motor Control Function

RL78/F24的计时器RDe(扩展互补PWM模式)比以往的计时器RD功能扩展了对称/非对称PWM输出功能、中断、A/D触发信号的抽取功能。例如,在无传感器FOC控制(单电流)中,使用该扩展互补PWM模式(非对称波形输出)。在单电流方式中,为了检测流过各相的电流,必须在图4所示的状态下取得分流电流:

“图4:Current
图4:Current Detection for Single-shunt Each Phase

但是,当使用MCU的A/D转换器测量分流电流时,需要A/D转换部分的测量时间。因此,通过使用计时器RDe的扩展互补PWM模式(非对称波形输出),可以在不改变PWM的导通时间,进行分流电流的测定。(见图5)

“图5:Phase
图5:Phase Shift for Single-shunt Current Detection

有了本款套件,可以轻松开发单电流无传感器FOC电机控制。与三电流控制相比,单电流无传感器FOC控制减少了元器件数量,因此系统可以以更低的成本实现。

RL78/F24的另一个新功能是应用加速器单元(AAU)。AAU可以在不使用CPU的情况下执行一些运算算法。这可以减轻CPU矢量运算的处理负载。

表1列出了AAU功能的规格一览表。

表1 AAU计算算法列表

“工程师说

本款套件使用“电机操作的Clarke和Park变换以及PI控制”(第7项)和“I-Park 和I-Clarke变换”(第8项)。

这款使用RL78/F24 MCU的RSSK可提供各种高效电机控制功能。作为一款小尺寸、超低功耗的理想产品,满足了客户解决方案的众多需求。

本款套件的预售时间:2022年10月

套件模式:RTK7F124FGS00000BJ

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

围观 45

前 言

在很多应用场景下可能需要使用段码式液晶显示屏LCD,如:家用电器、工业设备、仪器仪表、楼宇自动化设备、医用仪器、穿戴设备等等。这不仅是因为段码式液晶显示屏LCD具有显示美观、成本优势、功耗低等优点,而且现在很多MCU都集成了LCD驱动模块,使得开发变得更容易。根据不同电压、段位数、A/B驱动波形等广泛应用的需求,瑞萨集成了LCD驱动模块,不同系列的MCU可使用该模块从而匹配其应用。

一、段码式液晶显示屏LCD结构和显示原理

段码式液晶显示屏LCD内部晶体在静电场的功效下,晶体的排列方向会发生偏转,因而改变其透光性,从而可以看到显示的内容。LCD有一个偏转阀值,当LCD两端的电压高于该阀值时,则显示内容;而低于该阀值时,则不显示。

一般段码式液晶显示屏LCD有三个主要参数:工作中电压、Duty(相匹配COM数)和BIAS(偏压,相匹配阀值),例如,3.0V、1/4Duty、1/3BIAS表明LCD的工作中电压为3.0V,有4个COM,阀值大概是1.1V(3.0/3=1.0)。

“瑞萨MCU内置LCD控制器/驱动器漫谈"

当加在某段LCD两端的电压大于1.0V时显示,反之,不显示。但是,LCD对于驱动电压的反应不是很明显,例如加1.0V电压的时候,可能会微弱显示,这就是通常说的“鬼影”。因此,要保证驱动LCD显示的时候,加在LCD两端的电压要比阀值电压大得比较多,而不显示的时候,则要比阀值电压小得比较多。

需要注意的是,LCD的两端是不能加直流电压的,否则时间稍长会危害段码式液晶显示屏LCD晶体分子结构的电化学特点,造成显示实际效果模糊不清,使用期限降低的不良影响,其毁灭性不能修复,这就要求保证加在LCD两端的驱动电压的平均电压为0。所以,LCD使用分割扫描法,在任何时候只有一个COM扫描有效,其余的COM处于无效状态。

一个好的段码式液晶显示屏LCD控制器/驱动器,应该满足:

  • 能提供不同数量的COM、Duty(相匹配COM数)和BIAS(偏压,相匹配阀值),满足不同规格LCD屏的驱动

  • 能够提供多种分压方式,提供内部分压,减少外围电路分压的元器件

  • 能够提供内部Boost升压,满足一些电池供电,电池电压下降时,亮度还可以保持

  • 能够提供内部基准电压稳压,避免分压不准导致显示出现“鬼影”

  • 能够提供多个不同的基准电压选择,可以调整对比度

  • 能够提供多种不同分割扫描法、驱动波形,满足灵活选择

  • 能够不同的时钟源和不同分割扫描帧率的选择,满足不同应用低功耗的要求

瑞萨MCU内置的LCD控制器/驱动器不但满足上面的规格,而且还提供其他优点功能:

  • 提供不同的时钟源选择,可选择外部副时钟32.768KHz,也可选择MCU内部低速或高速时钟

  • 提供显示数据寄存器,能通过自动读取显示数据寄存器进行段信号SEG和公共信号COM的自动输出

  • 提供时间间隔闪烁功能,方便易用

二、瑞萨MCU内置的LCD控制器/驱动器

1、LCD控制器/驱动器框图

图1为集成到瑞萨自有16bits RL78系列核MCU中的LCD控制器/驱动器,图2集成瑞萨32bits RA4M1系列Arm核MCU中的LCD控制器/驱动器,两者主要区别是LCD控制器/驱动器的工作时钟选择不同,RA4M1系列还可支持选择内部高速时钟。

“图1
图1 R7F0C001/R7F0C002/L12/L13/L1A/L1C LCD控制器/驱动器

“图2
图2 RA4M1 LCD控制器/驱动器

①外围允许寄存器0(PER0):在将副系统时钟(fSUB)用于LCD控制器/驱动器时设定。

②LCD模式寄存器0(LCDM0):LCD驱动电压生成电路、显示波形(A/B)和显示的时间片DUTY的选择。

③LCD模式寄存器1(LCDM1):此寄存器允许或者禁止显示运行,允许或者停止升压电路和电容分割电路的运行以及设定显示数据区和低电压模式。

④运行速度模式控制寄存器(OSMC):通过停止不需要的时钟功能来降低功耗。

⑤LCD时钟控制寄存器0(LCDC0):设定LCD源时钟和LCD时钟的寄存器,通过LCD时钟和时间片决定帧频。

⑥记忆性液晶控制寄存器(MLCD):控制记忆性液晶波形。

⑦LCD升压电平控制寄存器(VLCD):能从升压电路运行时生成的16种基准电压(调整对比度)中选择。

⑧LCD输入切换控制寄存器(ISCLCD):设定CAPL/P126、CAPH/P127、VL3/P125引脚作为LCD功能运行的期间防止贯通电流的流入。

2、LCD控制器/驱动器的驱动波形

驱动波形包括COM端口波形、SEG端口波形、COM和SEG之间电压差波形,当各画素对应的COM和SEG的电位差高于一定电压(LCD驱动电压VLCD,也就是阀值电压)时,LCD显示屏的各画素就点灯。如果电位差低于VLCD,各画素就熄灯。

COM端口波形

根据设定的时间片,如表所示的顺序为公共信号的选择时序,并且以其为一个周期进行重复运行。在静态模式的情况下,COM0~COM3输出相同的信号。

“瑞萨MCU内置LCD控制器/驱动器漫谈"

SEG端口波形

SEG信号对应LCD显示数据寄存器,在8个时间片方式的情况下,各显示数据寄存器的bit0~bit7对应COM0~COM7。与公共信号输出的各时序同步,读数据存储器的数据。如果各位的内容为“1”,就在转换为选择电压后输出到段引脚(SEG4~SEG38)。如果各位的内容为“0”,就在转换为非选择电压后输出到段引脚(SEG4~SEG38)。

在不是8个时间片方式的情况下,在A图形区中各显示数据寄存器的bit0~bit3对应COM0~COM3,在B图形区中各显示数据寄存器的bit4~bit7对应COM0~COM3。与公共信号输出的各时序同步,读数据存储器的数据。如果各位的内容为“1”,就在转换为选择电压后输出到段引脚(SEG0~SEG38)。如果各位的内容为“0”,就在转换为非选择电压后输出到段引脚(SEG0~SEG38)。

因此,必须先确认LCD显示数据寄存器使用的LCD显示屏的前面电极(对应SEG信号)和背面电极(对应COM信号)是如何组合形成显示图形的,然后给显示数据寄存器写与显示图形一一对应的位数据。

COM信号和SEG信号的输出波形

公共信号COM和段信号SEG输出的电压如表(a)-(d)所示。只有在公共信号COM和段信号SEG都为选择电压时才为±VLCD的点灯电压(选择),在其他组合时为熄灯电压(非选择)。

静态显示模式时,公共信号COM的输出波形,在LCD时钟属于的1个周期T(选择或非选择),前T/2输出VL4分压电平,后T/2输出Vss电平;段信号SEG的输出波形,在LCD时钟属于选择时的1个周期T,前T/2输出Vss分压电平,后T/2输出VL4电平,属于非选择时的1个周期T,前T/2输出VL4分压电平,后T/2输出Vss电平。

“瑞萨MCU内置LCD控制器/驱动器漫谈"

1/2偏压时,公共信号COM的输出波形,在LCD时钟属于选择时的1个周期T,前T/2输出VL4分压电平,后T/2输出Vss电平,属于非选择时的1个周期T,输出VL2电平;段信号SEG的输出波形,在LCD时钟属于选择时的1个周期T,前T/2输出Vss分压电平,后T/2输出VL4电平,属于非选择时的1个周期T,前T/2输出VL4分压电平,后T/2输出Vss电平。

“瑞萨MCU内置LCD控制器/驱动器漫谈"

1/3偏压时,公共信号COM的输出A波形,在LCD时钟属于选择时的1个周期T,前T/2输出VL4分压电平,后T/2输出Vss电平,属于非选择时的1个周期T,前T/2输出VL1分压电平,后T/2输出VL2电平;段信号SEG的输出A波形,在LCD时钟属于选择时的1个周期T,前T/2输出Vss分压电平,后T/2输出VL4电平,属于非选择时的1个周期T,前T/2输出VL2分压电平,后T/2输出VL1电平。

1/3偏压时,公共信号COM的输出B波形,在LCD时钟属于选择时的1个周期T,前T/2(在前半帧Tf/2)输出VL4分压电平,后T/2(在后半帧Tf/2)输出Vss电平,属于非选择时的1个周期T,前T/2(在前半帧Tf/2)输出VL1分压电平,后T/2(在后半帧Tf/2)输出VL2电平;段信号SEG的输出B波形,在LCD时钟属于选择时的1个周期T,前T/2(在前半帧Tf/2)输出Vss分压电平,后T/2(在后半帧Tf/2)输出VL4电平,属于非选择时的1个周期T,前T/2(在前半帧Tf/2)出VL2分压电平,后T/2(在后半帧Tf/2)输出VL1电平。

“瑞萨MCU内置LCD控制器/驱动器漫谈"

1/4偏压时,公共信号COM的输出A波形,在LCD时钟属于选择时的1个周期T,前T/2输出VL4压电平,后T/2输出Vss电平,属于非选择时的1个周期T,前T/2输出VL1分压电平,后T/2输出VL2电平;段信号SEG的输出A波形,在LCD时钟属于选择时的1个周期T,前T/2输出Vss分压电平,后T/2输出VL4电平,属于非选择时的1个周期T,前T/2输出VL2分压电平,后T/2输出VL2电平。

1/4偏压时,公共信号COM的输出B波形,在LCD时钟属于选择时的1个周期T,前T/2(在前半帧Tf/2)输出VL4分压电平,后T/2(在后半帧Tf/2)输出Vss电平,属于非选择时的1个周期T,前T/2(在前半帧Tf/2)输出VL1分压电平,后T/2(在后半帧Tf/2)输出VL3平;段信号SEG的输出B波形,在LCD时钟属于选择时的1个周期T,前T/2(在前半帧Tf/2)输出Vss分压电平,后T/2(在后半帧Tf/2)输出VL4电平,属于非选择时的1个周期T,前T/2(在前半帧Tf/2)输出VL2分压电平,后T/2(在后半帧Tf/2)输出VL2电平。

“瑞萨MCU内置LCD控制器/驱动器漫谈"

COM信号和SEG信号的输出波形实例

在此例子,以第7位的“瑞萨MCU内置LCD控制器/驱动器漫谈"进行说明。需要根据显示图形并且通过COM0~COM3的各公共信号的时序,将表所示的选择电压和非选择电压输出到SEG12引脚和SEG13引脚。

“瑞萨MCU内置LCD控制器/驱动器漫谈"

因此,给SEG12对应的显示数据寄存器(地址F040CH)准备“1101”即可。SEG12和各公共信号之间的LCD驱动波形例子如下图所示。在选择COM0时SEG12为选择电压,就知道LCD点灯电平+VLCD/–VLCD的交流矩形波的产生。

“SEG12和各公共信号之间的4个时间片的LCD驱动A波形例子(1/3偏压法)"
SEG12和各公共信号之间的4个时间片的LCD驱动A波形例子(1/3偏压法)

“SEG12和各公共信号之间的4个时间片的LCD驱动B波形例子(1/3偏压法)"
SEG12和各公共信号之间的4个时间片的LCD驱动B波形例子(1/3偏压法)

3、LCD控制器/驱动器的驱动电压

LCD驱动电压VL1、VL2、VL3、VL4的提供,分为内部升压、电容分割和外部电阻分割。

内部升压

如R7F0C001G/L、R7F0C002G/L内置用于LCD驱动电源的内部升压电路。通过外接内部升压电路的电容器(0.47μF ±30%),生成LCD驱动电压。内部升压方式只能使用1/3偏压法或者1/4偏压法。

内部升压方式的LCD驱动电压和器件本身不是同一个电源,因此与VDD的变化无关,能提供固定的电压。

能通过设定LCD升压控制寄存器(VLCD)来调整对比度。

“瑞萨MCU内置LCD控制器/驱动器漫谈"

电容分割

如R7F0C001G/L、R7F0C002G/L内置用于驱动电源的电容分割电路。通过外接电容分割电路的电容器(0.47μF ±30%),生成LCD驱动电压。电容分割方式只能使用1/3偏压法。和外部电阻分割方式不同,电容分割方式没有电流流过,因此能减小消费电流。

“瑞萨MCU内置LCD控制器/驱动器漫谈"

外部电阻分割方式

“瑞萨MCU内置LCD控制器/驱动器漫谈"

4、LCD控制器/驱动器时钟控制

“瑞萨MCU内置LCD控制器/驱动器漫谈"

5、LCD控制器/驱动器的数据驱动显示

能从升压电路运行时生成的16种基准电压(调整对比度)中选择。

“瑞萨MCU内置LCD控制器/驱动器漫谈"

6、LCD控制器/驱动器的数据驱动显示

当用于静态、2个时间片、3个时间片或者4个时间片时,如R7F0C001G/L、R7F0C002G/L能通过设定BLON位和LCDSEL位,从以下3种选择LCD显示数据寄存器:

A图形区(LCD显示数据寄存器的低4位)的数据显示

B图形区(LCD显示数据寄存器的高4位)的数据显示

交替显示A图形区和B图形区的数据(实时计数器(RTC)的固定周期中断时序对应的闪烁显示)

注意在使用8个时间片时,不能选择LCD显示数据寄存器(A图形、B图形或者闪烁显示)。

“瑞萨MCU内置LCD控制器/驱动器漫谈"

闪烁显示(A图形区和B图形区的数据的交替显示)R7F0C001G/L,R7F0C002G/L例子。

当BLON位为“1”时,对应实时计数器(RTC)的固定周期中断(INTRTC)时序,进行A图形区和B图形区的数据交替显示。当LCD闪烁显示时,必须给与A图形区的位对应的B图形区的位设定反相值(ex. 将F0400H的bit0置“1”,在闪烁显示时将F0400H的bit4置“0”);当LCD不闪烁显示时,必须设定相同值(ex. 将F0402H的bit2置“1”,在点灯显示时将F0402H的bit6置“1”)。

显示的切换时序如下所示。

“瑞萨MCU内置LCD控制器/驱动器漫谈"

三、瑞萨MCU内置LCD控制器/驱动器的驱动工作模式待机功耗实测

“瑞萨MCU内置LCD控制器/驱动器漫谈"

“瑞萨MCU内置LCD控制器/驱动器漫谈"

四、瑞萨内置LCD控制器/驱动器的MCU系列

可以点击下列链接下载数据手册,了解更详细的规格说明:

R7F0C001G/L、R7F0C002G/L用户手册硬件篇:https://www2.renesas.cn/cn/zh/document/mah/r7f0c001gl-r7f0c002gl-users-manual-hardware

RL78/L12:https://www2.renesas.cn/cn/zh/products/microcontrollers-microprocessors/rl78-low-power-8-16-bit-mcus/rl78l12-compact-lcd-microcontrollers-low-power-consumption-suitable-small-appliances-and-healthcare-devices

RL78/L13:https://www2.renesas.cn/cn/zh/products/microcontrollers-microprocessors/rl78-low-power-8-16-bit-mcus/rl78l13-standard-lcd-microcontrollers-low-power-consumption-suitable-lcd-display-home-appliances-or

https://www2.renesas.cn/cn/zh/products/microcontrollers-microprocessors/rl78-low-power-8-16-bit-mcus/rl78l13-standard-lcd-microcontrollers-low-power-consumption-suitable-lcd-display-home-appliances-or

RL78/L1A:https://www2.renesas.cn/cn/zh/products/microcontrollers-microprocessors/rl78-low-power-8-16-bit-mcus/rl78l1a-ultra-low-power-microcontrollers-embedded-lcd-and-enhanced-analog-peripherals

RL78/L1C:https://www2.renesas.cn/cn/zh/products/microcontrollers-microprocessors/rl78-low-power-8-16-bit-mcus/rl78l1c-high-function-lcd-microcontrollers-usb-20rapid-charging-support-sensor-modules-and-healthcare

RL78/L1C:https://www2.renesas.cn/cn/zh/products/microcontrollers-microprocessors/rl78-low-power-8-16-bit-mcus/rl78l1c-high-function-lcd-microcontrollers-usb-20rapid-charging-support-sensor-modules-and-healthcare

RA4M1:https://www2.renesas.cn/cn/zh/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ra4m1-32-bit-microcontrollers-48mhz-arm-cortex-m4-and-lcd-controller-and-cap-touch-hmi

五、瑞萨内置LCD控制器/驱动器的MCU系列评估板

可以点击下列二维码查看:

RL78/L12-Starter-Kit

P/N:R0K5010RLS000BE#WS

https://www2.renesas.cn/cn/zh/products/microcontrollers-microprocessors/rl78-low-power-8-16-bit-mcus/rl78l12-starter-kit-renesas-starter-kit-rl78l12

RL78/L13-Starter-kit

P/N:R0K5010WMS000BE

https://www2.renesas.cn/cn/zh/products/microcontrollers-microprocessors/rl78-low-power-8-16-bit-mcus/rl78-l13-starter-kit-renesas-starter-kit-rl78l13

YRPBRL78L1A:RL78/L1A Promotion Board

P/N:YRPBRL78L1A

https://www2.renesas.cn/cn/zh/products/microcontrollers-microprocessors/rl78-low-power-8-16-bit-mcus/yrpbrl78l1a-rl78l1a-promotion-board

RL78/L1C-Starter-Kit

P/N:R0K50110PS000BE

https://www2.renesas.cn/cn/zh/products/microcontrollers-microprocessors/rl78-low-power-8-16-bit-mcus/rl78l1c-starter-kit-renesas-starter-kit-rl78l1c

EK-RA4M1:RA4M1 MCU群组评估套件

P/N:RTK7EKA4M1S00001BU

https://www2.renesas.cn/cn/zh/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ek-ra4m1-evaluation-kit-ra4m1-mcu-group

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

围观 336

对于物联网的应用或者产品版本管理等场合,芯片的信息读取是用户非常关心的问题。本文介绍了瑞萨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)。

围观 836

介 绍

栈是MCU内部一块RAM区域,用于存放某些特别的数据,它按照后进先出(LIFO/FILO)的原则,主要是为了程序中函数和中断服务时保护现场、恢复现场。现在MCU的RAM空间越来越大,许多工程师都不用去关注栈的划分,但是如果遇到了大项目,就需要关注堆栈大小设置是否合理,如果有问题就很有可能导致Fault。

近期有工程师使用e2 studio调试瑞萨MCU时,需要查看栈的使用情况,通过软件找了一圈没有发现,感觉是没提供这个功能。其实e2 studio是有的,下面介绍stack栈的调试窗调出。

主要内容:

首先需要调出栈的观察窗口,通过菜单中的窗口>显示视图>其他,会调出显示视图窗口,选择Stack Analysis后会添加stack观察标签页。

“图1
图1 stack栈调出菜单及调出窗体

添加后的stack标签页提示缺少SNI文件及设置无法打开,如下图2所示。这是因为stack需要SNI文件,而之前工程是不需要的所以没有输出,需要设置输出stack文件,并且重新编译整个工程,编译整个工程按钮如图2中红框所示。

“图2
图2 stack添加到标签页后提示

打开stack输出文件选项,选择菜单中的项目>C/C++ Project Settings,如下图3所示,即调出工程设置菜单。

“图3
图3 工程设置选项

在C/C++构建>设置>Linker>Miscellaneous中,如下图4所示,选择启用Outputs a stack use information file这个选项,这样重新编译整个工程就可以使用了。

“图4
图4 stack设置选项

编译后的显示界面如下图5所示,需要注意的是编译要选择构建HardwareDebug即整个工程,不然不会生成SNI文件。

“图5
图5 stack标签页正常显示内容

结 论

通过上面的设置实现了e2 studio stack analysis的使用。

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

围观 529

01、Coremark简介

CoreMark是用来衡量嵌入式系统中使用的中心处理器(CPU,或叫做微控制器MCU)性能的标准,它是在2009由eembc的shay gal-on开发的,旨在成为一个行业标准,取代过时的dehrystone基准。代码用C编写,包含以下算法:列表处理(增删改查和排序)、矩阵操作(公共矩阵操作)、状态机(确定输入流是否包含有效数字)和CRC。用户可以自由的下载CoreMark,并移植到自己的平台上运行,随后就可以看到分数。

02、下载CoreMark代码

可以在CoreMark官网下载官方代码(https://www.eembc.org/coremark/index.php),下载完后的压缩包里面会包含如下文件:

“瑞萨RA系列MCU基于e²

CoreMark的测试代码文件包括: 

  • core_list_join.c

  • core_main.c

  • core_matrix.c

  • core_state.c

  • core_util.c

  • coremark.h

  • simple/core_portme.c

  • simple/core_portme.h

03、在e2 studio里面新建CoreMark测试工程

1)本人是用RA6M4开发板调试,新建一个工程,并选好所使用的的MCU型号,将上面CoreMark需要的文件直接拷贝到src文件夹下面,如下图:

“瑞萨RA系列MCU基于e²

备注:该系统本身也会有一个main函数,该main函数里面会直接调用hal_entry函数,hal_entry.c文件是自动生成的,没办法删除,所以需要将core_main.c里面的内容全部复制到hal_entry.c文件里面,并且将里面的main(void)函数改成void hal_entry(void)。

“瑞萨RA系列MCU基于e²

2)配置UART串口功能,这里不着重介绍串口功能的调试,假设串口打印功能已经调通。

3)打开定时器功能,设定1ms中断一次,用于计算跑完CoreMark里面的算法需要的时间。

04、移植完后代码的具体修改方法

1)在hal_entry.c文件里面添加串口打印的头文件,用来调用串口打印函数。

“瑞萨RA系列MCU基于e²

2)在hal_entry函数里面添加打开串口功能的函数,如下图红色框内:

“瑞萨RA系列MCU基于e²

3)修改portable_init函数,由于许多功能的初始化配置(如:时钟)已经在进入hal_entry函数前已经配置好了(可以参考startup.c文件,系统启动后会先进入这个文件),这里就不需要进行任何初始化配置,另外也无任何传入参数,所以将传入参数删掉,具体修改如下图:

“瑞萨RA系列MCU基于e²

“瑞萨RA系列MCU基于e²

4)修改计时相关代码,本人使用的是定时器功能1ms中断一次,具体修改如下:

“瑞萨RA系列MCU基于e²

“瑞萨RA系列MCU基于e²

增加1ms定时器中断函数,如下图:

“瑞萨RA系列MCU基于e²

5)修改迭代次数,并增加Tick函数的定义

根据系统运行的情况,可以调整ITERATIONS的数值,但要保证程序运行时间至少要大于10s。

“瑞萨RA系列MCU基于e²

6)设置打印信息,根据编译器的版本,自行定义,如下图:

“瑞萨RA系列MCU基于e²

7)如果自己的打印函数和CoreMark代码里面的打印函数名不一致,用自己的串口打印函数替换ee_printf()打印函数

8)e2 studio编译环境默认是不能打印float字符的,点击菜单栏的Project->C/C++ Project Settings,进入该界面进行配置,如下图:

“瑞萨RA系列MCU基于e²

“瑞萨RA系列MCU基于e²

05、运行结果如下图

“瑞萨RA系列MCU基于e²

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

围观 75

RX系列MCU UART空闲中断的软件实现,对于RX系列MCU,为了提高运行效率,减少CPU的占用,UART的数据接收往往和DMA功能一起使用,这样可以无需CPU的介入即可完成UART接收寄存器的数据向指定的接收缓存区的数据传送。此时,只有当预设的DMA传送buffer被填满,即DMA的传送计数器变为0时,才会产生中断。而在有些Use case中,客户需要UART接收不定长度的数据包,如果没有UART空闲检测机制,系统不会自动判断此时UART接收一帧数据已经完成。本文给出给出一个解决思路(只针对不能ELC触发定时器的UART通道。可以ELC触发定时器的UART通道可以通过接收数据后使用ELC触发定时器清零,通过定时器是否超时来判断是否完成一帧数据接收)。

01、设置一个定时器通道,在UART数据接收开始时打开(如果知道什么时候需要接收),或者一直打开(不知道数据什么时候会过来)。定时器周期判断接收DMA通道的传送数据计数器寄存器Transfer Count Register DMCRA。

02、DMCRA 的值在接收到一个字节时候就会减一,接收完一帧数据后这个值就不再变化了。

03、通过定时器周期函数去比较这个值有没有变化,可以判定一帧数据是否接收完成。建议定时器每隔1ms(这个值可以由客户的波特率设置的实际情况来定制)检查一次DMCRA寄存器里的值去判断是否接收完成。

请参考如下程序流程示意图。

“RX系列MCU串口+DMA接收数据完成的空闲判断方法"

下面介绍FIT模块示例配置

UART配置:使能收发by DMAC

“RX系列MCU串口+DMA接收数据完成的空闲判断方法"

DMAC配置:接收和发送配置到SCI9,源地址和目标地址此处随意设置,程序中可以调整。

“RX系列MCU串口+DMA接收数据完成的空闲判断方法"

“RX系列MCU串口+DMA接收数据完成的空闲判断方法"

定时器设置:

“RX系列MCU串口+DMA接收数据完成的空闲判断方法"

以下为实际程序代码,本文中列出关键部分(UART接收完PC发送过来的一帧数据后,回传到PC端)。

重新配置DMAC0接收源地址和目的地址:

“RX系列MCU串口+DMA接收数据完成的空闲判断方法"

定时器间隔中断回调函数:

“RX系列MCU串口+DMA接收数据完成的空闲判断方法"

UART使用DMA发送:

“RX系列MCU串口+DMA接收数据完成的空闲判断方法"

主程序:

“RX系列MCU串口+DMA接收数据完成的空闲判断方法"

实际测试结果(‘发’表示该帧数据是PC发给目标MCU的发送帧,‘收’表示该帧数据是MCU传回来的一帧数据):

“RX系列MCU串口+DMA接收数据完成的空闲判断方法"

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

围观 681

瑞萨RL78/G23微控制器是RL78系列的新一代产品,具有超低功耗(约41uA/MHz)、大flash空间(96K~768K)、32~128Pin,扩展了模拟功能和安全功能,增加了芯片唯一ID,并且兼容之前的RL78开发环境,非常适合应用于家电、物联网、工业控制等领域。

G23系列产品由于Flash空间大,非常适合需要在线升级功能的场合。因为利用flash空间做备份区,在升级失败的时候,退回到上一个版本。比如采用Wifi,蓝牙,5G进行远程升级固件。由于网络传输有延时,比较合适的在线升级办法是先把固件通过网络传输到RL78 G23 MCU的备份区,待CRC检验等确认整个固件完整性后,再烧录到应用区,这样可以防止由于升级失败板子变砖。

本章介绍通过Bluetooth模块进行远程升级固件,利用G23进行固件备份及升级。下面先看系统组成示意图。

“瑞萨RL78/G23微控制器在线升级功能的应用"

上位机通过App执行发Boot swap命令,让G23 MCU进入boot模式,并且将目标板的旧版本程序进行备份,然后通过串口发数据给蓝牙模块,将New FW传输到G23的应用区,RL78 G23接收完FW数据后进行CRC校验,如果没有问题,则将APP的Boot 和升级程序的boot 对调,运行新版本应用程序。如果数据CRC不对,执行重新烧录或者恢复备份区的数据,直到校验正确再转到普通模式运行。

“瑞萨RL78/G23微控制器在线升级功能的应用"

在RL78/G23 的升级程序开发中,比较关键的一点是要理解Boot swap功能。Boot swap功能是瑞萨RL78系列MCU的特有功能,专门用于程序的在线升级,这一点是与其它ARM类MCU不同的地方。Boot swap指升级自身的bootloader,要先将原来的bootloader 从boot cluster 0备份boot cluster 1,设定Boot swap标志,升级成功后再重新覆盖 boot cluster 0.

“瑞萨RL78/G23微控制器在线升级功能的应用"

总 结

利用G23的Flash空间优势, Boot Swap功能及使用IDE自动代码产生器,配合官方的FSL RL78 Type01库,就可以很方便实现在线升级功能。要注意一点是RL78 G23的Data flash 空间读写,要使用另外一个库Data Flash Library。详细的代码,可以点击文末阅读原文在瑞萨官方网站下载。

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

围观 553

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)。

围观 368

瑞萨RA系列MCU采用Arm® Cortex® M33,M23,M4内核,提供强大的运算能力及丰富的外围设备功能,同时具有非常低的功耗,并且通过了PSA等多项业内安全认证。非常适合于锂电池BMS(Battery Management System电池管理系统)领域,特别是出口型锂电池产品中。

下面我介绍RA MCU在8~16串锂电池BMS中的应用案例。

BMS电池管理系统一般包含以下几个部分:电压采样、电流采样、充放电控制、硬件过流保护、SOC算法、对外的通信接口等。本案例中SOC算法和通信接口,由RA2L1(R7FA2L1A93CFL)完成,其余部分由AFE(Analog Front End)模拟前端芯片ISL489206或ISL489204(14串)完成。

“瑞萨RA

考虑到主机端的通信,需要兼容CAN、Uart、I2C、SMBus等多种通信协议,所以MCU部分采用了RA2L1系列带CAN控制器的MCU。另外,电池在实际使用中,因某些原因(比如修复Bug),电池包固件需要在线升级功能,电池在升级固件过程中,为了预防电池包升级失败变成”砖头”,电池包的MCU需要有固件备份功能,所以Flash要选择128K或者256K(成本没压力的建议直接上256K)。

BMS的MCU除了与主机通信外,还需要与AFE芯片通信(I2C)接口,所以需要至少2路I2C通信,另外驱动LED指示灯(电池剩余容量指示),需要5个I/O,开关机按键及一些其它的控制逻辑(模拟量采集)等,综合考虑MCU封装至少选择48Pin或者64Pin,部分移动储能类电池,可能需要带LCD驱动的MCU(工业级温度,是基于安全性考虑)。

AFE部分选择了瑞萨的集成高边N-FET驱动的模拟前端,该系列产品具有高精度电压电流ADC和硬件过流保护及内部均衡功能。RA MCU通过I2C与ISL489206通信,进行电压采样,电流采样及均衡控制,温度和LED指示灯控制。

“瑞萨RA

整个方案的供电部分(主要是给RA MCU供电),有两种选择,一种是通过外挂晶体管,进行降压,好处是成本低,坏处是会有功率损耗发热,本案例采用的是这种办法。另外一种是外挂一颗高输入电压的LDO,比如ISL6719(最大100V输出)、ISL78301(针对10串以内磷酸铁锂)、CAN通信部分,如果需要隔离,可以采用外挂隔离电源解决(可选配URB2405S-6WR3模块)。

SOC算法及配套上位机,需要根据具体应用进行开发,可联系下面的QR链接,进行查询定制,本案例采用了阻抗追踪算法,可用于动力电池大电流/复杂工况的产品中,已经有量产案例,具体请联系了解。

“瑞萨RA

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

围观 224

近日,在Renesas和RT-Thread工程师协作下,完成瑞萨Cortex-M内核RA产品家族MCU的RT-Thread BSP框架和制作教程发布,这意味着使用RA MCU(RA2系列、RA4系列、RA6系列)的开发者可以根据教程快速制作自己的BSP,使用RT-Thread丰富的组件和软件包进行产品应用开发,提高开发效率。

“瑞萨Cortex-M内核RA

RA MCU的RT-Thread BSP结合了瑞萨电子的灵活配置软件包(下文简称FSP)配置工具,FSP的图形化工具界面(RASC,RA智能配置器)可以让使用者可视化地选择所用的芯片,并配置选用任一引脚、外设,能减轻底层开发工作量,节约时间。

“瑞萨Cortex-M内核RA

RA MCU的RT-Thread BSP框架不仅大大提高了代码复用率,降低了BSP的维护成本,而且可以更方便地给开发者提供更丰富的驱动文件,让开发者可以更容易地找到自己需要的资源。其主要特性如下:

  • 使用FSP生成的RA模板工程,降低新BSP的添加难度

  • 通用的驱动文件,开发者可以方便地使用所有驱动

  • 使用FSP配置工具对芯片外设进行图形化配置

每一个BSP主要由两部分组成,分别是通用驱动库、特定开发板BSP,下面的表格是以CPK-RA6M4的BSP为例:

“瑞萨Cortex-M内核RA

RA MCU RT-Thread BSP制作教程请点击链接查看:https://github.com/RT-Thread/rt-thread/tree/master/bsp/renesas

“瑞萨Cortex-M内核RA

下面对RA MCU产品做简要介绍,以便开发者更好地了解RA产品家族MCU,并选择合适的型号使用。

RA产品家族MCU

Renesas Advanced(RA)32位MCU采用Arm® Cortex®-M33、Arm® Cortex®-M23和Arm® Cortex®-M4处理器内核,瑞萨 RA 产品家族单片机包括四个系列——已经发布的RA2系列,适用于低功耗应用;RA4系列,适用于需要低功耗、高性能和高安全性的设备;RA6系列,具有卓越的连接性能和安全性能。瑞萨还计划发布RA8系列。

关于瑞萨电子RA MCU产品线路图可参考如下:

“瑞萨Cortex-M内核RA

已经发布的RA2、RA4和RA6系列特色如下:

RA2系列

低功耗:基于Arm Cortex-M23内核,最高频率48MHz,拥有高达512KB的闪存和64KB的SRAM。电源电压范围为1.6V到5.5V。外设包括全速USB、CAN、24位∑-△模数转换器(ADC)、12位数模转换器(DAC)、电容式触摸感应以及安全功能。

RA4系列

高性能和出色的功耗:基于支持TrustZone的Arm Cortex-M33内核或Arm Cortex-M4F内核构建,最高频率100MHz。高达1MB的闪存和128KB的SRAM。电压范围为1.6V到5.5V。外设包括电容式触摸感应、段码式LCD控制器、全速USB、CAN、安全功能以及数据转换器和定时器。RA4W1系列器件还额外配备了Bluetooth®低功耗(BLE)5.0。

RA6系列

高性能:基于支持TrustZone的Arm Cortex-M33内核或Arm Cortex-M4F内核。最高频率240MHz。高达2MB的闪存和640KB的SRAM。电压范围为2.7V到3.6V。外设包括数据转换器、定时器、外部存储总线、以太网、全速和高速USB、CAN、安全功能、电容式触摸感应和用于TFT显示的图形LCD控制器,以及2D图形加速引擎。RA6Tx系列器件带有用于电机控制的增强型外设,如高分辨率PWM定时器或高级模拟模块。

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

围观 115

页面

订阅 RSS - 瑞萨