Если вы уже окунулись в мир встроенных систем или самодельной электроники, то наверняка слышали о RP2040. Но что именно выделяет этот крошечный чип от Raspberry Pi среди множества микроконтроллеров? Выпущенный в 2021 году как «мозг» культового Raspberry Pi Pico, RP2040 незаметно стал фаворитом среди любителей, преподавателей и даже профессиональных инженеров. В этом подробном обзоре мы рассмотрим, почему это двухъядерное чудо переопределяет возможности бюджетных микроконтроллеров и как вы можете начать работать с ним уже сегодня.
Что такое RP2040?
RP2040 — это микроконтроллер (MCU), представленный Raspberry Pi Foundation. Он служит основным компонентом для Raspberry Pi Pico и других плат разработчика. Сейчас он продается на официальном сайте по цене 10 долларов.

Спецификация RP2040
- Двухъядерный процессор Arm Cortex-M0+ с тактовой частотой 133 МГц
- 264 КБ встроенной SRAM и 2 МБ встроенной флэш-памяти
- Поддержка до 16 МБ внечиповой флэш-памяти через специальную шину QSPI
- Оснащен контроллером DMA
- Имеет 30 выводов GPIO, 4 из которых могут использоваться в качестве аналоговых входов
- Имеет 2 UART, 2 SPI-контроллера и 2 I2C-контроллера
- Предлагает 16 каналов PWM
- Обеспечивает поддержку USB 1.1 хост и устройств
- Включает 8 программируемых состояний ввода-вывода (PIO) Raspberry Pi для поддержки пользовательских периферийных устройств
- Поддерживает режим загрузки с USB-накопителя с поддержкой UF2 для программирования методом перетаскивания

Объяснение наименования RP2040
Название RP2040 отражает его основные характеристики:
- RP: означает Raspberry Pi, разработчика.
- 2: обозначает двухъядерные процессоры Arm Cortex — M0+.
- 0: обозначает тип ядра (в данном случае M0+).
- 4: рассчитывается как
floor(log2(SRAM/16k)), где 264 КБ SRAM → ~4. - 0: Получено из
floor(log2(non - volatile/16k)), с 2 МБ флэш-памяти → ~7, но упрощено до 0 в наименовании.

Распиновка RP2040
Примечательно, что его подсистема программируемого ввода/вывода (PIO) имеет две машины состояний. Это позволяет создавать пользовательские протоколы связи, такие как простое управление светодиодными лентами WS2812 или создание пользовательского интерфейса VGA, что снижает нагрузку на ЦП.

Блок-схема RP2040
- 2 UART: последовательные коммуникации для устройств/модулей/компьютеров.
- 2 SPI: высокоскоростная передача данных по принципу «ведущий-ведомый» (например, флэш-карты/карты SD).
- 2 I2C: многоустройственная шина для датчиков/EEPROM через линии SDA/SCL.
- 16 PWM: управление скоростью двигателя/яркостью светодиодов посредством модуляции рабочего цикла.

Поддержка разработки для RP2040
Официальная плата для разработки — Raspberry Pi Pico
Raspberry Pi Pico служит официальной платой разработчика для RP2040 и является отличным стартовым пунктом для разработчиков. Эта компактная плата размером всего 65 мм x 17 мм невероятно доступна по цене — всего 4 доллара, что делает ее доступной для широкого круга пользователей, от любителей с ограниченным бюджетом до студентов, изучающих мир микроконтроллеров.

Одним из больших преимуществ Raspberry Pi Pico является простота использования. Он имеет простую форму с рядом контактов GPIO с обеих сторон, четко обозначенных для легкой идентификации. Такая компоновка упрощает подключение внешних компонентов, таких как датчики, исполнительные механизмы или дисплеи. Например, подключение датчика температуры, такого как DHT11, к Pico так же просто, как подключение контакта данных датчика к одному из контактов GPIO на Pico, а также подключение питания и заземления.
Pico также имеет встроенный USB-разъем, который используется как для питания платы, так и для ее программирования. При подключении к компьютеру он отображается как устройство хранения данных, что позволяет легко программировать с помощью «перетаскивания». Например, если вы написали скрипт MicroPython или скомпилировали двоичный файл C/C++, вы можете просто скопировать файл на виртуальный диск Pico, и он начнет выполнять программу.
Языки программирования и фреймворки
from machine import Pin
import time
led = Pin(25, Pin.OUT)
while True:
led.value(1)
time.sleep(1)
led.value(0)
time.sleep(1)
Инструменты и IDE
Тонни
VS Code
Чипы RP2040 и RP2350
RP2040 и RP2350 — это микроконтроллеры, разработанные компанией Raspberry Pi. RP2040 был одной из первых моделей, а RP2350 — более совершенная последующая модель с расширенными функциями. Ниже приведено сравнение этих двух моделей:

| Feature | RP2040 | RP2350 |
|---|---|---|
| Core Architecture | Dual Arm Cortex-M0+ | Dual Arm Cortex-M33 or Dual RISC-V Hazard3 |
| Clock Speed | 133MHz | 150MHz |
| On-chip SRAM | 264KB | 520KB |
| Security Features | Basic security features | Arm TrustZone, Signed Boot, SHA-256, TRNG, Fault Detectors |
| Peripheral Interfaces | 2×UART, 2×SPI, 2×I2C, ADC, PWM, USB 1.1 | Enhanced peripherals, additional PIO state machines, more GPIO pins, higher power efficiency |
| Packaging | Single 7×7mm QFN56 option | 7×7mm QFN60 (RP2350A) with 30 GPIOs or 10×10mm QFN80 (RP2350B) with 48 GPIOs; both with 2MB stacked QSPI flash (RP2354A and RP2354B) |
Заключение
В заключение, RP2040 — это замечательный микроконтроллер, который оказал значительное влияние на мир встраиваемых систем и разработку электроники. Приглашаем вас поделиться своим мнением или опытом!




