BPI-Leaf-S3 开发板

From Banana Pi Wiki
Jump to: navigation, search


介绍

BPI-Leaf-S3 banner.jpg

BPI-Leaf-S3 with ESP32-S3
BPI-Leaf-S3 with ESP32-S3
BPI-Bit with ESP32
BPI-AI Kendryte K210 RISC-V
BPI-UNO32 with ESP32 design

香蕉派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)”模块,提供了两个互不干扰的执行环境,实现可信执行环境或权限分离机制。

硬件

硬件接口示意图

Leaf-S3 board.png

硬件规格

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

硬件尺寸

Leaf-S3 board dimension.png

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-logo.png

ESP-IDF 是乐鑫官方推出的物联网开发框架,支持 Windows、Linux 和 macOS 操作系统。

建议开发者通过集成开发环境 (IDE) 安装 ESP-IDF:

或者根据操作系统选择对应的手动安装流程:

API:

为了使你的BPI-Leaf-S3开发板可以通过USB-CDC刷写FLASH,需要设置开发板为固件下载模式。

有两种操作方法:

1.通过USB连接到电脑,按住BOOT键,再按一下RESET键并松开,最后松开BOOT键。

2.在断开供电的条件下按住BOOT键,再通过USB连接到电脑,最后松开BOOT键。

需要在设备管理器中确认接口,固件下载模式与普通模式下的接口序号可能是不一样的。

MicroPython

Mircopython.png

MicroPython实现了大部分Python 3 特性和语法,易学易上手,验证程序效果无需编译直接下载进芯片运行。

无论是否有编程基础,MicroPython的上手难度绝对远低于其他编程语言,其代码易读性高,且开源社区有多年积累的丰富资源,就如同Python一样拥有极强的生命力与应用价值。

CircuitPython

CircuitPython Repo header logo.jpg

CircuitPython是旨在简化在单片机开发板上进行编程实验和学习的一种编程语言。

配合Mu编辑器进行CircuitPython编程是最低难度的上手方法,安装软件,连接设备即可开始使用。

BPI-Leaf-S3 CircuitPython 下载页面

Mu编辑器 下载页面

安装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 logo 1200x350.png

Arduino 是一个开源嵌入式软硬件开发平台,用来供用户制作可交互式的嵌入式项目。

已得到 arduino-esp32 GitHub 存储库支持

https://github.com/espressif/arduino-esp32/pull/7345

该板已合并到主分支。

资料与资源

样品购买