RP2040 - разбираем даташиты

RP2040 - разбираем даташиты Спецификация, Datasheet, Перевод, Raspberry pi

Эта статья - вводная в цикле переводов даташита на чип RP2040, которые будут появляться здесь. Надеюсь, это будет интересно и познавательно для Вас, и Вы сможете узнать для себя что-то новое.


Raspberry Pi Foundation всегда знает чем порадовать или удивить нас, а так же как подталкивать других производителей на интересные шаги и решения для хорошей конкуренции.

В четверг (рыбный день, кстати) 21-ого января 2021 года был анонсирован выпуск нового микроконтроллера RP2040.


Честно говоря, я прочитал эту новость и не планировал ничего делать по этому поводу. Но потом случайно заметил несколько особенностей этого микроконтроллера, что разбудило любопытство во мне. Очень привлекло наличие PIO блоков и множество PWM. Справедливости ради, PWM можно как-то решить, а вот с PIO есть смысл поиграться.


Приведу часть технических характеристик:

Два ядра Arm Cortex-M0+ @ 133 МГц

264 КБ памяти (284 КБ если отключить XIP кеширование и использовать память USB)

2 МБ флеш-память с XIP кешированием. В RP2040 нет встроенной флеш-памяти, поэтому чип распаян на плате. У RP2040 есть поддержка до 16 МБ внешней флеш-памяти

DMA контроллер

4 x 12-разрядных аналоговых входа (на Pico доступно для пользователя 3 из них)

2 × UART

2 × SPI

2 × I2C

16 × PWM каналов

Встроенный сенсор температуры

Всего 30 GPIO пинов (3,3 вольта)

MicroUSB B порт с USB 1.1 контроллером и поддержкой хоста

2 × PIO блока для своих собственных интерфейсов

2 x PLL (один для USB, второй для остального)

Поддержка UF2 для загрузки бинарников

Поддержка SWD для загрузки и отладки

Поддержка спящих режимов и пониженной частоты для снижения потребления


PIO блоки дают возможность создавать свои интерфейсы. Например, можно запрограммировать интерфейс WS2812, добавить I2S, SDIO или VGA и т.п.


Ещё одна интересная штука: ядро Cortex-M0+ не содержит в себе блока вычислений с плавающей запятой. Обычно это эмулируется библиотеками GCC, но тут Raspberry Pi использует более быстрое оптимизированное решение от автора Qfplib, которое лицензировано для использования на RP2040.

Arduino & Pi

1.4K поста20.6K подписчиков

Добавить пост

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу