基础硬件
- 长度51mm,宽度21mm,板厚1mm
- pcb使用了沉金工艺,所以引脚都做了半孔设计,即可焊接2.54mm的排针,也可以直接焊在主板上
- 两个2.54mm的间距20Pin排针孔位,横向间距为17.78mm
- 板载按钮详解
启动选择按钮
按键未按下时,MCU复位或者上电 ,则从Flash启动
如果按键按下,MCU复位或者上点,则进入UF2下载模式
要求低成本,高性能,不需要严格时序要求,可使用RC振荡或GPIO输入
- 命名规则
RP2040
RP 代表 Raspberry Pi
2 代表核心数
0 代表核心架构 ARM Cortex-M0系列 ARM Cortex-M0 + ARM系列最省电的核心之一
4 代表 RAM:264KB
0 代表 内部没有非易失性存储器
- 开发环境
Micropyhthon c/c++
原理图讲解
- 电路图
Micro USB 接口会通过USB线连接到PC或者树莓派的USB接口上
- 从左到右
VBUS正常情况下是一个5V 500mA 的电源输入
经过D1肖特基二极管,会有个0.1~0.2v的压降
也就是说VSYS的电压在4.8v左右
VSYS会经过一个C1陶瓷电容器
输入到RT6150B-33 这是一个DC-DC升降压装换芯片,输入范围为1.8v~5.5v,输出为3.3v
其中3.3v_en这个脚是使能脚
正常情况下通过R2弱上拉到VSYS
此时DCDC芯片工作
但是我们可以通过3.3v_en 这个脚位进行一个下拉,使其关断3.3v电源
另外PS脚位默认是接地的,通过R8弱下拉到地
此时DC-DC芯片工作在PFM这个模式这个转换效率比较高
也可以通过GPIO23脚进行一个上拉
使其工作在PWM模式下,该模式下会导致效率变低但是它的纹波会变小
官方位我们提供了3种供电方式
- 图一直接使用Microusb供电
- 图二通过VBUS引脚进行一个供电,输入的是5v
- 图三使用YSYS引脚进行供电,输入电压可以由1.8v~5.5v输入
第二电源的使用方法
第二电源经过一个肖特基二极管VSYS
但是有一个·缺点
第二电源跟VBUS一样经过肖特基二极管,损失一部分的能源,从而降低整体电源的效率
加上二极管主要是为了防止两个电源的电压不一致,导致电流倒灌入某一个电压较低电源中
导致元器件损坏
提供的第二种电路
当VBUS被移除的时候,它会构成一个理想二极管电路,它的阻值会变得非常小
官方给出它使用的PMOS管最大压降是0.9V
阻值大约为0.1R
第三种方案,使用电池供电
和第二种是没有什么差别的
注意电池上最好加上电池保护芯片或者保护板,否则不排除BOOM的可能性
电路图重点讲解
- 芯片出来的USB脚必须要串联两个27欧的电阻连接到外部,不能直接连接
- ADC的基准电压默认是用板子上的3.3v进行一个提供
- 但是我们也可以通过外接3v的基准电源进行一个调试,官方建议我们不要低于3.0v
- 内部核心供电稳压管的输入端,为了稳定电压,我们需要适当加大它的电容量
- 然后我们这里使用的是2.2uF的滤波电容
- IOVDD 这是一个GPIO的供电
- 我们外围都使用了100nF电容进行一个滤波
- DVDD 内部核心的供电
- 使用1.1v供电
- 也可以使用外部电源进行供电
- USB_VDD USB全速接口的供电,使用3.3v供电
- BOOTSEL按钮和Flash
- BOOTSEL按钮是一个非复位按钮,而是启动选择按钮
- 按钮未按下时 ,MCU复位或者上电,则会从Flash启动
- 按钮按下时,MCU复位或者上电,则会进入UF2下载模式
- 使用的Flash是华邦电子的W25Q16
- 时钟电路
- 要注意R14用于限流,防止过流导致晶振寿命减少或者损坏
-
ADC采样电路
-
R5,R6分压得到1/3 的VSYS
-
通过一个N- Mos管,作用。当VSYS有电压3.3V被切断,防止VYSY电流泄漏到3.3V的网络中
- LED电路
- R3就是起到一个限流电阻的作用
- DEBUG引脚引出
- 40Pin引脚引出
点灯实操
from machine import Pin
import time
led = Pin(25, Pin.OUT)
while True:
led.toggle()
time.sleep(1)