首页 > 应用与分享 > 15元自制一块树莓派核心板
  • 15元自制一块树莓派核心板

  • 2023-07-17 09:53:53 阅读量:5292

本文作者:立创开源硬件平台 OSHWHub 户@嘉立创EDA课程案例推荐禁止商用,未经许可禁止转载点击看原文章


我花15元做了一块树莓派Pico最小系统核心板基于RP2040。


  


本项目的电路代码全部开源,且能用Python、C/C++开发,新手可快速入门。本文含硬件说明、电路原理BOM表、PCB设计+焊接技巧编程开发、常见问题解答、核心板优势


1、硬件说明


树莓派核心板由下方7个部分组成,看拆解图,更直观!

  


1.主控芯片:RP2040,QFN-56贴片封装

2.存储芯片:SPI Flash

3 .电源接口:TYPE C
4 .功能按键:BOOT和复位按键
5 .LED显示:电源指示和状态显示灯
6.调试接口:TYPE C和SWD接口
7 . 外接引脚: 引出可编程I/O,方便扩展连接


2、电路原理


这章会讲解这9个电路模块电源电路、RP2040主控电路、ADC采样电路、Flash闪存电路、按键电路、晶振电路、LED指示电路、引脚电路、调试接口。


  


整体原理图赏析


0 1、 电源电路

RP2040内部有3.3V1.1V的LDO不需要担心1.1V的电源问题


  


电源采用TYPE-C接口输入VBUS(5V),VBUSVSYS。通过二极管连接,再通过外部的LDO,(ME6211)输出固定的3.3V

LDO的输入/出端加2.2uF100nF电容滤波因为RP2040具有USB数据传输功能,所DP/DNRP2040相连接


02、RP2040主控电路


  


这里将RP2040的引脚全部引出

USB_DPUSB_DM引脚必须分别串联上27Ω电阻再与TYPE C连接,不能直接连接。

在RP2040的内部LDO(3.3V→1.1V)的输入(VREG_IN)和输出(VREG_OUT)引脚附近,放置2.2uF的去耦电容,以便提供稳定的1.1V电源。

在RP2040需供电的引脚加上100nF的去耦电容。滤除电源噪声,提供稳定的电源供应。

绘制PCB时去耦电容应尽可能挨近芯片引脚放置,注意电源流向进行走线绘制。

TESTEN工厂测试模式引脚,和GND绑定相连接。


0 3、 ADC采样电路

  


RP2040具有ADC功能的GPIO26-29引脚,IOVDD(3V3)端之间分别接有内部反向二极管,分辨率为12位。

ADC的基准电压默认为3.3VC7起滤波作用,R5R6分压得到1/3VSYS,与Q1(DMG1012T-7)相连接,可通过GPIO29_ADC3进行电压监视。


0 4、 Flash闪存电路

  


W25Q128JVSIQ的引脚与RP2040QSPIx引脚相连接

Flash闪存要求RP2040芯片选择输入电压与自己的3.3V电源引脚处于同一电压,否则,它不能正常工作。

所以在W25Q128JVSIQ电源引脚(VCC)附近放置2.2uF100nF的滤波电容,以便提供稳定的3.3V供W25Q128JVSIQ所使用。

绘制PCB时,应尽可能缩短连接距离,减少外围电路的串扰,保证信号的完整性。


0 5、 按键电路

复位按键与RP2040的RUN引脚相连接,外接上拉电阻使RUN默认稳定为高电平,按下RESET按键,RUN被拉低,板子复位重启。

在按键两端接个100nF电容,可以加快复位响应时间


  


启动模式切换按键RP2040QSPI_SS引脚串联一个1kΩ相连接,串联电阻防止在BootLoader模式时,按下复位时,还是从BootLoader模式启动,而不是运行Flash的内容。

当RP2040上电时QSPI_SS引脚将自动默认为上拉,RP2040在启动过程中会检查这个I/O的值,QSPI_SS为逻辑0,RP2040进入引导加载驱动BootLoader模式。


1 未按BOOTSEL按键时,复位或上电,从Flash启动,进入normal普通模式

2按下BOOTSEL按键时,复位或上电,将显示为一个RPI-RP2磁盘,进入BootLoader模式,拖放UF2固件进行编程开发


开机时,有短暂一段时间不能保证QSPI_SS引脚的状态,增加一个上拉电阻就可得到保证。

W25Q128JVSIQ这款Flash闪存外部上拉电阻是不必要的,所以标记为NO-FIT,焊接时可忽略不焊


0 6、 晶振电路

  


晶振选用SMD3225-4P封装12MHz的晶振。

在不需要严格时序要求时,可以使用内部振荡器输入。

晶振两旁的15pF电容作用是保证振荡频率更加稳定

XOUT串联1kΩ的电阻用于限流,可以防止晶振过驱导致寿命减少或损坏。选用其他不同的晶振,可能需要调整这些值


0 7、 LED指示电路

  


电源指示灯(红),上电时亮起,证明最小系统供电部分正常工作;

状态显示灯(蓝),用于给RP2040的GPIO25引脚测试,通过程序实现亮灭。


08、引脚电路

  


引脚使用2个1×20Pin2.54mm排针孔方式引出,方便扩展项目连接,兼容市面主流的树莓派Pico板。


0 9、 调试接口

  


USB串口调试接口(USB1),是树莓派Pico进行重新编程/烧写程序的最简洁方法,通常使用此方式调试。

SWD下载调试接口(H1)电容为滤波作用,使下载烧录性能更加稳定。


3、BOM表

  



4、PCB设计+焊接技巧


本章节主要讲解——布局、布线、丝印铺铜、焊接的技巧


  

01、布局技巧

TYPE-C靠左侧板边居中摆放。

排针间距为17.87mm,放置在板边两侧。
主控芯片摆放在板子中部位置,方便与扩展引脚的外接排针走线。
晶振靠近放置在MCU附近,减小干扰。
SWD调试排针接口放置在板右侧
滤波电容 紧挨滤波引脚 放置

  


02 布线技巧

电源线宽设置为15mil信号线宽设置为8mil

以顶层走线为主,走不通的线可以放置过孔切换到底层进行连接。

走线过程中优先走直线,需要拐弯的地方以135°钝角或圆弧为主,横平竖直,保持设计美规。

晶振走线尽量短,底部不要走线,减少噪声干扰。

在布线过程中适当放置GND扇孔占位,避免覆铜后GND不完整。

  


03、丝印覆铜技巧

标记注明板子信息(RP2040最小系统)。

添加丝印标记按键外接引脚调试接口功能。

在绘制调整完PCB后加上泪滴效果,使板子更加美观稳固。


  



04、焊接步骤

首先焊接RP2040芯片(U1),焊接时需先将在QFN封装上锡,或者使用锡膏上加热台/热风枪。

再焊接TYPE-C二极管(D1),按键Flash(U2)。

然后再焊接电阻电容LED晶振

最后再根据需要,选择是否需要焊接排针


注意事项:

①焊接时可选择嘉立创EDA工具栏中的焊接辅助工具,实时交互方便焊接;

焊接排针时可用一块空板或洞洞板顶住,防止焊斜,影响使用。


5、编程开发

本章节会重点讲解一下——开发环境固件烧录


0 1、 开发环境

树莓派可以使用MicroPythonC/C++语言进行开发学习。

MicroPython语言开发时建议使用Thonny IDE。


  


C/C++语言开发时建议使用Arduino IDE。


  



0 2、 烧录固件(6步)

跟着步骤一步步来即可。

进入MicroPython官网下载UF2固件。

按住BOOTSEL按键不放。

将Pico插入电脑的USB串口,电脑会弹出一个RPI-RP2的磁盘。

点击文件夹下的INDEX.HTM文件,会跳转打开树莓派Pico的官网,INFO_UF2.TXT文件,则是记录板子当前的信息。

将下载好的UF2文件拖入RPI-RP2文件夹中。

此时打开的RPI-RP2窗口会自动关闭,树莓派Pico自动重启。同时在设备管理器器可以看到一个通过USB虚拟出来的端口,固件烧录完成。


  


03、Thonny


  



04、Arduino

  



常见问题解答(3个)

问题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的引导驱动。
2 右键选择“卸载设备”,勾选“删除此设备的驱动程序软件”(如果弹出询问时)。
3 点击卸载,一定要卸载所有RP2相关的引导。


6、核心板优势

在文章的最后,总结一下这块树莓派核心板的优点吧!


  


1 板子尺寸为: 53.34mm*22.86mm (2100mil900mil)。

可以在嘉立创EDA免费打板。

2 兼容主流树莓派Pico,两排针间距为17.78mm,可适用于洞洞板。

3、支持使用MicoPythonC/C++语言开发,方便快速入门学习。

4 提供TYPE C串口SWD接口,方便进行开发和调试。
5 板载复位(RESET)和启动模式切换(BOOTSEL)按键。

6支持UF2USB大容量存储启动模式,用于拖放式编程。


更多详情及附件,可从原工程查看。

本文作者:立创开源硬件平台 OSHWHub 用户@嘉立创EDA案例课程推荐禁止商用,未经许可禁止转载


您的浏览器版本过低(IE8及IE8以下的浏览器或者其他浏览器的兼容模式),存在严重安全漏洞,请切换浏览器为极速模式或者将IE浏览器升级到更高版本。 【查看详情】
推荐您下载并使用 立创商城APP 或者最新版 谷歌浏览器火狐浏览器360浏览器搜狗浏览器QQ浏览器 的极(高)速模式进行访问。
© 2022 深圳市立创电子商务有限公司 版权所有

提示

您确定删除此收货地址吗?

提示

您确定删除此收货地址吗?

成功提示

content

失败提示

content

微信咨询

关注公众号咨询客服

咨询客服
  • 在线客服热线

    0755-83865666

  • 服务时间

    工作日  8:30~20:30

    节假日  8:30~18:00

  • 服务投诉

QQ咨询
优惠券
芯媒体

立创商城旗下芯媒体

微信号:icsight

建议反馈
填问卷 立创用户体验问卷调查 立即参与
活动规则
活动规则
展开客服