Raspberry Pi RP2350 是 Raspberry Pi 推出的新一代微控制器,它在上一代 RP2040 的基础上进行了重大改进。本文将深入探讨 RP2350 的功能特性、与 RP2040 的比较、A 和 B 型板的差异、开发选择和限制、GPIO 引脚特点以及应用案例,特别关注 USB 主机和设备模拟相关的例子。
1. RP2350 的功能特性
RP2350 是一款强大的微控制器,具有以下关键特性:
- 双核架构:RP2350 搭载了双核 Arm Cortex-M33 处理器或 Hazard3 RISC-V 处理器,运行频率高达 150 MHz,性能远超 RP2040。
- 丰富的内存:它拥有 520 kB 的片上 SRAM,分为 10 个独立的存储区,并支持通过专用 QSPI 总线连接高达 16 MB 的外部 QSPI 闪存/PSRAM,此外还可通过可选的第二个芯片选择连接额外的 16 MB 闪存/PSRAM。
- 多功能外设:RP2350 集成了丰富的外设,包括 2 个 UART、2 个 SPI 控制器、2 个 I2C 控制器、24 个 PWM 通道、支持主机和设备模式的 USB 1.1 控制器和 PHY、12 个 PIO 状态机以及 1 个 HSTX 外设。
- 片上电源管理:它内置了开关模式电源,可生成内核电压。
- 灵活的封装选项:RP2350 提供 QFN-80 (10 × 10 mm) 和 QFN-60 (7 × 7 mm) 两种封装选择,并有带和不带封装内闪存的版本。
2. 与 RP2040 的比较
与上一代 RP2040 相比,RP2350 具有以下优势:
- 更高的时钟频率:RP2350 的时钟频率为 150 MHz,而 RP2040 为 133 MHz。
- 更多的引脚和 GPIO:RP2350 B 型号具有 80 个引脚和 48 个 GPIO,而 RP2040 只有 40 个引脚和 26 个 GPIO。
- 更大的内存容量:RP2350 集成了 520 KB 的 SRAM,而 RP2040 只有 264 KB。 此外,RP2354 型号还内置了 2 MB 闪存,而 RP2040 则需要外部闪存芯片。
- 更多的模拟输入:RP2350 B 型号具有 8 个模拟输入,而 RP2040 和 RP2350 A 型号只有 4 个。
- 更强大的内核:RP2350 采用了 Arm Cortex-M33 内核,它基于 Armv8-M 架构,支持硬件除法和更多 32 位指令,性能和功耗都优于 RP2040 的 Arm Cortex-M0+ 内核。
- 增强的安全性:Cortex-M33 内核增强了安全性,更适合物联网应用。
3. RP2350 A 和 B 型板的区别
RP2350 分为 A 和 B 两个型号,主要区别在于封装尺寸、引脚数量和 GPIO 数量:
- RP2350A 采用 QFN-60 封装,具有 60 个引脚和 30 个 GPIO。
- RP2350B 采用 QFN-80 封装,具有 80 个引脚和 48 个 GPIO。
此外,B 型号还具有 8 个模拟输入,而 A 型号只有 4 个。 选择哪种型号取决于项目的具体需求,如果需要更多的 GPIO 或模拟输入,则应选择 B 型号。
4. 开发选择和限制
RP2350 的开发工具和软件支持非常丰富,但也存在一些限制:
- 官方 SDK:Raspberry Pi 提供了官方 SDK,支持使用 C/C++、MicroPython 和 CircuitPython 等语言进行开发。
- VS Code 集成:推荐使用 Visual Studio Code 进行开发,它提供了 Raspberry Pi Pico 扩展,可以方便地创建、编译和调试项目。
- 启动过程复杂:RP2350 的启动过程比 RP2040 复杂得多,需要仔细研究数据手册才能理解。
- 工具链差异:RP2350 的工具链与 RP2040 不同,需要安装新的编译器和调试器。
- 裸机编程挑战:由于启动过程和工具链的差异,进行裸机编程比较困难,需要深入了解芯片架构和启动流程。
5. RP2350 GPIO 的引脚特点
RP2350 的 GPIO 引脚具有以下特点:
- 多功能性:每个 GPIO 引脚都可以连接到多种内部外设,也可以通过软件直接控制。
- 模拟输入功能:部分 GPIO 引脚具有模拟输入功能,可以连接到 ADC 进行电压采样。
- 可配置性:GPIO 引脚的方向、输出电平和输入电平都可以通过 GPIO 控制寄存器进行配置。
- 隔离寄存器:RP2350 新增了隔离寄存器,可以在低功耗状态下保存焊盘状态,由软件清除。
6. 应用案例
RP2350 适用于各种应用场景,以下是一些与 USB 主机和设备模拟相关的例子:
- USB 主机:RP2350 可以作为 USB 主机,连接 USB 设备,例如键盘、鼠标、U 盘等。它可以通过 USB 控制器和 PHY 与这些设备通信,并通过软件控制数据传输。
- 例如,可以将 RP2350 连接到 U 盘,读取存储在 U 盘上的文件,并将文件内容显示在 LCD 屏幕上。
- 还可以将 RP2350 连接到键盘,读取键盘输入,并将输入内容发送到另一个设备,例如电脑或手机。
- USB 设备模拟:RP2350 可以模拟各种 USB 设备,例如 HID 设备、串口设备、大容量存储设备等。它可以通过 USB 控制器和 PHY 与主机通信,并通过软件模拟设备的行为。
- 例如,可以将 RP2350 模拟成一个 HID 设备,例如鼠标,并将 RP2350 上的传感器数据发送到电脑,控制电脑上的鼠标指针。
- 还可以将 RP2350 模拟成一个串口设备,将 RP2350 上的 UART 数据发送到电脑,实现与电脑的串口通信。
RP2350 是一款功能强大且灵活的微控制器,它为各种应用场景提供了无限的可能性。 相信随着 RP2350 生态系统的不断发展,我们将看到更多基于 RP2350 的创新应用。