2024-8-12 16:35:00 [显示全部楼层]
38857浏览
查看: 38857|回复: 0

树莓派用上了 RISC-V,新品Raspberry Pi Pico 2,你想知道的...

[复制链接]


树莓派用上了 RISC-V,新品Raspberry Pi Pico 2,你想知道的...图1

上周树莓派宣布了售价5美元的树莓派Pico 2[1],配备了新芯片RP2350[2]。

这个芯片几乎在RP2040的每个方面都有改进:
  • 3个PIO(之前是2个)
  • 基础时钟从133 MHz提升至150 MHz
  • 更快的ARM Cortex M33核心和RISC-V Hazard3核心

我已经拿到了预发布的板子,好消息是:尽管新芯片更快并且有更多功能,它实际上比RP2040还更省电,这意味着如果你用电池供电,它的续航时间会更长。

一会儿我们来详细讨论功耗问题,首先,来看一下规格。

树莓派用上了 RISC-V,新品Raspberry Pi Pico 2,你想知道的...图2

两代的布局几乎相同。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的每个方面。

树莓派用上了 RISC-V,新品Raspberry Pi Pico 2,你想知道的...图3

保持和Pico一样的尺寸和引脚可以让我们低门槛升级我们的项目硬件。
Pico的相关项目
树莓派做了一个明智的决定,因为它允许基于 RP2040 的庞大项目生态系统在 Pi 生态系统中继续进行,几乎不受干扰。

树莓派用上了 RISC-V,新品Raspberry Pi Pico 2,你想知道的...图4


市面上已经有成千上万个项目很好地利用了RP2040。例如PicoBoy V2[3]。

这是一个基于RP2040的定制手持控制台,带有经典游戏如Breakout、Pac Man、Space Invaders和Flappy Bird的Python端口。

这只是过去一年中引起我注意的众多项目之一:

有一个叫做PicoFly[4]的任天堂 Switch的改装芯片,Pimoroni制作了自己的游戏手柄叫做PicoSystem[5],当然,Pico还能在乐高积木上运行DOOM[6]!

游戏只是一方面,有人制作了一个逻辑分析仪[7],一个便携式串行终端[8],甚至一个叫做PiccoloSDR[9]的完整SDR接收器!

还有一个叫做Axe Effect[10]的机架式显示器,适用于家庭实验室和企业。

复古爱好者对RP2040情有独钟,我看到它被用来制作定制的N64闪存卡[11],模拟完整的经典Macintosh[12],几乎每个拥有这些旧Mac的人都有一个BlueSCSI v2[13]来模拟硬盘和CD-ROM。

还有ISA Blaster[14]和ZX Spectrum模拟器[15]……

还有在你仔细观察之前,你可能永远不会注意到有 RP2040 的地方。比如我今年早些时候测试的MNT reform[16],其轨迹球就是运行在 2040 上的。还有Radxa X4[17],它将 RP2040 与 Intel N100 结合在一起,成为第一个具有 Intel + ARM 微控制器用于 GPIO 的 SBC。我一直在测试 X4[18],之后会发布更多内容。

树莓派将 RP2040 和原始 Pico 推向了极致。我认为没有人能预料到它会变得如此受欢迎。它向许多以前从未接触过微控制器的人(包括我自己)介绍了微控制器的世界。

但它并非没有缺陷:其中一个主要问题是功耗。
Pico 2 功耗测量
树莓派用上了 RISC-V,新品Raspberry Pi Pico 2,你想知道的...图5

RP2040实际上没有达到µA级的深度睡眠——我能找到的最低的是大约1 mA[19]。我我自己用 MicroPython 进行的测试显示 Pi 降到了 2 mA。

当然,RP2040的功耗比运行Linux的树莓派要低得多,但在微控制器领域,毫安并不“出色”。ESP32在深度睡眠状态下可以降到5µA[20]。这意味着电池寿命可以以月而不是天或周来衡量。

Pico 2的功耗比Pico更低吗?

以下是我的非正式测试结果:
[td]
状态PicoPico 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[21]。目前,我会参考RP2350数据手册,其中指出:

扩展低功耗睡眠状态,可选 SRAM 保留:低至 10 μA DVDD

现实情况下,我猜是在10-100μA之间的某个值,但查看SDK,似乎很容易就能让RP2350进入休眠状态(并唤醒,例如用于周期性传感器——无需外部触发)。
树莓派用上了 RISC-V
bitlog.it's RISC-V CPU Core ASIC roundup[22] 中 Hazard3 RISC-V 核心布局的截图:

树莓派用上了 RISC-V,新品Raspberry Pi Pico 2,你想知道的...图6

另一个重要特性是RP2350包含了两个Hazard3 RISC-V核心[23]。这意味着什么?要知道ARM核心是专有的。树莓派支付给ARM一些费用,ARM将设计发送给他们,然后树莓派可以在他们的芯片中使用这些ARM核心。

RISC-V核心并不真正“属于”任何人。它们是开源的,这意味着树莓派可以直接克隆这个git仓库,使用这些设计。没有许可费用,没有专有规格。

不过这并不意味着Hazard3核心更快或更高效,只是它们是开源的。

包括两组核心让你可以在ARM和RISC-V之间进行选择,你甚至可以构建一个“通用二进制”,在运行时在两组核心上运行。

有几点需要注意:
  • 你不能同时运行所有四个核心,要么两个ARM核心、两个RISC-V核心或各一个核心。
  • 外面能用低级 RISC-V 工作的代码很少,所以对于大多数人,尤其是只运行 MicroPython 的普通程序员,你们可能会坚持使用 ARM 内核。

但是树莓派这样做的方式,让人不禁联想:这是否是一个信号,表明鼓励大家应该开始把我们的代码转移到 RISC-V上?我们拭目以待。乐鑫的 ESP32 的 RISC-V 版本[24] 已经推出了一段时间,很高兴看到树莓派加入这个行列。

以上就是Pico 2和所有的变化。Pico 2 W可能也会在今年晚些时候推出(估计得看RP2350的市场反馈到底如何了)。

参考资料
[1]售价5美元的树莓派Pico 2: https://www.raspberrypi.com/products/raspberry-pi-pico-2/
[2]RP2350: https://www.raspberrypi.com/products/rp2350/
[3]PicoBoy V2: https://github.com/HalloSpaceBoy5/PicoBoy
[4]PicoFly: https://www.youtube.com/watch?v=hkCV2Kcy7z4
[5]PicoSystem: https://shop.pimoroni.com/products/picosystem?variant=32369546985555
[6]乐高积木上运行DOOM: https://www.youtube.com/watch?v=oVG5g6zOnjo
[7]逻辑分析仪: https://github.com/gusmanb/logicanalyzer
[8]便携式串行终端: https://github.com/ncrawforth/VT2040
[9]PiccoloSDR: https://www.youtube.com/watch?v=okIkjC02J_M
[10]Axe Effect: https://www.craftcomputing.com/product/axe-effect-temperature-sensor-beta-/1?cp=true&sa=true&sbp=false&q=false
[11]制作定制的N64闪存卡: https://twitter.com/kbeckmann/status/1539738410063208454
[12]模拟完整的经典Macintosh: https://www.youtube.com/watch?v=G3bW4f5Gn4o
[13]BlueSCSI v2: https://jcm-1.com/product/bluescsi-v2-50-pin-desktop/
[14]ISA Blaster: https://www.youtube.com/watch?v=8HuxukpbsAE
[15]ZX Spectrum模拟器: https://github.com/antirez/zx2040
[16]MNT reform: https://www.jeffgeerling.com/blog/2024/mnt-reform-hackable-laptop-not-everyone
[17]Radxa X4: https://docs.radxa.com/en/x/x4
[18]测试 X4: https://github.com/geerlingguy/sbc-reviews/issues/48
[19]大约1 mA: https://forum.core-electronics.com.au/t/pi-pico-sleep-dormant-states/12584/5
[20]降到5µA: https://youtu.be/HmXfyLyN38c?t=529
[21]issue: https://github.com/micropython/micropython/issues/15622
[22]it's RISC-V CPU Core ASIC roundup: https://bitlog.it/20220118_asic_roundup_of_open_source_riscv_cpu_cores.html#hazard3-rv32i--m-c-a-zicsr-zba-zbb-zbc-zbs
[23]两个Hazard3 RISC-V核心: https://bitlog.it/20220118_asic_roundup_of_open_source_riscv_cpu_cores.html#hazard3-rv32i--m-c-a-zicsr-zba-zbb-zbc-zbs
[24]ESP32 的 RISC-V 版本: https://www.espressif.com/en/products/socs/esp32-c3

原文地址:https://www.jeffgeerling.com/blo ... re-pio-risc-v-cores

项目作者:Jeff Geerling

译文首发于:DF创客社区

转载请注明来源信息





pico-2-product-brief.pdf

529.22 KB, 下载次数: 63

rp2350-product-brief.pdf

625.19 KB, 下载次数: 57

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail