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

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

  • RL78/G15 Fast Prototyping Board
    • 硬件简介(背景)
    • 基础测试(方法说明/操作说明)
    • 开发环境搭建(方法说明/操作说明+代码+结果)
      • Arduino IDE RL78/G15的拉取方法:
        • (1)文件--首选项--
        • (2)工具--开发板--开发板管理器--关键字“RL”--搜索并安装RL78/G15-20p…
        • (3)给硬件上电,设备管理器获取串口
        • (4)工具--端口--选择硬件端口--选择设备管理器中新增的串口COMxx
        • (5)工具--选择开发板--选择RL78/G15...
        • (6)文件--示例
    • 通用示例测试(方法说明/操作说明+代码+结果)
    • 测评ADC任务功耗
      • 进行ADC基础实验
      • 进行功耗测试实验
    • 心得体会
    • 引用

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 seconddigitalWrite(LED1Pin, LOW);    // turn the LED off by making the voltage LOWdelay(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 seconddigitalWrite(LED1Pin, LOW);    // turn the LED off by making the voltage LOWdigitalWrite(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官网首页 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/478939.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

visionpro实践项目(一)

1.需求&#xff1a;测量零件的宽度。 2.解决思路&#xff1a;使用模板匹配工具先匹配到零件&#xff0c;使用卡尺工具测量宽度&#xff0c;使用标签工具显示宽度信息。 3.步骤&#xff1a; 导入CogPMAlignTool工具&#xff0c;训练模板&#xff0c;实现模板匹配功能。 导入卡…

Scala习题

姓名&#xff0c;语文&#xff0c;数学&#xff0c;英语 张伟&#xff0c;87&#xff0c;92&#xff0c;88 李娜&#xff0c;90&#xff0c;85&#xff0c;95 王强&#xff0c;78&#xff0c;90&#xff0c;82 赵敏&#xff0c;92&#xff0c;88&#xff0c;91 孙涛&#xff0c…

mvn-mac操作小记

1.安装brew 如果报错&#xff0c;Warning: /opt/homebrew/bin is not in your PATH. vim ~/.zshrc&#xff0c;最后一行追加 export PATH“/opt/homebrew/bin:$PATH” source ~/.zshrc 2.安装brew install maven mvn -version查看路径 Maven home: /opt/homebrew/Cellar/mav…

银河麒麟桌面系统——桌面鼠标变成x,窗口无关闭按钮的解决办法

银河麒麟桌面系统——桌面鼠标变成x&#xff0c;窗口无关闭按钮的解决办法 1、支持环境2、详细操作说明步骤1&#xff1a;用root账户登录电脑步骤2&#xff1a;导航到kylin-wm-chooser目录步骤3&#xff1a;编辑default.conf文件步骤4&#xff1a;重启电脑 3、结语 &#x1f49…

路由器中继与桥接

一 . 背景 现在的路由器大多数已经开始支持多种网络连接模式&#xff0c;以下将以TP-Link迷你无线路由器为例进行展开介绍。在TP-Link迷你无线路由器上一般有AP&#xff08;接入点&#xff09;模式&#xff0c;Router&#xff08;无线路由&#xff09;模式&#xff0c;Repeate…

基于springboot的县市级土地使用监控系统的设计与实现

文末获取本系统&#xff08;程序源码数据库调试部署开发环境&#xff09;文末可获取&#xff0c;系统界面在最后面。 摘 要 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的…

Java【多线程】(1)进程与线程

目录 1.前言 2.正文 2.1什么是进程 2.2PCB&#xff08;进程控制块&#xff09; 2.2.1进程id 2.2.2内存指针 2.2.3文件描述符表 2.2.4进程状态 2.2.4.1就绪状态 2.2.4.2阻塞状态 2.2.5进程优先级 2.2.6进程上下文 2.2.7进程的记账信息 2.3CPU操作进程的方法 2.4什…

.net的winfrom程序 窗体透明打开窗体时出现在屏幕右上角

窗体透明&#xff0c; 将Form的属性Opacity&#xff0c;由默认的100% 调整到 80%&#xff0c;这个数字越小越透明(尽量别低于50%&#xff0c;不信你试试看)&#xff01; 打开窗体时出现在屏幕右上角 //构造函数 public frmCalendarList() {InitializeComponent();//打开窗体&…

金融租赁系统助力企业升级与风险管理的新篇章

内容概要 在当今的商业环境中&#xff0c;“金融租赁系统”可谓是企业成功的秘密武器。简单来说&#xff0c;这个系统就像一位聪明的财务顾问&#xff0c;帮助企业在资金和资源的运用上达到最优化。从设备采购到项目融资&#xff0c;它提供了一种灵活的方式&#xff0c;让企业…

突破内存限制:Mac Mini M2 服务器化实践指南

本篇文章&#xff0c;我们聊聊如何使用 Mac Mini M2 来实现比上篇文章性价比更高的内存服务器使用&#xff0c;分享背后的一些小的思考。 希望对有类似需求的你有帮助。 写在前面 在上文《ThinkPad Redis&#xff1a;构建亿级数据毫秒级查询的平民方案》中&#xff0c;我们…

scala模式匹配

object test47 {def main(args: Array[String]): Unit {val id"445646546548858548648"//取出id前两位val provinceid.substring(0,2) // println(province) // if (province"42"){ // println("湖北") // }else if(province&quo…

第R4周:LSTM-火灾温度预测(TensorFlow版)

>- **&#x1f368; 本文为[&#x1f517;365天深度学习训练营]中的学习记录博客** >- **&#x1f356; 原作者&#xff1a;[K同学啊]** 往期文章可查阅&#xff1a; 深度学习总结 任务说明&#xff1a;数据集中提供了火灾温度&#xff08;Tem1&#xff09;、一氧化碳浓度…

transformer.js(三):底层架构及性能优化指南

Transformer.js 是一个轻量级、功能强大的 JavaScript 库&#xff0c;专注于在浏览器中运行 Transformer 模型&#xff0c;为前端开发者提供了高效实现自然语言处理&#xff08;NLP&#xff09;任务的能力。本文将详细解析 Transformer.js 的底层架构&#xff0c;并提供实用的性…

spf算法、三类LSA、区间防环路机制/规则、虚连接

1.构建spf树&#xff1a; 路由器将自己作为最短路经树的树根根据Router-LSA和Network-LSA中的拓扑信息,依次将Cost值最小的路由器添加到SPF树中。路由器以Router ID或者DR标识。广播网络中DR和其所连接路由器的Cost值为0。SPF树中只有单向的最短路径,保证了OSPF区域内路由计管不…

如何选择黑白相机和彩色相机

我们在选择成像解决方案时黑白相机很容易被忽略&#xff0c;因为许多新相机提供鲜艳的颜色&#xff0c;鲜明的对比度和改进的弱光性能。然而&#xff0c;有许多应用&#xff0c;选择黑白相机将是更好的选择&#xff0c;因为他们产生更清晰的图像&#xff0c;更好的分辨率&#…

【Flink】快速理解 FlinkCDC 2.0 原理

快速理解 FlinkCDC 2.0 原理 要详细理解 Flink CDC 原理可以看看这篇文章&#xff0c;讲得很详细&#xff1a;深入解析 Flink CDC 增量快照读取机制 (https://juejin.cn/post/7325370003192578075)。 FlnkCDC 2.0&#xff1a; Flink 2.x 引入了增量快照读取机制&#xff0c;…

AI智能体崛起:从“工具”到“助手”的进化之路

目录 AI智能体的崛起 AI智能体的定义与决策模型 AI智能体的特点与优势 AI智能体的应用与类型 面临的挑战 未来展望 近年来&#xff0c;人工智能领域的焦点正从传统的聊天机器人&#xff08;Chat Bot&#xff09;快速转向更具潜力的AI智能体&#xff08;AI Agent&#xff…

RAG架构类型

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

jmeter基础06_(练习)常见的http请求

课程大纲 上节课已经尝试进行了get请求&#xff0c;获取网站http://httpbin.org/的首页。 本节课使用网站“httpbin.org”演示几种基础的http请求。post、put、delete方法使用方法相同&#xff0c;所以仅以post为例来演示。 本节课所有请求仅填写&#xff1a;请求行、请求体。j…

SycoTec 4060 ER-S德国高精密主轴电机如何支持模具的自动化加工?

SycoTec 4060 ER-S高速电主轴在模具自动化加工中的支持体现在以下几个关键方面&#xff1a; 1.高精度与稳定性&#xff1a;SycoTec 4060 ER-S锥面跳动小于1微米&#xff0c;确保了加工过程中的极高精度&#xff0c;这对于模具的复杂几何形状和严格公差要求至关重要。高精度加工…