树莓派自研MCU,用了RISC-V,内核令人意外

描述

Raspberry Pi 宣布推出其第二款微控制器 RP2350,增加了两个 RISC-V 内核以及改进的 Arm 内核、更多 RAM 和安全性。

 

它最初并不单独发售,将首先作为 Raspberry Pi Pico 2 单板微控制器的一部分发售 。其尺寸与原来的 Pico 相同,为 21 x 51 毫米,售价为 5 美元起。

 

这四个核心在硅片上是独立的,但只有两个可以运行。

 

“在启动时,CPU0 和 CPU1 都可以独立选择为 Arm 或 RISC-V 处理器。因此:两个 Arm、两个 RISC-V 或各一个——不确定后者是否会成为常见用例,”Raspberry Pi 首席执行官 Eben Upton 告诉《电子周刊》。“当您将 UF2 文件写入闪存时,启动 ROM 将自动检测二进制文件的体系结构并选择正确的内核来运行它。该芯片配备所有内核,您可以通过写入 OTP 位选择永久禁用一个或另一个体系结构。”

 

Arm 内核是功能更强大的 Cortex-M33 的 150MHz 版本(高于 RP2040 中的 133MHz Cortex-M0+ 对),而对于其 RISC-V,Raspberry Pi 选择了开源 Hazard3 3 级处理器,该处理器执行 RV32I 指令集和可选扩展。

 

Cortex-M33 是安全增强型 Cortex-M3,它具有 Arm 的 TrustZone 的微控制器版本,为 RP2350 增加了:签名启动、用于密钥存储的 8kbyte 防熔丝一次性存储器、SHA256 加速、硬件真随机数生成器和故障检测器。

 

Raspberry Pi 表示:“这些功能(包括安全启动 ROM)让专业用户可以放心地将 RP2350 和 Pico 2 集成到产品中。”

 

Hazard3 RISC-V 架构师 Luke Wren 告诉《电子周刊》:“除了 Cortex-M33 内部外设(如 SAU)、Cortex-M33 协处理器(如 RCP)以及用于安全启动的启动 ROM 支持外,其他一切都可用。因此,AccessCTRL 总线过滤、AccessCTRL GPIO 过滤和 DMA 通道分配等功能都可以免费使用。”

 

Wren 为 Raspberry Pi 工作,他的 GitHub 上有 Hazard3 的详细信息。他是否先创建了 Hazard3,然后才决定将其添加到 RP2350?

 

“大体上是的”,首席执行官 Upton 表示。“不过,对扩展(尤其是代码密度)的关注或许是出于将内容塞入引导 ROM 的需求。”

 

迁移到 Cortex-M33 还带来了 32 位乘法和除法,以及迁移到 ARMv8-M 指令集(从 Armv6-M)。

 

除了核心之外,RP2350 IC 还具有 520kbyte 的 SRAM。与早期的 RP2040 一样,没有片上闪存,但 Pico 2 板增加了一个 4Mbyte QSPI 闪存 IC。

 

外设包括 2 个 UART、2 个 SPI 控制器、2 个 I 2 C 控制器、24 个 PWM 通道、一个支持主机和设备的 USB 1.1 控制器(和 PHY)以及 12 个公司的“PIO”外设状态机。

 

这与 Raspberry Pi 的第一个 MCU RP2040 类似,只是早期版本只有 16 个 PWM 通道和 8 个 PIO。

 

Pico 2 上的 26 个多用途 GPIO 引脚中,有 4 个也可用作 ADC 输入。

 

操作范围为 1.8 至 5.5Vdc,以及 -20°C 至 +85°C。

 

编程需要使用 C、C++ 和 Python,所有这些都将提供文档支持。

 

Raspberry Pi Pico 2 将以单独出售或 480 个为一卷的形式出售,“Raspberry Pi Pico 2 将至少持续生产到 2040 年 1 月”,该组织表示。

 

树莓派关于新MCU介绍

 

我们很高兴地宣布推出Raspberry Pi Pico 2,这是我们的第二代微控制器板,基于 RP2350 构建:一种在 Raspberry Pi 设计的新型高性能、安全微控制器。

 

mcu

 

Pico 2 具有更高的核心时钟速度、两倍的内存、更强大的 Arm 核心、新的安全功能以及升级的接口功能,可显著提升性能和功能,同时保留与 Pico 系列早期成员的硬件和软件兼容性。

 

Pico 2现已发售,售价 5 美元。

 

RP2040:工程师的微控制器

 

早在 2021 年 1 月,我们推出了原版 Pico 和我们的RP2040微控制器,令所有人大吃一惊。自那以后的三年半里,我们已经售出了近四百万台 Pico 及其支持无线功能的兄弟产品 Pico W。RP2040 本身已在无数第三方开发板以及从弹球桌到合成器的 OEM 产品中占有一席之地。

 

多年来,我们用过很多其他微控制器,而我们打造的 RP2040 正是我们一直想要的微控制器:两个快速的 32 位内核、大量片上 RAM 和灵活的接口(得益于我们的可编程 I/O (PIO) 子系统)——所有这些都通过确定性总线结构连接在一起,这让最优秀的开发人员能够从系统中榨干每一滴并发能力。我们已经看到了一些令人惊叹的强大功能演示:从我们自己的 Graham Sanderson 的DOOM移植版;到 Dmitry Grinberg 的PalmOS移植版;再到 Kevin Vance 的“无 CPU” Commodore 64 卡带。

 

mcumcu

 

但是,尽管 RP2040 取得了超出我们想象的成功,但我们始终知道我们可以做得更好。我们自己的列表中有一些功能第一次没有被列入:片上存储;低功耗空闲状态;封装选项。并且还有 RP2040 用户大军要求的新功能:更快的内核;更多的 RAM;代码保护。

 

新的RP2350

 

因此,两年前,在Raspberry Pi 5的 RP1 I/O 控制器问世后,Raspberry Pi 芯片团队开始着手开发RP2350。这款设计比 RP2040 复杂得多,其特点包括:

 

两个 150MHz Arm Cortex-M33 内核,支持浮点和 DSP

10 个可同时访问的存储体中有 520KB 片上 SRAM

围绕 Cortex-M 的 Arm TrustZone 构建的全面安全架构,包括:

签名启动支持

8KB 片上反熔丝一次性可编程 (OTP) 存储器

SHA-256 加速

硬件真随机数生成器 (TRNG)

片上开关电源和低静态电流 LDO

十二个升级的PIO状态机

用于高速数据传输的新型 HSTX 外设

支持外部 QSPI PSRAM

 

mcu

 

RP2040 仅提供单一 7×7mm、QFN56 封装选项,而这次我们提供以下选择:带有 30 个 GPIO 的 7×7mm、QFN60 封装(RP2350A)或带有 48 个 GPIO 的 10×10mm、QFN80 封装(RP2350B);并且每个版本都有带有 2MB 堆叠封装 QSPI 闪存的变体(RP2354A 和 RP2354B)。

 

我们始终坚持价格实惠的宗旨:尽管我们的硅片尺寸现在达到惊人的 5.3mm2 ,而 RP2040 的硅片尺寸仅为 2mm2 ,但 RP2350A 仅贵 10 美分,3,400 片卷盘价格为 0.80 美元,单片数量价格为 1.10 美元。RP2350B 的价格比 RP2350A 贵 10 美分,而 RP2354 型号的价格仅比无闪存型号贵 20 美分。

 

mcu

 

树莓派总结说,RP2350 是 Raspberry Pi 的一款高性能、安全、低成本、易于使用的微控制器。

 

它具有大容量片上内存、对称双核处理器复合体、确定性总线结构和丰富的外设集,并配有我们独特的可编程 I/O (PIO) 子系统,为专业用户提供无与伦比的功能和灵活性。它具有详细的文档、完善的 MicroPython 端口和 ROM 中的 UF2 引导加载程序,为初学者和业余爱好者提供了最低的入门门槛。

 

RP2350 是一款无状态设备,支持从外部 QSPI 内存缓存执行。此设计决策允许您为您的应用选择合适的非易失性存储密度,并受益于商品闪存部件的低价。

 

RP2350 采用现代 40nm 工艺节点制造,具有高性能、低动态功耗和低泄漏,并具有多种低功耗模式,支持使用电池供电长时间运行。

 

主要特点包括:

 

双 Cortex-M33 或 Hazard3 处理器,最高频率 150MHz

520KB多组高性能SRAM

通过专用 QSPI 总线支持高达 16MB 的片外闪存

DMA 控制器
 

全连接 AHB 交叉开关

片上可编程 LDO 产生核心电压

2 个片上 PLL,用于生成 USB 和核心时钟

30 个 GPIO 引脚,其中 4 个可用作模拟输入

外设

2 个 UART

2个SPI控制器

2 个 I2C 控制器

24 个 PWM 通道

USB 1.1 控制器和 PHY,具有主机和设备支持

3 个可编程 IO (PIO) 块,总共 12 个状态机

 

RP2350 具有全面的安全架构,围绕 Arm TrustZone for Cortex-M 构建,包括以下功能:

 

签名启动支持

8KB 片上反熔丝一次性可编程 (OTP) 存储器

SHA-256 加速

硬件真随机数生成器 (TRNG)

 

值得一提的是,RP2350 还有一项额外功能,那就是集成了一对开放硬件Hazard3 RISC-V 内核,可以在启动时替换 Cortex-M33 内核。我们的启动 ROM 甚至可以自动检测已构建第二阶段二进制文件的架构,并将芯片重新启动到适当的模式。除了少数安全功能和双精度浮点加速器外,芯片的所有功能均可在 RISC-V 模式下使用。

 

Hazard3 是由 Luke Wren 利用业余时间开发的,他目前是 Raspberry Pi 芯片团队的首席工程师。作为一个独立项目,它是一项智力上的杰作:高度优化的三级流水线处理器,实现 RV32I 指令集,以及大量针对性能和代码密度的标准扩展。如果您想了解更多信息,我建议您浏览Luke 在 Twitter/X 上的历史帖子,其中详细介绍了开发过程。

 

通过将 Hazard3 添加到 RP2350,我们旨在让软件开发人员有机会在稳定、支持良好的环境中试验 RISC-V 架构,并将 Hazard3 推广为干净、开放的核心,适合在其他设备中逐字使用,或作为进一步开发的基础。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分