Difference between revisions of "BPI-Leaf-S3 开发板"
(→Arduino) |
(→CircuitPython) |
||
Line 490: | Line 490: | ||
在BPI-Leaf-S3 CircuitPython 下载页面右侧点击 DOWNLOAD .UF2 NOW 按钮下载固件到本地,随后拷贝至BPI-Leaf-S3 UF2 Bootloader模式下的磁盘中,自动复位后即可使用。 | 在BPI-Leaf-S3 CircuitPython 下载页面右侧点击 DOWNLOAD .UF2 NOW 按钮下载固件到本地,随后拷贝至BPI-Leaf-S3 UF2 Bootloader模式下的磁盘中,自动复位后即可使用。 | ||
+ | |||
+ | '''已得到adafruit/circuitpython GitHub存储库支持''' | ||
+ | |||
+ | https://github.com/adafruit/circuitpython/pull/6904 | ||
+ | |||
+ | '''已得到adafruit/tinyuf2 GitHub存储库支持''' | ||
+ | |||
+ | https://github.com/adafruit/tinyuf2/pull/196 | ||
== Arduino == | == Arduino == |
Revision as of 23:23, 30 October 2022
Contents
介绍
香蕉派Leaf系列是专为物联网设计的低功耗微控制器开发板。
BPI-Leaf-S3板载ESP32-S3芯片,支持 2.4 GHz Wi-Fi 和低功耗蓝牙 (Bluetooth® LE) 双模无线通信,外围兼容低功耗硬件设计,深度睡眠模式下功耗仅为10uA。
支持USB和外接3.7V锂电池两种供电方式,可实现双电源下自动切换电源功能,并支持USB充电方式。体积小巧,接口方便,上手简单,可直接应用于物联网低功耗项目。
BPI-Leaf-S3开发板在软件方面支持ESP-IDF、Arduino、MicroPython等多种方式进行编程开发 。
BPI-Leaf-S3开发板上标记了与芯片对应的所有IO管脚,且IO管脚顺序与Espressif ESP32-S3-DevKitC-1开发板一致,开发者可根据实际需求,可将DevKitC-1支持的外围设备添加到BPI-Leaf-S3上,也可将开发板插在面包板上使用。
关键特性
- ESP32-S3,Xtensa® 32 bit LX7
- 片外 PSRAM , FLASH
- Ultra-low power 10uA
- 2.4G WIFI ,Bluetooth 5 ,Bluetooth mesh
- GPIO , ADC , TOUCH , PWM , I2C , SPI , RMT , I2S , UART , LCD,CAMERA ,USB , JTAG
- 1* JST SH 1mm 4-Pin I2C连接座
- 1 * USB Type-C
- 1 * 2pin 电池连接座,支持充电
- 1 * 全彩色LED
BPI-Leaf-S3 与 ESP32-S3-DevKitC-1开发板对比
开发板 | BPI-Leaf-S3 | ESP32-S3-DevKitC-1 |
---|---|---|
引出GPIO | 36 | 36 |
3.3v管脚 | 2 | 2 |
5v管脚 | 1 | 1 |
GND管脚 | 4 | 4 |
全彩LED灯 | 1 on GPIO48 | 1 on GPIO48 |
芯片直连USB | Type-C USB接口x1 | MicroUSB接口x1 |
UART TTL转USB | 无 | CP2102-MicroUSB接口x1 |
外接电池连接座 | 3.7v锂电池供电接口 | 无 |
电池充电 | 500mA充电 | 无 |
I²C JST SH 1mm 4-Pin连接座 | 1 | 无 |
BPI-Leaf-S3开发板IO管脚数量,顺序,间距都与Espressif ESP32-S3-DevKitC-1开发板一致。
BPI-Leaf-S3开发板不再具备传统的UART TTL转USB转接芯片及其USB接口,这是因为ESP32-S3芯片的内置USB功能已经足够完善,支持CDC-ACM 虚拟串口及 JTAG 适配器功能,不再需要外部的转接芯片就可以实现软件开发调试,固件下载等功能。
相较于ESP32-S3-DevKitC-1开发板,BPI-Leaf-S3开发板增加了外接电池连接座并搭配了充电电路,可直接通过USB给电池充电,且可实现自动切换供电,即在有接3.7v锂电池的条件下,插拔USB不会导致程序中断,适应更多应用场景。
BPI-Leaf-S3开发板上还增加了一个I²C 4pin连接座,使开发板连接一些I²C设备更加便捷稳固。其实此接口并不局限于连接I²C设备,所有可以通过一根3.3v线,一根GND线,一或两根信号线控制的设备都可以通过此4pin连接座与开发板建立通信。
Espressif ESP32-S3
ESP32-S3 是一款集成 2.4 GHz Wi-Fi 和 Bluetooth 5 (LE) 的 MCU 芯片,支持远距离模式 (Long Range)。ESP32-S3 搭载 Xtensa® 32 位 LX7 双核处理器,主频高达 240 MHz,内置 512 KB SRAM (TCM),具有 45 个可编程 GPIO 管脚和丰富的通信接口。ESP32-S3 支持更大容量的高速 Octal SPI flash 和片外 RAM,支持用户配置数据缓存与指令缓存。
以下是ESP32-S3芯片重要功能的描述。
- 支持Wi-Fi + Bluetooth 5 (LE) 无线连接: ESP32-S3 集成 2.4 GHz Wi-Fi (802.11 b/g/n),支持 40 MHz 带宽;其低功耗蓝牙子系统支持 Bluetooth 5 (LE) 和 Bluetooth Mesh,可通过 Coded PHY 与广播扩展实现远距离通信。它还支持 2 Mbps PHY,用于提高传输速度和数据吞吐量。ESP32-S3 的 Wi-Fi 和 Bluetooth LE 射频性能优越,在高温下也能稳定工作。
- 支持 AI 加速: ESP32-S3 MCU 增加了用于加速神经网络计算和信号处理等工作的向量指令 (vector instructions)。AI 开发者们通过 ESP-DSP 和 ESP-NN 库使用这些向量指令,可以实现高性能的图像识别、语音唤醒和识别等应用。
- 丰富的 IO 接口: ESP32-S3 拥有 45 个可编程 GPIO 以及 SPI、I2S、I2C、PWM、RMT、ADC、UART、SD/MMC 主机控制器和 TWAITM 控制器等常用外设接口。其中的 14 个 GPIO 可被配置为 HMI 交互的电容触摸输入端。此外,ESP32-S3 搭载了超低功耗协处理器 (ULP),支持多种低功耗模式,广泛适用于各类低功耗应用场景。
- 完善的安全机制: ESP32-S3 为物联网设备提供了完善的安全机制和保护措施,防止各类恶意攻击和威胁。它支持基于 AES-XTS 算法的 flash 加密、基于 RSA 算法的安全启动、数字签名和 HMAC。ESP32-S3 还新增了一个“世界控制器 (World Controller)”模块,提供了两个互不干扰的执行环境,实现可信执行环境或权限分离机制。
硬件
硬件接口示意图
硬件规格
BPI-Leaf-S3 规格表 | |
---|---|
SoC主控芯片 | ESP32-S3,Xtensa® 32 位 LX7 双核处理器 |
主频 | 240MHz MAX |
工作温度 | -40℃~+85℃ |
片上 ROM | 384 KB |
片上 SRAM | 320 KB |
板载 FLASH ROM | 4MB |
片上外设PSRAM | 2MB |
WIFI | IEEE 802.11 b/g/n ,2.4Ghz频带,150Mbps |
蓝牙 | Bluetooth 5 ,Bluetooth mesh |
GPIO | BPI-Leaf-S3已引出36个可用GPIO |
ADC | 2 × 12 位 SAR ADC,支持 20 个模拟通道输入 |
TOUCH 电容式触摸传感器 | 14 |
SPI | 4 |
I2C | 2,支持主机或从机模式 |
I2S | 2,串行立体声数据的输入输出 |
LCD | 1,支持 8 位 ~16 位并行 RGB、I8080、MOTO6800 接口 |
CAMERA | 1,支持 8 位 ~16 位 DVP 图像传感器接口 |
UART | 3 ,支持异步通信(RS232 和RS485)和 IrDA |
PWM | 8 路独立通道,14位精度 |
MCPWM | 2 |
USB | 1 × 全速USB 2.0 OTG,Type-C母口 |
USB Serial/JTAG 控制器 | 1,USB 全速标准,CDC-ACM ,JTAG |
温度传感器 | 1,测量范围为–20 °C 到 110 °C,用于监测芯片内部温度 |
SD/MMC | 1 × SDIO主机接口,具有2个卡槽,支持SD卡3.0和3.01,SDIO 3.0,CE-ATA 1.1,MMC 4.41,eMMC 4.5和4.51 |
TWAI® 控制器 | 1 ,兼容 ISO11898-1(CAN 规范 2.0) |
通用 DMA 控制器 | 5 个接收通道和 5 个发送通道 |
RMT | 4 通道发射,4通道接收,共享 384 x 32-bit 的 RAM |
脉冲计数器 | 4个脉冲计数控制器(单元),每个单元有2个独立的通道 |
定时器 | 4 × 54 位通用定时器,16 位时钟预分频器,1 × 52 位系统定时器,3 × 看门狗定时器 |
外部晶振 | 40Mhz |
RTC 和低功耗管理 | 电源管理单元 (PMU)+ 超低功耗协处理器 (ULP) |
低功耗电流 | 10uA |
工作电压 | 3.3V |
输入电压 | 3.3V~5.5V |
最大放电电流 | [email protected] DC/DC |
USB充电 | 支持 |
最大充电电流 | 500mA |
可控全彩色LED | 1 |
硬件尺寸
BPI-Leaf-S3 尺寸表 | |
---|---|
管脚间距 | 2.54mm |
安装孔间距 | 23mm/ 62.25mm |
安装孔尺寸 | 内径2mm/外径3mm |
主板尺寸 | 26 × 65.25(mm)/1.02 x 2.57(inches) |
管脚间距兼容万能板(洞洞板、点阵板),面包板,便于调试应用。
外设GPIO管脚分配
BPI-Leaf-S3 外设GPIO管脚分配 | ||
---|---|---|
外设接口 | 信号 | 管脚 |
ADC | ADC1_CH0~9 | GPIO 1~10 |
ADC2_CH0~9 | GPIO 11~20 | |
触摸传感器 | TOUCH1~14 | GPIO 1~14 |
JTAG | MTCK | GPIO 39 |
MTDO | GPIO 40 | |
MTDI | GPIO 41 | |
MTMS | GPIO 42 | |
UART | 默认分配管脚,可重定义为任意GPIO | |
U0RXD_in | GPIO 44 | |
U0CTS_in | GPIO 16 | |
U0DSR_in | 任意GPIO | |
U0TXD_out | GPIO43 | |
U0RTS_out | GPIO 15 | |
U0DTR_out | 任意GPIO | |
U1RXD_in | GPIO 18 | |
U1CTS_in | GPIO 20 | |
U1DSR_in | 任意GPIO | |
U1TXD_out | GPIO 17 | |
U1RTS_out | GPIO 19 | |
U1DTR_out | 任意GPIO | |
U2 | 任意GPIO | |
I2C | 任意GPIO | |
PWM | 任意GPIO | |
I2S | 任意GPIO | |
LCD | 任意GPIO | |
CAMERA | 任意GPIO | |
RMT | 任意GPIO | |
SPI0/1 | 已用于FLASH与PSRAM | |
SPI2/3 | 任意GPIO | |
脉冲计数器 | 任意GPIO | |
USB OTG | D- | GPIO 19(内部 PHY) |
D+ | GPIO 20(内部 PHY) | |
VP | GPIO 42(外部 PHY) | |
VM | GPIO 41(外部 PHY) | |
RCV | GPIO21(外部 PHY) | |
OEN | GPIO 40(外部 PHY) | |
VPO | GPIO 39(外部 PHY) | |
VMO | GPIO38(外部 PHY) | |
USB Serial/JTAG | D- | GPIO 19(内部 PHY) |
D+ | GPIO 20(内部 PHY) | |
VP | GPIO 42(外部 PHY) | |
VM | GPIO 41(外部 PHY) | |
OEN | GPIO 40(外部 PHY) | |
VPO | GPIO 39(外部 PHY) | |
VMO | GPIO38(外部 PHY) | |
SD/MMC | 任意GPIO | |
MCPWM | 任意GPIO | |
TWAI | 任意GPIO | |
彩色LED | GPIO 48 |
软件
ESP-IDF
ESP-IDF 是乐鑫官方推出的物联网开发框架,支持 Windows、Linux 和 macOS 操作系统。
建议开发者通过集成开发环境 (IDE) 安装 ESP-IDF:
- GitHub: ESP-IDF Eclipse 插件安装与使用指南
- ESP-IDF VSCode 插件 | GitHub: 安装与使用指南 | bilibili:ESP-IDF VSCode 插件快速操作指南
或者根据操作系统选择对应的手动安装流程:
API:
为了使你的BPI-Leaf-S3开发板可以通过USB-CDC刷写FLASH,需要设置开发板为固件下载模式。
有两种操作方法:
1.通过USB连接到电脑,按住BOOT键,再按一下RESET键并松开,最后松开BOOT键。
2.在断开供电的条件下按住BOOT键,再通过USB连接到电脑,最后松开BOOT键。
需要在设备管理器中确认接口,固件下载模式与普通模式下的接口序号可能是不一样的。
MicroPython
MicroPython实现了大部分Python 3 特性和语法,易学易上手,验证程序效果无需编译直接下载进芯片运行。
无论是否有编程基础,MicroPython的上手难度绝对远低于其他编程语言,其代码易读性高,且开源社区有多年积累的丰富资源,就如同Python一样拥有极强的生命力与应用价值。
CircuitPython
CircuitPython是旨在简化在单片机开发板上进行编程实验和学习的一种编程语言。
配合Mu编辑器进行CircuitPython编程是最低难度的上手方法,安装软件,连接设备即可开始使用。
BPI-Leaf-S3 CircuitPython 下载页面
安装tinyUF2固件:
为了使你的BPI-Leaf-S3开发板可以通过USB-CDC刷写FLASH,需要设置开发板为固件下载模式。
通过USB连接到电脑,按住BOOT键,再按一下RESET键并松开,最后松开BOOT键。
在BPI-Leaf-S3 CircuitPython 下载页面底部的 Install, Repair, or Update UF2 Bootloader 栏目中,参考其说明下载安装tinyUF2固件。
安装CircuitPython固件:
在BPI-Leaf-S3 CircuitPython 下载页面右侧点击 DOWNLOAD .UF2 NOW 按钮下载固件到本地,随后拷贝至BPI-Leaf-S3 UF2 Bootloader模式下的磁盘中,自动复位后即可使用。
已得到adafruit/circuitpython GitHub存储库支持
https://github.com/adafruit/circuitpython/pull/6904
已得到adafruit/tinyuf2 GitHub存储库支持
https://github.com/adafruit/tinyuf2/pull/196
Arduino
Arduino 是一个开源嵌入式软硬件开发平台,用来供用户制作可交互式的嵌入式项目。
已得到 arduino-esp32 GitHub 存储库支持
https://github.com/espressif/arduino-esp32/pull/7345
该板已合并到主分支。