收藏官网,优惠快人一步
您可以尝试通过快捷键 CTRL + D 加入收藏夹
本文作者:立创开源硬件平台 OSHWHub 用户@嘉立创EDA课程案例推荐,禁止商用,未经许可禁止转载,点击查看原文章
我花15元做了一块树莓派Pico最小系统核心板,基于RP2040。
本项目的电路代码全部开源,且能用Python、C/C++开发,新手可快速入门。本文含硬件说明、电路原理、BOM表、PCB设计+焊接技巧、编程开发、常见问题解答、核心板优势。
1、硬件说明
树莓派核心板由下方7个部分组成,看拆解图,更直观!
1.主控芯片:RP2040,QFN-56贴片封装
2.存储芯片:SPI Flash
3 .电源接口:TYPE C
2、电路原理
这章会讲解这9个电路模块:电源电路、RP2040主控电路、ADC采样电路、Flash闪存电路、按键电路、晶振电路、LED指示电路、引脚电路、调试接口。
整体原理图赏析
RP2040内部有3.3V转1.1V的LDO,不需要担心1.1V的电源问题。
电源采用TYPE-C接口输入VBUS(5V),VBUS和VSYS。通过二极管连接,再通过外部的LDO,(ME6211)输出固定的3.3V。
在LDO的输入/出端加2.2uF和100nF电容滤波。因为RP2040具有USB数据传输功能,所以DP/DN与RP2040相连接。
02、RP2040主控电路
这里将RP2040的引脚全部引出。
USB_DP和USB_DM引脚必须分别串联上27Ω电阻再与TYPE C连接,不能直接连接。
在RP2040的内部LDO(3.3V→1.1V)的输入(VREG_IN)和输出(VREG_OUT)引脚附近,放置2.2uF的去耦电容,以便提供稳定的1.1V电源。
在RP2040需供电的引脚加上100nF的去耦电容。滤除电源噪声,提供稳定的电源供应。
在绘制PCB时,去耦电容应尽可能挨近芯片引脚放置,注意电源流向进行走线绘制。
TESTEN工厂测试模式引脚,和GND绑定相连接。
RP2040具有ADC功能的GPIO26-29引脚,在IOVDD(3V3)端之间,分别接有内部反向二极管,分辨率为12位。
ADC的基准电压默认为3.3V,C7起滤波作用,R5和R6分压得到1/3的VSYS,与Q1(DMG1012T-7)相连接,可通过GPIO29_ADC3进行电压监视。
W25Q128JVSIQ的引脚与RP2040的QSPIx引脚相连接。
Flash闪存要求RP2040芯片选择输入电压与自己的3.3V电源引脚处于同一电压,否则,它不能正常工作。
所以在W25Q128JVSIQ电源引脚(VCC)附近放置2.2uF和100nF的滤波电容,以便提供稳定的3.3V供W25Q128JVSIQ所使用。
在绘制PCB时,应尽可能缩短连接距离,减少外围电路的串扰,保证信号的完整性。
复位按键与RP2040的RUN引脚相连接,外接上拉电阻使RUN默认稳定为高电平,按下RESET按键,RUN被拉低,板子复位重启。
在按键两端接个100nF电容,可以加快复位响应时间。
启动模式切换按键与RP2040的QSPI_SS引脚串联一个1kΩ相连接,串联电阻防止在BootLoader模式时,按下复位时,还是从BootLoader模式启动,而不是运行Flash的内容。
当RP2040上电时,QSPI_SS引脚将自动默认为上拉,RP2040在启动过程中会检查这个I/O的值,QSPI_SS为逻辑0,RP2040进入引导加载驱动BootLoader模式。
2、按下BOOTSEL按键时,复位或上电,将显示为一个RPI-RP2磁盘,进入BootLoader模式,拖放UF2固件进行编程开发
开机时,有短暂一段时间不能保证QSPI_SS引脚的状态,增加一个上拉电阻就可得到保证。
W25Q128JVSIQ这款Flash闪存外部上拉电阻是不必要的,所以标记为NO-FIT,焊接时可忽略不焊。
晶振选用SMD3225-4P封装12MHz的晶振。
在不需要严格时序要求时,可以使用内部振荡器输入。
晶振两旁的15pF电容作用是保证振荡频率更加稳定。
在XOUT中串联1kΩ的电阻用于限流,可以防止晶振过驱导致寿命减少或损坏。选用其他不同的晶振,可能需要调整这些值。
电源指示灯(红),上电时亮起,证明最小系统供电部分正常工作;
状态显示灯(蓝),用于给RP2040的GPIO25引脚测试,通过程序实现亮灭。
08、引脚电路
引脚使用2个1×20Pin的2.54mm排针孔方式引出,方便扩展项目连接,兼容市面主流的树莓派Pico板。
USB串口调试接口(USB1),是树莓派Pico进行重新编程/烧写程序的最简洁方法,通常使用此方式调试。
SWD下载调试接口(H1),电容为滤波作用,使下载烧录性能更加稳定。
4、PCB设计+焊接技巧
本章节主要讲解——布局、布线、丝印铺铜、焊接的技巧。
01、布局技巧
TYPE-C靠左侧板边居中摆放。
排针间距为17.87mm,放置在板边两侧。
电源线宽设置为15mil,信号线宽设置为8mil。
以顶层走线为主,走不通的线可以放置过孔切换到底层进行连接。
走线过程中优先走直线,需要拐弯的地方以135°钝角或圆弧为主,横平竖直,保持设计美规。
晶振走线尽量短,底部不要走线,减少噪声干扰。
在布线过程中适当放置GND扇孔占位,避免覆铜后GND不完整。
03、丝印覆铜技巧
标记注明板子信息(RP2040最小系统)。
添加丝印标记按键,外接引脚和调试接口功能。
在绘制调整完PCB后加上泪滴效果,使板子更加美观稳固。
04、焊接步骤
首先焊接RP2040芯片(U1),焊接时需先将在QFN封装上锡,或者使用锡膏上加热台/热风枪。
再焊接TYPE-C,二极管(D1),按键,Flash(U2)。
然后再焊接电阻电容,LED和晶振。
最后再根据需要,选择是否需要焊接排针。
注意事项:
①焊接时可选择嘉立创EDA工具栏中的焊接辅助工具,实时交互方便焊接;
②焊接排针时可用一块空板或洞洞板顶住,防止焊斜,影响使用。
5、编程开发
本章节会重点讲解一下——开发环境与固件烧录。
树莓派可以使用MicroPython和C/C++语言进行开发学习。
MicroPython语言开发时建议使用Thonny IDE。
C/C++语言开发时建议使用Arduino IDE。
跟着步骤一步步来即可。
进入MicroPython官网下载UF2固件。
按住BOOTSEL按键不放。
将Pico插入电脑的USB串口,电脑会弹出一个RPI-RP2的磁盘。
点击文件夹下的INDEX.HTM文件,会跳转打开树莓派Pico的官网,INFO_UF2.TXT文件,则是记录板子当前的信息。
将下载好的UF2文件拖入RPI-RP2文件夹中。
此时打开的RPI-RP2窗口会自动关闭,树莓派Pico自动重启。同时在设备管理器器可以看到一个通过USB虚拟出来的端口,固件烧录完成。
03、Thonny
04、Arduino
问题1:USB连接传输不起作用,没有弹出RPI-RP2磁盘管理器或串口号
1 、检查是否没有按住BOOTSEL按键,或者中间松开过。2、TYPE C必须是数据线(充电线不带数据传输功能),TYPE-C的DP/DN未连接好(虚焊)。
3、晶振不起振(虚焊或者损坏了)。
问题2:烧录初始UF2固件后设备管理器无法识别/未知USB设备(设备描述符请求失败)
1 、托拽刷入flash_nuke.uf2清除固件,将Flash中原有内容清除,然后再次刷入初始UF2固件。2、RP2040芯片虚焊或者损坏了,焊接QFN封装时一定得先在引脚处上锡再焊接或加热。
问题3:使用了Zadig导致Pico在bootloader mode(引导加载程序模式)下不会枚举作为存储数据驱动器
1、在设备管理器中找到所有RP2的引导驱动。
在文章的最后,总结一下这块树莓派核心板的优点吧!
可以在嘉立创EDA免费打板。
2 、兼容主流树莓派Pico,两排针间距为17.78mm,可适用于洞洞板。3、支持使用MicoPython和C/C++语言开发,方便快速入门学习。
4 、提供TYPE C串口和SWD接口,方便进行开发和调试。6、支持UF2的USB大容量存储启动模式,用于拖放式编程。
更多详情及附件,可从原工程查看。
本文作者:立创开源硬件平台 OSHWHub 用户@嘉立创EDA案例课程推荐,禁止商用,未经许可禁止转载
TPS5430DDAR/DC-DC电源芯片 | 1.14 | |
DS18B20+/温度传感器 | 4.56 | |
AD623ARZ-R7/仪表放大器 | 13.54 | |
STM32F030F4P6TR/单片机(MCU/MPU/SOC) | 2.21 | |
ULN2003ADR/达林顿晶体管阵列 | 0.376 | |
STM32F103C8T6/单片机(MCU/MPU/SOC) | 4.24 | |
DRV8870DDAR/有刷直流电机驱动芯片 | 1.2072 | |
STM32F103RCT6/单片机(MCU/MPU/SOC) | 6.71 | |
STM32F103VCT6/单片机(MCU/MPU/SOC) | 7.8 | |
STM32F103CBT6/单片机(MCU/MPU/SOC) | 6.27 |
56万现货SKU
品类不断扩充中
科技智能大仓储
最快4小时发货
正品有保障
物料可追溯
明码标价节省时间
一站式采购元器件
您确定要删除此收货地址的吗?
您确定删除此收货地址吗?
content
content