树莓派2040 详细讲解

我花60元,搞定了一块树莓派核心板!

目录

今天做一个基于RP2040的树莓派Pico,自制一个的成本在60元左右。

这是最小系统核心板设计,可选用Python或C/C++进行开发,方便快速入门。

全文导航(9部分)

硬件拆解说明、电路原理、PCB设计技巧、编程开发、焊接技巧、常见问题解答、DIY材料盘点、源文件开源、优点说明

硬件拆解说明

核心板由7个部分组成!看拆解图,更直观。

  • 主控芯片:RP2040,QFN-56贴片封装;
  • 存储芯片:SPI Flash;
  • 电源接口:TYPE C;
  • 功能按键:BOOT和复位按键;
  • LED显示:电源指示和状态显示灯;
  • 调试接口:TYPE C和SWD接口;
  • 外接引脚:引出可编程I/O,方便扩展连接。

电路原理

这里会将电路拆分为9个部分,讲解一下原理。

整体原理图赏析

1.电源电路

RP2040需要3.3V(用于I/O)和1.1V(用于芯片的数字核心电压)两种电压供应。

由于RP2040内部有一个3.3V转1.1V的LDO,所以不需要担心1.1V的电源问题

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

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

2.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绑定相连接。

3.ADC采样电路

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

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

4.Flash闪存电路

W25Q128JVSIQ的引脚与RP2040QSPIx引脚相连接

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

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

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

5.按键电路

复位按键与RP2040的RUN引脚相连接,外接上拉电阻使RUN默认稳定为高电平,按下RESET按键,RUN被拉低,板子复位重启。在按键两端接个100nF电容,可以加快复位响应时间

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

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

  • 未按BOOTSEL按键时,复位或上电,从Flash启动,进入normal普通模式。
  • 按下BOOTSEL按键时,复位或上电,将显示为一个RPI-RP2磁盘,进入BootLoader模式,拖放UF2固件进行编程开发。

开机时有短暂一段时间不能保证QSPI_SS引脚的状态,增加一个上拉电阻就可得到保证。W25Q128JVSIQ这款Flash闪存外部上拉电阻是不必要的,所以标记为NO-FIT,焊接时可忽略不焊。

6.晶振电路

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

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

晶振两旁的15pF电容作用是保证振荡频率更加稳定,在XOUT中串联1kΩ的电阻用于限流,可以防止晶振过驱导致寿命减少或损坏,选用其他不同的晶振,可能需要调整这些值

7.LED指示电路

电源指示灯(红),上电时亮起,证明最小系统供电部分正常工作;
状态显示灯(蓝),用于给RP2040的GPIO25引脚测试,通过程序实现亮灭;

8.引脚电路

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

9.调试接口

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

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

PCB设计技巧

原理图设计完成,就要开始PCB设计了!

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

1.布局技巧

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

②排针间距为17.87mm,放置在板边两侧;

③主控芯片摆放在板子中部位置,方便与扩展引脚的外接排针走线;

④晶振靠近放置在MCU附近,减小干扰;

⑤SWD调试排针接口放置在板右侧

⑥滤波电容紧挨滤波引脚放置;

2.布线技巧

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

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

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

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

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

3.丝印覆铜技巧

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

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

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

编程开发

1.开发环境

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

  • MicroPython语言开发时建议使用Thonny IDE;
  • C/C++语言开发时建议使用Arduino IDE。

2.烧录固件

跟着步骤一步步来即可:

①进入MicroPython官网下载UF2固件;

②按住BOOTSEL按键不放

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

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

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

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

3.Thonny

4.Arduino

焊接技巧

跟着步骤,一步步来即可:

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

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

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

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

注意事项:

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

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

常见问题解答

问题1.USB连接传输不起作用,没有弹出RPI-RP2磁盘管理器或串口号

①检查是否没有按住BOOTSEL按键,或者中间松开过;

②TYPE C必须是数据线(充电线不带数据传输功能),TYPE-C的DP/DN未连接好(虚焊);

③晶振不起振(虚焊或者损坏了)。

问题2.烧录初始UF2固件后设备管理器无法识别/未知USB设备(设备描述符请求失败)

①托拽刷入flash_nuke.uf2清除固件,将Flash中原有内容清除,然后再次刷入初始UF2固件;

②RP2040芯片虚焊或者损坏了,焊接QFN封装时一定得先在引脚处上锡再焊接或加热。

问题3.使用了Zadig导致Pico在bootloader mode(引导加载程序模式)下不会枚举作为存储数据驱动器

①在设备管理器中找到所有RP2的引导驱动;

②右键选择“卸载设备”,勾选“删除此设备的驱动程序软件”(如果弹出询问时);

③点击卸载,一定要卸载所有RP2相关的引导。

DIY材料盘点表格

源文件开源

这个DIY教程很受高校教师欢迎,老师主要是用于给学生进行拓展训练。因此本教程的开源资料也很是齐全。

如果你也想DIY这样一块核心板,请在电脑端打开相关的附件资料:

【核心板】RP2040最小系统 - 嘉立创EDA开源硬件平台​oshwhub.com/course-examples/he-xin-ban-rp2040-zui-xiao-xi-tong#P4​编辑

第一步:点击文字链即可下载

第二步:获得文件

请在电脑端打开电路源文件:

「链接」​pro.lceda.cn/editor#id=5283e3ffbc3049339b1612fdc98705b2,tab=*7df35131aaca4cab88cde6a18fb18b6c@5283e3ffbc3049339b1612fdc98705b2

核心板的优点

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

  • 板子外观小巧精致,尺寸为53.34mm22.86mm(2100mil900mil);
  • 兼容主流树莓派Pico,两排针间距为17.78mm,可适用于洞洞板;
  • 支持使用MicoPython和C/C++语言开发,方便快速入门学习;
  • 提供TYPE C串口和SWD接口,方便进行开发和调试;
  • 板载复位(RESET)和启动模式切换(BOOTSEL)按键,
  • 支持UF2的USB大容量存储启动模式,用于拖放式编程。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PHP代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值