原文作者:Jeff Geerling
上周树莓派宣布了售价5美元的树莓派Pico 2,配备了新芯片RP2350。
这个芯片几乎在RP2040的每个方面都有改进:
- 3个PIO(之前是2个)
- 基础时钟从133 MHz提升至150 MHz
- 更快的Arm Cortex M33核心和RISC-V Hazard3核心
我已经拿到了预发布的板子,好消息是:尽管新芯片更快并且有更多功能,它实际上比RP2040还更省电,这意味着如果你用电池供电,它的续航时间会更长。
一会儿我们来详细讨论功耗问题,首先,来看一下规格。
两代的布局几乎相同。Pico2 有着相同的镀金边缘,所以你依然可以把板子焊到你的项目上。
顶部有相同的BOOTSEL
按钮、micro USB和LED。芯片大小和引脚排列也相同。底部完全相同,除了中间多了一个测试焊盘。
所以 Pico 2是一个即插即用的替代品,顶部的RP2350芯片几乎也是RP2040的即插即用替代品(多了4个引脚,并且引脚排列略有调整)。
但我们也发现了一些不同的地方:
- 这个芯片有更快的基础时钟,150 MHz,我还没有测试过超频,但应该很容易。
- PIO,即可编程I/O,让你可以使用GPIO引脚构建自己的通信接口,RP2350增加了一个额外的PIO接口——现在有3个PIO和12个状态机。
- Pico有2个ARM Cortex M0+核心,而Pico 2升级为2个Cortex-M33核心,并增加了两个Hazard3 RISC-V核心。(稍后会详细讨论这是如何工作的。)
- Pico 2将原始Pico的SRAM从264 kiB提升到520 kiB。
- Pico在空闲时消耗大约100 mW,Pico 2只有大约80 mW。
- RP2040只有一种封装大小,拥有4个ADC和总共30个GPIO引脚。- RP2350有两种封装大小,较大的那种有48个GPIO引脚。
- RP2350包括8 kiB的一次性可编程存储(OTP)
- RP2350有包括内置闪存的变体(如果你在构建集成RP2350的定制项目,这可以节省你的BoM成本)。
- Pico 2比原始Pico贵1美元(官方价格5美元对比4美元),猜测其他变体的价格也会相应调整。
数据手册中还有更多内容无法在这里涵盖(大家可以在文末下载芯片的规格书和相关的PDF文档),但我们可以看到,树莓派几乎改进了之前Pico的每个方面。
保持和Pico一样的尺寸和引脚可以让我们低门槛升级我们的项目硬件。
Pico的相关项目
这是一个明智的决定,因为它允许基于 RP2040 的庞大项目生态系统在 Pi 生态系统中继续进行,几乎不受干扰。
市面上已经有成千上万个项目很好地利用了RP2040。例如PicoBoy V2。
这是一个基于RP2040的定制手持控制台,带有经典游戏如Breakout、Pac Man、Space Invaders和Flappy Bird的Python端口。
这只是过去一年中引起我注意的众多项目之一:
有一个叫做PicoFly的任天堂 Switch的改装芯片,Pimoroni制作了自己的游戏手柄叫做PicoSystem,当然,Pico还能在乐高积木上运行DOOM!
游戏只是一方面,有人制作了一个逻辑分析仪,一个便携式串行终端,甚至一个叫做PiccoloSDR的完整SDR接收器!
还有一个叫做Axe Effect的机架式显示器,适用于家庭实验室和企业。
复古爱好者对RP2040情有独钟,我看到它被用来制作定制的N64闪存卡,模拟完整的经典Macintosh,几乎每个拥有这些旧Mac的人都有一个BlueSCSI v2来模拟硬盘和CD-ROM。
还有ISA Blaster和ZX Spectrum模拟器……
而且这是在我们谈论一些你可能不会注意到RP2040的地方之前。例如,我今年早些时候测试的MNT reform,触控板是用2040运行的。而Radxa X4将RP2040和Intel N100结合起来,成为第一个Intel + Arm微控制器的SBC用于GPIO。我一直在测试X4,稍后会发布更多信息。
还有在你仔细观察之前,你可能永远不会注意到有 RP2040 的地方。比如我今年早些时候测试的MNT reform,其轨迹球就是运行在 2040 上的。还有Radxa X4,它将 RP2040 与 Intel N100 结合在一起,成为第一个具有 Intel + ARM 微控制器用于 GPIO 的 SBC。我一直在测试 X4,之后会发布更多内容。
树莓派将 RP2040 和原始 Pico 推向了极致。我认为没有人能预料到它会变得如此受欢迎。它向许多以前从未接触过微控制器的人(包括我自己)介绍了微控制器的世界。
但它并非没有缺陷:其中一个主要问题是功耗。
Pico 2功耗测量
RP2040实际上没有达到µA级的深度睡眠——我能找到的最低的是大约1 mA。我我自己用 MicroPython 进行的测试显示 Pi 降到了 2 mA。
当然,RP2040的功耗比运行Linux的树莓派要低得多,但在微控制器领域,毫安并不“出色”。ESP32在深度睡眠状态下可以降到5µA。这意味着电池寿命可以以月而不是天或周来衡量。
Pico 2的功耗比Pico更低吗?
以下是我的非正式测试结果:
状态 | Pico | Pico 2 |
---|---|---|
空闲,基准时钟 | 20 mA (100 mW) | 16 mA (80 mW) |
MicroPython lightsleep 状态 | 2 mA (10 mW) | 4 mA (20 mW)* |
MicroPython deepsleep 状态 | N/A(不适用) | DNF(未完成) |
睡眠状态……呃,只能说我还是个 C 语言的新手(在这篇文章发布前没能把hello_sleep.c
代码移植到Pico 2),而且我用的 MicroPython 版本在处理睡眠状态时似乎有些问题。
所以我会在进行更多功耗测试后发布更新文章。对于MicroPython,我已经为machine.lightsleep()
和machine.deepsleep()
各开了一个issue。目前,我会参考RP2350数据手册,其中指出:
扩展低功耗睡眠状态,可选 SRAM 保留:低至 10 μA DVDD
现实情况下,我猜是在10-100μA之间的某个值,但查看SDK,似乎很容易就能让RP2350进入休眠状态(并唤醒,例如用于周期性传感器——无需外部触发)。
树莓派用上了 RISC-V
bitlog.it’s RISC-V CPU Core ASIC roundup 中 Hazard3 RISC-V 核心布局的截图:
另一个重要特性是RP2350包含了两个Hazard3 RISC-V核心。这意味着什么?要知道ARM核心是专有的。树莓派支付给ARM一些费用,ARM将设计发送给他们,然后树莓派可以在他们的芯片中使用这些ARM核心。
RISC-V核心并不真正“属于”任何人。它们是开源的,这意味着树莓派可以直接克隆这个git仓库,使用这些设计。没有许可费用,没有专有规格。
不过这并不意味着Hazard3核心更快或更高效,只是它们是开源的。
包括两组核心让你可以在ARM和RISC-V之间进行选择,你甚至可以构建一个“通用二进制”,在运行时在两组核心上运行。
有几点需要注意:
- 你不能同时运行所有四个核心,要么两个ARM核心、两个RISC-V核心或各一个核心。
- 外面能用低级 RISC-V 工作的代码很少,所以对于大多数人,尤其是只运行 MicroPython 的普通程序员,你们可能会坚持使用 ARM 内核。
但是树莓派这样做的方式,让人不禁联想:这是否是一个信号,表明鼓励大家应该开始把我们的代码转移到 RISC-V上?我们拭目以待。乐鑫的 ESP32 的 RISC-V 版本 已经推出了一段时间,很高兴看到树莓派加入这个行列。
以上就是Pico 2和所有的变化。Pico 2 W可能也会在今年晚些时候推出(估计得看RP2350的市场反馈到底如何了)。
原文地址:https://www.jeffgeerling.com/blog/2024/raspberry-pi-pico-2-rp2350-adds-more-pio-risc-v-cores
项目作者:Jeff Geerling
译文首发于:DF创客社区
转载请注明来源信息