Difference between revisions of "BPI-PicoW-S3 开发板"

From Banana Pi Wiki
Jump to: navigation, search
(软件)
(硬件规格)
 
(23 intermediate revisions by 2 users not shown)
Line 16: Line 16:
  
 
* ESP32-S3,Xtensa® 32 bit LX7
 
* ESP32-S3,Xtensa® 32 bit LX7
* 片外 PSRAM , FLASH
+
* 片内封装PSRAM 2MB, 片外FLASH 8MB
 
* Ultra-low power 10uA
 
* Ultra-low power 10uA
 
* 2.4G WIFI ,Bluetooth 5 ,Bluetooth mesh
 
* 2.4G WIFI ,Bluetooth 5 ,Bluetooth mesh
Line 23: Line 23:
 
* 1 * 全彩色LED
 
* 1 * 全彩色LED
  
== BPI-PicoW-S3 与 Rraspberry Pi PicoW、BPI-Leaf-S3、ESP32-S3-DevKitC-1 开发板对比 ==
+
== BPI-PicoW-S3 与 Raspberry Pi PicoW、BPI-Leaf-S3、ESP32-S3-DevKitC-1 开发板对比 ==
  
 
{| class="wikitable"  
 
{| class="wikitable"  
Line 29: Line 29:
 
! 开发板
 
! 开发板
 
! BPI-PicoW-S3
 
! BPI-PicoW-S3
! Rraspberry Pi PicoW
+
! Raspberry Pi PicoW
 
! BPI-Leaf-S3
 
! BPI-Leaf-S3
 
! ESP32-S3-DevKitC-1
 
! ESP32-S3-DevKitC-1
Line 133: Line 133:
 
|-
 
|-
 
| 片上 SRAM
 
| 片上 SRAM
| 320 KB
+
| 512 KB
 
|-
 
|-
| 板载 FLASH ROM
+
| 外置 FLASH
 +
| 8MB
 +
|-
 +
| 片内封装 PSRAM
 
| 2MB
 
| 2MB
|-
 
| 片上外设PSRAM
 
| 8MB
 
 
|-
 
|-
 
| WIFI
 
| WIFI
Line 226: Line 226:
 
|-
 
|-
 
| 可控全彩色LED
 
| 可控全彩色LED
 +
| 1
 +
|-
 +
| 可控单色LED
 
| 1
 
| 1
 
|}
 
|}
Line 412: Line 415:
 
| colspan="2" | 任意GPIO
 
| colspan="2" | 任意GPIO
 
|-
 
|-
| 彩色LED
+
| 全彩色LED
 
| colspan="2" | GPIO 48
 
| colspan="2" | GPIO 48
 +
|-
 +
| 单色LED
 +
| colspan="2" | GPIO 46
 
|}
 
|}
  
Line 421: Line 427:
  
 
[[File:CircuitPython_Repo_header_logo.jpg | 800px]]
 
[[File:CircuitPython_Repo_header_logo.jpg | 800px]]
 +
 +
CircuitPython是MicroPython的一个教育友好型的开源衍生产品,由Adafruit Industries支持与开发。
 +
 +
在易用性上,它在MicroPython的基础上更进一步。
 +
 +
使用CircuitPython固件的开发板连接PC时,PC将会立即得到一个USB存储磁盘,将python脚本文件复制进此磁盘即可让程序在此开发板上运行。
 +
 +
这就做到了让用户开箱即用,因为绝大多数现代个人操作系统和家用PC都是支持USB存储磁盘的。
 +
 +
当然为了能使用REPL,至少还是需要安装一个串口通信软件,或是支持这个功能的文本编辑器,例如Mu编辑器。
 +
 +
CircuitPython 社区提供极其丰富的外设驱动库,API文档,教程。即使没有编程基础,没有硬件基础,从零开始也可快速上手。
 +
 +
CircuitPython不支持定时器,硬件中断等一些特定用于微控制器的库,也不支持多线程的_thread 库,仅提供编写并发代码的 asyncio 库。
 +
 +
在CircuitPython所支持的微控制器和其Blinka所支持的单板计算机(SBCs)中,代码具有很好的可移植性,这得益于它在统一API上的努力。
  
 
* [https://codewith.mu/ Mu编辑器官方下载页面]
 
* [https://codewith.mu/ Mu编辑器官方下载页面]
  
* [[ 在Mu编辑器中进行CircuitPython编程 | 快速上手: 在Mu编辑器中进行CircuitPython编程 ]]
+
* [[ code_circuitpython_with_mu_ch | 快速上手: 在Mu编辑器中进行CircuitPython编程 ]]
 +
 
 +
'''已得到adafruit/circuitpython GitHub存储库支持'''
 +
 
 +
https://github.com/adafruit/circuitpython/pull/7031
 +
 
 +
'''已得到adafruit/tinyuf2 GitHub存储库支持'''
 +
 
 +
https://github.com/adafruit/tinyuf2/pull/250
 +
 
 +
'''参考资源''':
 +
 
 +
* [https://learn.adafruit.com/welcome-to-circuitpython Adafruit:CircuitPython入门教程]
 +
 
 +
* [https://learn.adafruit.com/getting-started-with-web-workflow-using-the-code-editor/overview Adafruit:上手CircuitPython网页代码编辑器]
 +
 
 +
* [https://circuitpython.readthedocs.io/ Adafruit:CircuitPython文档]
 +
 
 +
* [https://github.com/todbot/circuitpython-tricks GitHub:CircuitPython技巧与例程]
  
 
== ESP-IDF ==
 
== ESP-IDF ==
Line 461: Line 501:
 
[[File:Mircopython.png | 800px]]
 
[[File:Mircopython.png | 800px]]
  
MicroPython实现了大部分Python 3 特性和语法,易学易上手,验证程序效果无需编译直接下载进芯片运行。
+
MicroPython是Python 3编程语言的精益高效实现,包括 Python 标准库的一小部分,并且经过优化,可在微控制器和有限的硬件资源中运行。
 +
 
 +
由 Damien P. George 于 2013年 众筹开源。
 +
 
 +
它与使用C程序开发微控制器最明显的差异性,就是验证代码时无需漫长的编译。
  
无论是否有编程基础,MicroPython的上手难度绝对远低于其他编程语言,其代码易读性高,且开源社区有多年积累的丰富资源,就如同Python一样拥有极强的生命力与应用价值。
+
使用串口通信软件,通过REPL(read-eval-print-loop)输入命令来控制微控制器,和Python的REPL一样。
 +
 
 +
也可使用一些工具将 python 脚本文件上传到微控制器内运行。
 +
 
 +
它对Python 3 的实现,包括了支持多线程的 _thread 库,编写并发代码的 asyncio 库。
 +
 
 +
它尽可能与普通Python兼容,允许您轻松地将代码从桌面端移植到微控制器。
 +
 
 +
同时它还具备一些特定用于微控制器的库,以便充分利用微控制器芯片内的硬件功能,例如定时器,硬件中断,WiFi等,这取决于具体的硬件。
 +
 
 +
在具备上述特性的同时,它的硬件开销很少,最低只需 256k 的代码空间和 16k 的 RAM 即可运行。
 +
 
 +
如果你了解Python,很大程度上你就已经了解MicroPython了。
 +
 
 +
在另一方面,你深入地学习MicroPython,也能提升你对Python的理解。
  
 
* '''[https://github.com/BPI-STEAM/BPI-Leaf-S3-Doc/tree/main/Example/MicroPython-zh#1%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B GitHub: MicroPython快速上手]'''
 
* '''[https://github.com/BPI-STEAM/BPI-Leaf-S3-Doc/tree/main/Example/MicroPython-zh#1%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B GitHub: MicroPython快速上手]'''
Line 476: Line 534:
  
 
Arduino 是一个开源嵌入式软硬件开发平台,用来供用户制作可交互式的嵌入式项目。
 
Arduino 是一个开源嵌入式软硬件开发平台,用来供用户制作可交互式的嵌入式项目。
 +
 +
Arduino 集成开发环境(IDE)是此平台的软件核心,使用C/C++编程语言开发项目。
 +
 +
Arduino 最大的特性就是提供统一的API来开发所有它所支持的微控制器,具有非常良好的代码可移植性和可复用性。
 +
 +
此外它简化了搭建开发环境的过程,所有它所支持的微控制器的开发环境都可一键安装配置。
 +
 +
它还提供简单的一键式机制来编译和上传程序到微控制器中运行。
 +
 +
Arduino IDE中还集成了很多例程,辅有大量的注释,能帮助用户快速上手。
 +
 +
Arduino 社区中积累的大量的优秀开源项目可供参考与学习,还有相当多的芯片制造商提供的驱动库与API。
  
 
* [https://www.arduino.cc/en/software Arduino IDE 下载地址] | [https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html#installing 安装并配置Arduino-ESP32运行环境]
 
* [https://www.arduino.cc/en/software Arduino IDE 下载地址] | [https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html#installing 安装并配置Arduino-ESP32运行环境]
Line 486: Line 556:
 
=样品购买=
 
=样品购买=
  
* 比派科技官方速卖通店:https://www.aliexpress.com/item/1005004775634442.html?spm=5261.ProductManageOnline.0.0.15744edfAyCaNk
+
* 比派科技官方速卖通店:https://www.aliexpress.com/item/1005004775634442.html
* SinoVoip 官方速卖通店 : https://pt.aliexpress.com/item/1005004775859077.html?spm=5261.ProductManageOnline.0.0.785f4edfxIkaFg&gatewayAdapt=glo2bra
+
* SinoVoip 官方速卖通店 : https://www.aliexpress.com/item/1005004775859077.html
 
* 官方淘宝店: https://item.taobao.com/item.htm?spm=a2126o.success.0.0.25b04831CHV1Nc&id=684134360199
 
* 官方淘宝店: https://item.taobao.com/item.htm?spm=a2126o.success.0.0.25b04831CHV1Nc&id=684134360199
 
* OEM&OEM 定制服务: [email protected]
 
* OEM&OEM 定制服务: [email protected]

Latest revision as of 02:00, 3 April 2023


介绍

BPI-PicoW-S3 banner.png

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

Banana Pi BPI-PicoW-S3 是一系列低功耗微控制器,专为物联网开发和Maker DIY设计的开发板。与 Raspberry Pi Pico 板尺寸相同,支持 2.4 GHz Wi-Fi 和 Bluetooth® LE 双模无线通信, 外设兼容低功耗硬件设计,深度睡眠模式下功耗仅为10uA。编程方面,PicoW-S3支持ESP-IDF、Arduino、micropython、CircuitPython 等多种方式

关键特性

  • ESP32-S3,Xtensa® 32 bit LX7
  • 片内封装PSRAM 2MB, 片外FLASH 8MB
  • 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 * microUSB
  • 1 * 全彩色LED

BPI-PicoW-S3 与 Raspberry Pi PicoW、BPI-Leaf-S3、ESP32-S3-DevKitC-1 开发板对比

开发板 BPI-PicoW-S3 Raspberry Pi PicoW BPI-Leaf-S3 ESP32-S3-DevKitC-1
引出GPIO 27 27 36 36
3.3v管脚 1 1 2 2
5v管脚 2 2 1 1
GND管脚 8 8 4 4
全彩LED灯 1 on GPIO48 1 on GPIO48 1 on GPIO48
芯片直连USB MicroUSB接口x1 MicroUSB接口x1 Type-C USB接口x1 MicroUSB接口x1
UART TTL转USB CP2102-MicroUSB接口x1
外接电池连接座 3.7v锂电池供电接口
电池充电 500mA充电
I²C 4pin连接座 1

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-PicoW-S3-V0.4-IO.png

硬件规格

BPI-PicoW-S3 规格表
SoC主控芯片 ESP32-S3,Xtensa® 32 位 LX7 双核处理器
主频 240MHz MAX
工作温度 -40℃~+85℃
片上 ROM 384 KB
片上 SRAM 512 KB
外置 FLASH 8MB
片内封装 PSRAM 2MB
WIFI IEEE 802.11 b/g/n ,2.4Ghz频带,150Mbps
蓝牙 Bluetooth 5 ,Bluetooth mesh
GPIO BPI-PicoW-S3已引出27个可用GPIO
ADC 2 × 12 位 SAR ADC,支持 18 个模拟通道输入
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,MicroUSB母口
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
可控全彩色LED 1
可控单色LED 1

硬件尺寸

BPI-Pico-S3-board-dimension.png

BPI-PicoW-S3 尺寸表
管脚间距 2.54mm
安装孔间距 11.4mm/ 47mm
安装孔尺寸 内径2.1mm/外径3.4mm
主板尺寸 21 × 51.88(mm)/0.83 x 2.04(inches)

管脚间距兼容万能板(洞洞板、点阵板),面包板,便于调试应用。

外设GPIO管脚分配

BPI-PicoW-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
单色LED GPIO 46

软件

CircuitPython

CircuitPython Repo header logo.jpg

CircuitPython是MicroPython的一个教育友好型的开源衍生产品,由Adafruit Industries支持与开发。

在易用性上,它在MicroPython的基础上更进一步。

使用CircuitPython固件的开发板连接PC时,PC将会立即得到一个USB存储磁盘,将python脚本文件复制进此磁盘即可让程序在此开发板上运行。

这就做到了让用户开箱即用,因为绝大多数现代个人操作系统和家用PC都是支持USB存储磁盘的。

当然为了能使用REPL,至少还是需要安装一个串口通信软件,或是支持这个功能的文本编辑器,例如Mu编辑器。

CircuitPython 社区提供极其丰富的外设驱动库,API文档,教程。即使没有编程基础,没有硬件基础,从零开始也可快速上手。

CircuitPython不支持定时器,硬件中断等一些特定用于微控制器的库,也不支持多线程的_thread 库,仅提供编写并发代码的 asyncio 库。

在CircuitPython所支持的微控制器和其Blinka所支持的单板计算机(SBCs)中,代码具有很好的可移植性,这得益于它在统一API上的努力。

已得到adafruit/circuitpython GitHub存储库支持

https://github.com/adafruit/circuitpython/pull/7031

已得到adafruit/tinyuf2 GitHub存储库支持

https://github.com/adafruit/tinyuf2/pull/250

参考资源:

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编程语言的精益高效实现,包括 Python 标准库的一小部分,并且经过优化,可在微控制器和有限的硬件资源中运行。

由 Damien P. George 于 2013年 众筹开源。

它与使用C程序开发微控制器最明显的差异性,就是验证代码时无需漫长的编译。

使用串口通信软件,通过REPL(read-eval-print-loop)输入命令来控制微控制器,和Python的REPL一样。

也可使用一些工具将 python 脚本文件上传到微控制器内运行。

它对Python 3 的实现,包括了支持多线程的 _thread 库,编写并发代码的 asyncio 库。

它尽可能与普通Python兼容,允许您轻松地将代码从桌面端移植到微控制器。

同时它还具备一些特定用于微控制器的库,以便充分利用微控制器芯片内的硬件功能,例如定时器,硬件中断,WiFi等,这取决于具体的硬件。

在具备上述特性的同时,它的硬件开销很少,最低只需 256k 的代码空间和 16k 的 RAM 即可运行。

如果你了解Python,很大程度上你就已经了解MicroPython了。

在另一方面,你深入地学习MicroPython,也能提升你对Python的理解。

Arduino

Arduino logo 1200x350.png

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

Arduino 集成开发环境(IDE)是此平台的软件核心,使用C/C++编程语言开发项目。

Arduino 最大的特性就是提供统一的API来开发所有它所支持的微控制器,具有非常良好的代码可移植性和可复用性。

此外它简化了搭建开发环境的过程,所有它所支持的微控制器的开发环境都可一键安装配置。

它还提供简单的一键式机制来编译和上传程序到微控制器中运行。

Arduino IDE中还集成了很多例程,辅有大量的注释,能帮助用户快速上手。

Arduino 社区中积累的大量的优秀开源项目可供参考与学习,还有相当多的芯片制造商提供的驱动库与API。

资料与资源

样品购买