Raspberry Pi Pico是个啥(云体验)+云点灯
这次是我们要看的主角
起因是群里面有个大哥,发了一个链接。
说树莓派进军单片机了,我心想又收税来了。
就没有在意,后来就去查了一下,然后点错了,看个了pico电脑,复杂指令集的。
然后大哥又发一个价格,35块钱~我认为这个东西还算便宜,有起哄的,抬杠的。
那你不买便是。
那这篇文章就让我们云体验一次,看看配套资料怎么样~
https://www.raspberrypi.org/documentation/pico/getting-started/
https://github.com/raspberrypi/
老规矩上地址,自己去探索
下载的配套的文件,很齐全
我这里简单的截图了官网贴出来的参数
首先,这个芯片不知道有没有卖的。如果有就可以自己打板,diy。因为齐全用了ARM的处理器,不知道一些高级特性是不是支持。
性能方面(控制面)我觉得完全ok。就是SRAM以及板载内存有点少。以及支持USB1.1看看是不是阉割版的。以及资料多寡。
第二张
这个拖放编程没有看懂。
。
。
出现次数挺多的。
以及这个IO脚,还是比较丰富的,26个脚在下文会有简单的研究。
以及板载了RTC(不知道精度)以及定时器。
看这个介绍PWM的引脚非常丰富,我甚至想用这个做一个无人机的飞控出来,以及里面自带温度传感器。
还有浮点计算库。
不是DSP性能怎么样,是arm里面的一个ip核实现的吗?
以及还有8个IO状态机,这个挺好的。
放一张引脚图,打印出来。写程序时候看
这是左侧,首当其冲就是串口,然后就是I2C+SPI
右边就是VSBS,可以自己在引USB出来。
3个12位的ADC,日常够用了。以及还有一组串口,估计也是软件串流控制
这个是下面的Debug口
以及三份资料图,看名字就知道是什么了
此为第一份资料
此为最后一个
这是原理图
先看看一直在吹嘘的USB接口
PS = 0:PFM模式(默认,最佳效率)
PS = 1:PWM模式(改善了纹波,但效果却很多轻载时效率较差)
开始分析:VBUS是来自微型USB端口的5V输入,通过肖特基二极管馈电以产生VSYS。VBUS到VSYS二极管(D1)通过允许将不同电源的电源进行“或”运算来增加灵活性。VSYS是主系统的“输入电压”,并为RT6150降压-升压型SMPS供电,后者会产生固定的3.3V输出,用于RP2040设备及其IO(可用于为外部电路供电)。VSYS经过R-C滤波并除以3(分别由R5,R6和C3(在Pico原理图中),并且可以在ADC通道3上进行监视。例如,可以用作粗电池
电压监视器。顾名思义,降压-升压型SMPS可以从降压模式无缝切换到升压模式,因此可以保持在大约1.8V至5.5V的各种输入电压范围内提供3.3V的输出电压,这为选择提供了很大的灵活性电源。GPIO24监视VBUS的存在,而R10和R1则将VBUS拉低以确保如果VBUS不为0V当下。GPIO23控制RT6150 PS(省电)引脚。当PS为低电平(Pico的默认设置)时,调节器处于“脉冲”状态频率调制模式,在轻载条件下,仅打开开关MOSFET可节省大量功率
偶尔保持输出电容器充值。将PS设置为高电平将使调节器进入脉冲宽度调制
(PWM)模式。PWM模式强制SMPS连续切换,从而在光照条件下大大降低了输出纹波负载(对于某些用例可能会很好),但以牺牲效率为代价。注意重负载下不论PS引脚状态如何,切换器都将处于PWM模式。
SMPS EN引脚由一个100K电阻上拉至VSYS,并在Pico引脚37上可用。将该引脚接地短路将禁用切换器并将其置于低功耗状态。
这里加了一颗电源管理芯片,一开始的前级是整流二极管
这个地方是强制USB启动,就是代码不从片上运行
你插个U盘摁住这个,执行你U盘里面的code,这个有趣
16MB的储存,可以自己吹下来换更大的,记得备份
ADC
ADC GPIO引脚具有连接到VDDIO的二极管(其他GPIO没有)
FET停止通过ADC3引脚二极管泄漏到3V3网络
3V3电源关闭时(存在VSYS但3V3_EN为低电平)
这个没什么好说的,就是芯片的脚直接引出来了。注意电气隔离
连到25脚的小LED
三口调试
这个是实物的正反面
安装图,2.54mm。面包板安排
Pico引脚设计用于直接带走尽可能多的RP2040 GPIO和内部电路功能
同时提供适当数量的接地引脚以减少EMI(电磁干扰)和信号
相声。总的来说,这很重要,但对于以现代40nm硅工艺和
因此,数字IO边沿速率非常快。
VBUS是连接到微型USB端口引脚1的微型USB输入电压。标称值为5V(如果不是USB,则为0V)已连接或未通电)。VSYS是主系统输入电压,可以在1.8V至5.5V的允许范围内变化,并由板载使用SMPS为RP2040及其GPIO产生3.3V电压。
电量消耗,自己看去吧
编程闪存
可以使用串行线调试端口或专用USB对(板载)板载2MByte QSPI闪存进行(重新)编程
大容量存储设备模式。
对Pico闪存进行重新编程的最简单方法是使用USB模式。为此,请断开电路板电源,然后按住
板上电期间BOOTSEL按钮会降低(例如,在连接USB时按住BOOTSEL)。然后,Pico将
出现为USB大容量存储设备。将特殊的“ .uf2”文件拖到磁盘上会将此文件写入闪存并重新启动
Pico。
USB启动代码存储在RP2040的ROM中,因此不会被意外覆盖。
通用IO
Raspberry Pi Pico的GPIO由板载3.3V电源轨供电,因此固定为3.3V。
通过将它们直接路由到Pico接头连接器引脚,Pico公开了30个可能的RP2040 GPIO引脚中的26个。GPIO0至
GPIO22仅是数字的,GPIO 26-28可用作数字GPIO或ADC输入(软件可选)。
需要注意的一件事是,具有ADC功能的GPIO26-29在VDDIO(3V3)电源轨上具有一个内部反向二极管,因此输入电压不得超过VDDIO加约300mV。另外,如果RP2040没电,请给这些电源施加电压。GPIO引脚将通过二极管“泄漏”到VDDIO电源轨中。普通数字GPIO引脚0-25(以及调试引脚)不具有此限制,因此当RP2040升压时,可以安全地向这些引脚施加电压。
如果n你要在Raspberry Pi 为Raspberry Pi Pico开发,则可以这样做,先clone,再配置。
4个个小时前才提交,这个板子可以的
我clone下来了
我对代码做了一些更改,可以在电脑上面编译的更快
git clone https://github.com/raspberrypi/pico-setup.git
1.如果尚未安装Git,则应先sudo apt install git。
然后运行
pico-setup / pico_setup.sh
该脚本将:
·创建一个名为pico的目录
·安装所需的依赖项
·下载pico-sdk,pico-examples,pico-extras和pico-playground存储库
·~./bashrc中定义PICO_SDK_PATH,PICO_EXAMPLES_PATH,PICO_EXTRAS_PATH和PICO_PLAYGROUND_PATH
·在pico-examples / build / blink和pico-examples / build / hello_world中构建眨眼和hello_world示例
·下载并构建picotool。将其复制到/ usr / local / bin。
·下载并构建picoprobe
·下载并编译OpenOCD
·下载并安装Visual Studio Code
·安装所需的Visual Studio Code扩展(有关更多详细信息,请参见第6章)
·配置Raspberry Pi UART以与Raspberry Pi Pico一起使用
一旦运行,您将需要重新启动Raspberry Pi,
C的SDK
所有的外设
硬件嘛,看看GPIO的是实现
那接下来就是安装编译工具了,我不在Linux下就不演示了,我板子好还没有呢~
滴滴,写个点灯程序
cd pico-examples
mkdir build
cd build
export PICO_SDK_PATH=../../pico-sdk
cmake ..
Using PICO_SDK_PATH from environment ('../../pico-sdk')
PICO SDK is located at /home/pi/pico/pico-sdk
.
.
.
-- Build files have been written to: /home/pi/pico/pico-examples/build
cd blink
make -j4
执行这些命令,生成elf文件以及USB的运行的文件~
·blink.elf,由调试器使用
·blink.uf2,可以将其拖到RP2040 USB Mass Storage Device上
该二进制文件将使连接到RP2040的GPIO25的Raspberry Pi Pico的板载LED闪烁
滴滴,文章就先到这里啦~想继续看的话就告诉我把!