文档
树莓派 Pico (RP2040) 技术文档
1. 概述
树莓派 Pico 是 Raspberry Pi 基金会于 2021 年推出的首款微控制器开发板,搭载自研 RP2040 芯片。双核 Cortex-M0+ @ 133MHz、264KB SRAM、2MB 片外 Flash,支持 MicroPython 和 C/C++ SDK。最大特色是 8 路 PIO(可编程 I/O) 状态机,可脱离 CPU 实现 VGA 输出、SD 卡读写、DVI 信号生成等高速自定义协议。
核心亮点:
- 双核 Cortex-M0+,133MHz(可超频至 400MHz+)
- 264KB SRAM(6 个独立 bank,支持并发访问)
- 8 路 PIO 状态机 — 可编程自定义高速 I/O 协议
- 板载 Buck 转换器,支持 1.8V-5.5V 宽电压供电
- USB 1.1 支持 MSC / HID / CDC,可做 USB 设备
- 价格低廉($4),性价比极高
2. 引脚定义
| Pin | 功能 | Pin | 功能 |
|---|---|---|---|
| 1 | GP0 (UART0 TX / I2C0 SDA) | 21 | GP16 (SPI0 RX) |
| 2 | GP1 (UART0 RX / I2C0 SCL) | 22 | GP17 (SPI0 CSn) |
| 3 | GND | 23 | GND |
| 4 | GP2 (I2C1 SDA) | 24 | GP18 (SPI0 SCK) |
| 5 | GP3 (I2C1 SCL) | 25 | GP19 (SPI0 TX) |
| 6 | GP4 (UART1 TX) | 26 | GP20 (I2C0 SDA) |
| 7 | GP5 (UART1 RX) | 27 | GP21 (I2C0 SCL) |
| 8 | GND | 28 | GND |
| 9 | GP6 | 29 | GP22 |
| 10 | GP7 | 30 | RUN(复位,低有效) |
| 11 | GP8 | 31 | GP26 (ADC0) |
| 12 | GP9 | 32 | GP27 (ADC1) |
| 13 | GND | 33 | GND |
| 14 | GP10 | 34 | GP28 (ADC2) |
| 15 | GP11 | 35 | ADC_VREF(基准电压) |
| 16 | GP12 (UART0 TX) | 36 | 3V3 OUT |
| 17 | GP13 (UART0 RX) | 37 | 3V3_EN(拉低禁用3.3V) |
| 18 | GND | 38 | GND |
| 19 | GP14 (SPI1 RX) | 39 | VSYS (1.8-5.5V) |
| 20 | GP15 (SPI1 CSn) | 40 | VBUS (USB 5V) |
- ADC: GP26/27/28 共 3 路 12 位 SAR ADC(500ksps),另 ADC3 内部分压监测 VSYS
- I²C: I2C0 (GP0/1, GP20/21), I2C1 (GP2/3)
- SPI: SPI0 (GP16-19), SPI1 (GP10-15)
- UART: UART0 (GP0/1, GP12/13), UART1 (GP4/5)
- PWM: 每 GPIO 均可输出 PWM(16 通道,8 切片)
3. 电气特性
| 参数 | 规格 |
|---|---|
| 主控 | RP2040 双核 Cortex-M0+ @ 133MHz |
| SRAM | 264KB(6 bank) |
| Flash | 2MB QSPI(片外) |
| 供电 (VSYS) | 1.8V ~ 5.5V(板载 buck → 3.3V) |
| 3.3V 输出电流 | 最大 300mA(含 RP2040 自身 ~50mA) |
| GPIO 电平 | 3.3V(5V 不兼容) |
| GPIO 驱动能力 | 2/4/8/12mA 可编程 |
| ADC 分辨率 | 12 位(ENOB ~9 位) |
| ADC 输入范围 | 0 ~ VREF(默认 3.3V) |
| 深度睡眠电流 | ~1.3mA(关闭 Ring Oscillator) |
| 工作温度 | -20°C ~ 85°C |
4. 典型应用
- USB 设备开发:模拟键盘/鼠标 (HID)、U 盘 (MSC)、串口 (CDC)
- 自定义协议适配器:用 PIO 实现 WS2812、VGA、I²S、CAN、DVI
- IoT 传感器节点:I²C/SPI 接传感器,UART 接无线模块
- 电机控制:16 路 PWM + PIO 正交编码器解码
5. 注意事项
- GPIO 为 3.3V,5V 不兼容:直接接 5V 会烧毁 RP2040 IO 口。
- ADC 线性度一般:RP2040 ADC 实际有效位数 ~9 位(ENOB),不适合高精度测量。需要高精度 ADC 请外接 ADS1115 等。
- Flash 为片外 QSPI:Pico 的 2MB Flash 通过 QSPI 连接,执行代码时不能同时写 Flash。MicroPython 的文件系统在 Flash 尾部。
- 3.3V 输出限制 300mA:驱动大量 LED 或外设时需外加电源。
- 无 EEPROM:没有内置 EEPROM,需要用 Flash 模拟或外接 AT24Cxx。
- USB 仅 1.1:12Mbps 全速,传大文件较慢。不是 USB Host(不能接 U 盘),只能做 Device。
- PIO 是杀手锏:遇到传统 GPIO 难以实现的精确时序协议,优先考虑 PIO 而非 bit-banging。