RL78/G15 Fast Prototyping Board Arduino IDE 平台开发过程

这是一篇基于RL78/G15 Fast Prototyping Board的Arduino IDE开发记录

RL78/G15 Fast Prototyping Board

硬件简介(背景)

RL78/G15 快速原型开发板配备 RL78/G15 微控制器,是一种专门用于各种应用开发试产的原型开发板。 它只需连接 USB 线即可编写/调试程序,无需任何其他工具即可着手评估。 此外,它还可以使用传统 E2 仿真器和 E2 仿真器 Lite 实现高性能调试(有关方法,请参考用户手册)。 标配 Arduino Uno 和 Pmod™ 接口,具有高度的可扩展性,譬如能够访问微控制器的所有引脚。^1^

可以在RL78/G15快速入门指南下载对应的快速入门指南,这里有硬件相关的一些内容,也是测评前对硬件必须要的基础的了解:

可以看到,RL78/G15 Fast Prototyping Board是沿用基于Arduino的布局风格,甚至于引脚和UNO-R3是完全兼容的,所以,可以替代R3作为基板对以前的模块开发进行快速功能验证。

更多的,硬件上,RL78/G15 Fast Prototyping Board设计了PMOD接口,用户可以根据这个接口设计不同的模块来快速接入,和测试,弥补了UNO-R3方式开发杜邦线接来接去的困恼!可以看到PMOD涵盖了SPI/IIC/UART多种通信协议,几乎可以通用所有的模块设计,除了用户自己按着引脚开发拓展套件外,也期待一下后续RENESAS官方的设计和扩展这个系列的模组板。

基础测试(方法说明/操作说明)

拿到开发板之后,首先还是需要对关键的电源引脚进行简单测试,避免因为SMT生产过程中产生连锡等,造成短路,特别是VCC和GND,推荐使用万用表短路档进行测试:

测试均无SMT不良等现象产生时,可以允许接入个人电脑中。这一个步骤是非常关键的------特别是对于USB-HUB没有隔离硬件的时候,如果出现PWR-GND短路现象,是非常容易产生不可挽回的损失的。

在对硬件进行检查时,更多的或许需要依赖硬件原理图进行,对应的原理图等PCB设计文档下载链接:RL78/G15 Fast Prototyping Board Design and Gerber Files

当然为了方便调试,这里直接提供PNG格式的原理图供快速查看:

开发环境搭建(方法说明/操作说明+代码+结果)

本次选择的开发环境是Arduino IDE 1.8.19,(当然也可以使用RENCESAS官方原生的开发环境,官方开发环境中也可以对RL78/G15进行开发)。

为了避免环境太高导致无法适配GITHUB开源的项目库,推荐使用1.8.19版本,笔者是在Windows Store商店直接下载的,也可以到链接Arduino IDE下载(注意:历史版本需要往下拉,下方会提供以往的版本共给用户下载,其中右上角可以选择对应的系统环境):

完成IDE平台软件的安装后,可以进行RENESAS系列板项目库拉取,其链接:RENESAS系列板项目库,在这个项目库中,可以选择合适的板子进行URL拉取,其中本次测评RL78/G15,因此选择RL78/G15 boards manager URL进行拉取。

Arduino IDE RL78/G15的拉取方法:

(1)文件--首选项--

将上述链接添加到附加开发板管理器网址中

(如果不会获取,可以拷贝此处链接:RL78/G15 boards manager URL

(2)工具--开发板--开发板管理器--关键字"RL"--搜索并安装RL78/G15-20p...


如果发生下列错误,解决方法是手动下载工具存档(可以从包索引文件中提取存档下载URL),然后将其放入开发板管理器的下载缓存中。

比如WINDOW系统,手动下载后,放置在arduino IDE的缓存文件夹下,参考C:\Users<用户名>\AppData\Local\Arduino15\packages,如果更改了,也是在类似的地址,将zip放置在该文件夹中,可以跳过IDE联网下载环节,进入解压安装环节。

如果手动都下不了的朋友,请从这里获取:
Library-rl78g15-fpb-1.2.1.zip
llvm-17.0.1.202406-rl78-elf.zip
win32-tool-rl78g1x-1.1.0.zip

(3)给硬件上电,设备管理器获取串口
(4)工具--端口--选择硬件端口--选择设备管理器中新增的串口COMxx
(5)工具--选择开发板--选择RL78/G15...
(6)文件--示例

打开示例后,会发现,没有示例!

但是这就是兼容UNO的,所以,UNO能用的,RL78/G15全部映射完成了(当用户安装完成(Library-rl78g15-fpb-1.2.1.zip)之后),因此,可以直接使用内置示例进行开发使用即可。

通用示例测试(方法说明/操作说明+代码+结果)

从原理图中,可以知道:

LED1---P20---PIN7

LED2---P21---PIN4

话不多说,直接上代码:

const int LED1Pin = 7;
const int LED2Pin = 4;

void setup() {
  // put your setup code here, to run once:
  pinMode(LED1Pin, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(LED1Pin, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(500);                       // wait for a second
  digitalWrite(LED1Pin, LOW);    // turn the LED off by making the voltage LOW
  delay(500);                       // wait for a second
}

在Arduino IDE中进行验证,上传,注意等待 ,不要cao之过急:

等待烧录进去Write Complete 时,即可观察实验现象:

对应现象:可以看到LED1每隔1000ms进行一次闪烁,这里故意定义了两个LED,但是只使用其中一个,以说明LED的映射是正确的。

拓展代码:

const int LED2Pin = 4;

void setup() {
  // put your setup code here, to run once:
  pinMode(LED1Pin, OUTPUT);
  pinMode(LED2Pin, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(LED1Pin, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(LED2Pin, LOW);
  delay(500);                       // wait for a second
  digitalWrite(LED1Pin, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(LED2Pin, HIGH);
  delay(500);                       // wait for a second
}

对应现象:LED1和LED2进行交替闪烁

测评ADC任务功耗

进行ADC基础实验

接下来开始,编写ADC相关的部分,ADC,模数转换,使用到相关的Analog引脚。直接上代码:

#include <Arduino.h>
const int analogInPin = A0; // A0---P23定义模拟输入引脚
int adcValue = 0; // 存储模拟输入的值
float voltage = 0;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);

}

void loop() {
  // put your main code here, to run repeatedly:
  adcValue = analogRead(analogInPin); // 读取模拟输入的值
  voltage = adcValue * (5.0 / 1023.0); // 将模拟输入的值转换为电压值
   // 打印输出
  Serial.print("sensor = ");
  Serial.print(adcValue);
  Serial.print("\t vol = ");
  Serial.print(voltage);
  Serial.println("V");
  delay(2); // 延迟2毫秒

}

对应的实物,如上图连接。将A0探测脚,连接到板载的3V3引脚上,观察实验输出:

可以看到,在未进行校准时,输出接近3V3。

接下来将测量输入引脚,接到我们开源的一款LDO载板上,观察+1V8的采集:

同样的,将测量输入引脚,接到我们开源的一款LDO载板上,观察+3V3的采集:

显然的,板载的3V3输出比模块板的LDO要稳定得多。

进行功耗测试实验

本实验使用到电流表,这里使用DMM6500作为电流表,接线图如下图所示,将DCI作为电流表,连接到电路系统供电路中,进行功耗测试,单独采集板载3V3时,观察其整板功耗:(使用DMM6500 DCI档位,测低端采样电流)

从采集数据中,可以看到,上电后,单通道ADC任务,整体功耗16mA@5V,包含板载其他器件(LED等)。

取区间80s到100s,放大可以看到,整体的功耗波动也非常平稳。

心得体会

再次感谢瑞萨嵌入式小百科公众号的测评名额,本文中,主要使用了Arduino IDE对RL78/G15进行环境搭建与开发。在开发过程中,实际上比较苦恼语言问题,在github中大多数的讲解说明都是以日本语作为主要语言,并且在官网中,关于Arduino IDE平台的基础示例几乎没有。在深度了解后,惊然发现,Renesas官方在Arduino IDE库中几乎对所支持的Arduino系列的Renesas板子如RL78/G15等,几乎所有适配的引脚都进行了高度映射,几乎完美兼容原生UNO的所有函数和API。

实际上,在官网中,也有关于Arduino API从e2studio到Arduino IDE的移植指南:

最后,比较让我意外的是,RL78/G15即使使用Arduino IDE平台的高度封装的语言,也在ADC寻常模式应用时可以保持如此低的功耗,并且可以将模块LDO的纹波都可以采集到,说明其采样精度和稳定性也非常高。

下一步计划是配置多通道ADC,采集外部多路电压,并且调度MCU进入低功耗模式,搭建系统,相信这RL78/G15 20P一定会给我带来惊喜。

本文就到此完成,喜欢关注我,我会持续更新RL78/G15的使用!

引用


  1. RL78/15G官网首页 ↩︎
相关推荐
上海合宙LuatOS3 小时前
直接抄作业!Air780E模组LuatOS开发:位运算(bit)示例
人工智能·单片机·嵌入式硬件·物联网·硬件工程·iot
David WangYang9 小时前
冷却小型电子设备
硬件工程
陌夏微秋1 天前
硬件基础22 反馈放大电路
单片机·嵌入式硬件·硬件架构·硬件工程·智能硬件
小郭爱学习@1 天前
RLC串联谐振,品质因数的影响
嵌入式硬件·硬件架构·硬件工程
7yewh2 天前
嵌入式硬件杂谈(六)充电器原理 线性电源 开关电源 反激电源原理
单片机·嵌入式硬件·mcu·物联网·硬件架构·硬件工程·pcb工艺
黄小孑-工作室2 天前
基于Multisim的汽车尾灯控制电路设计与仿真
硬件工程
nikoni232 天前
【模电】整流稳压电源
笔记·其他·硬件工程
电子绿洲3 天前
低温存储开关机问题
嵌入式硬件·学习·硬件工程·信息与通信·智能硬件
电子绿洲3 天前
10M和100M网口的编码及EMC影响
嵌入式硬件·学习·硬件工程·信息与通信·智能硬件