Плата микроконтроллера Raspberry Pi Pico

Плата Raspberry Pi Pico — это недорогая платформа для разработки на микроконтроллере RP2040. Два ядра ARM Cortex-M0+ с тактовой частотой 133 МГц обеспечат необходимую производительность для ваших устройств, роботов и других изобретений, где важен баланс производительности с низким энергопотреблением.

Микроконтроллер Pico входит в аналогичный сегмент микроконтроллеров, что и ESP32, но обладает уникальными «фишками». Уникальная возможность Pico — подсистема программируемого ввода/вывода (Programmable I/O), с помощью которой реализуется произвольный аппаратный интерфейс: например, шину SD-карты или вывод VGA.

Оптимизированные вычисления с плавающей запятой на Raspberry Pi Pico помогают справиться с комплексными задачами и проектами, где не хватило бы мощности и памяти базовых Arduino.

Архитектура

Платформа Pi Pico выполнена на чипе собственной разработки RP2040 от компании Raspberry Pi Foundation.  При разработке RP2040 уделялось особое внимание 3 главным параметрам — высокой производительности (в частности при работе с целочисленными вычислениями), функциональности I/O портов для возможности взаимодействия с любыми внешними устройствами, и сохранению низкой цены. На чипе RP2040 также расположились часы реального времени, датчик температуры и оперативная память на 264 КБ. В итоге получился невероятно мощный и компактный чип размером всего 7×7 мм в корпусе QFN-56.

Raspberry Pi Pico
Чип RP2040

Недостатком микроконтроллера и в то же время плюсом (снижает стоимость изделия) является отсутствие встроенной памяти для записи программ. Для хранения программного кода к RP2040 потребуется подключить внешнюю флэш-память до 16 МБ через шину QSPI.

Программный код выполняется непосредственно из внешней памяти через специальный интерфейс SPI, DSPI или QSPI. Небольшой кэш повышает производительность типичных приложений. Отладка доступна через интерфейс SWD. Внутренняя память SRAM может содержать код или данные. Она адресована как единая область размером 264 КБ, но физически разделена на 6 банков, для обеспечения одновременного параллельного доступа с разных мастеров. Мастера шины DMA доступны для разгрузки повторяющихся задач передачи данных с процессоров. Контроллер USB со встроенным физическим уровнем PHY может использоваться для подключения хоста FS/LS.

Raspberry Pi Pico
Функциональная схема

Raspberry Pi Pico
Физические расположение блоков

Характеристики

  • Микроконтроллер: RP2040
  • Количество ядер: 2× ARM Cortex-M0+ (32 бита)
  • Тактовая частота: 133 МГц
  • Оперативная память: 264 КБ SRAM, разделенной на шесть банков
  • Flash-память: 2 МБ
  • Дополнительная Flash-память: до16 Mб через шину QSPI
  • Контакты ввода-вывода: 26
  • Контакты с АЦП: 3
  • Разрядность АЦП: 12 бит
  • Контакты с ШИМ: 16
  • Каналы DMA: 12
  • Аппаратные интерфейсы: 2× UART, 2× I²C, 2× SPI
  • Программируемый интерфейс PIO: до 8 подпрограмм одновременно, до 26 контактов одновременно
  • Встроенные периферийные устройства: часы реального времени (RTC), датчик температуры
  • Напряжение логических уровней: 3,3 В
  • Входное напряжение питания: через USB 5 В, через пин VSYS: 1,8–5,5 В
  • USB: USB 1.1 контроллер PHY, с поддержкой режимов host и device
  • Потребляемый ток: до 140 мА
  • Размеры: 52,7×21×3,7 мм

Плата Raspberry Pico

По бокам платы расположены 40 контактов со стандартным шагом 2,54 мм. Чтобы использовать Pico с макетными платами, понадобится припаять к контактам штыревую вилку.

Для подключения периферии отведено 26 контактов ввода-вывода общего назначения (GPIO) с дополнительными возможностями.

  • 3 контакта принимают аналоговый сигнал через 12-битный АЦП.
  • 16 контактов позволяют вывести аналоговое значение в виде ШИМ-сигнала.
  • 12 контактов дают периферии прямой доступ к памяти (DMA) без прямого участия CPU.

Raspberry Pi Pico
Элементы платы

Для подключения модулей предусмотрены аппаратные интерфейсы UART, SPI и I²C. Программируемый ввод-вывод (PIO) обеспечит взаимодействие Pico с произвольными аппаратными интерфейсами, написав соответствующие подпрограммы для коммуникации через любые из 26 пинов GPIO.

Raspberry Pi Pico
Raspberry Pi Pico. Вид сверху.

Raspberry Pi Pico
Raspberry Pi Pico. Вид снизу.

Raspberry Pi Pico недорогая двухслойная плата с чипом RP2040. На плате присутствует чип Flash памяти W25Q16JVUXIQ на 2Mб и стабилизатор напряжения, позволяющий питать Pico от источника питания с напряжением от 1.8 до 5.5В. Плата Raspberry Pi Pico питается через разъём micro-USB или контакт VSYS.

На плате есть кнопка, которой осуществляется вход в режим USB mass-storage boot (дополнительно кнопка может выполнять определённые пользователем функции) и светодиод.

Распиновка

Raspberry Pi Pico
Распиновка Raspberry Pi Pico. Вариант 1.

Raspberry Pi Pico
Распиновка Raspberry Pi Pico. Вариант 2.

Обратите внимание, что к RPi Pico подходят только модули с логическим напряжением 3,3 В. Периферия с логическим напряжением 5 В может повредить устройство!

Светодиодная индикация

Пользовательский светодиод на 25 контакте микроконтроллера.

Программирование

На плате Pi Pico расположена кнопка BOOTSEL, которая служит для перевода платформы в режим загрузчика.

Для создания приложений используются языки программирования Си, C++ или MicroPython. Порт MicroPython для RP2040 подготовлен совместно с автором проекта и поддерживает все возможности чипа, включая собственный интерфейс подключения расширений PIO. Для разработки для чипа RP2040 с использованием MicroPython адаптирована интегрированная среда программирования Thonny. Возможностей чипа достаточно для выполнения приложений для решения задач машинного обучения, для разработки которых подготовлен порт фреймворка TensorFlow Lite. Поддерживается запуск на чипе FreeRTOS.

Raspberry Pi Pico
Учебник по MicroPython по Raspberry Pico

Так как в архитектуре Cortex-M0+ не предусмотрен «аппаратный» модуль для операций с плавающей точкой, разработчики предлагают использовать программные функции для операций с плавающей точкой от Марка Оуэна (их лицензия позволяет использование в любых продуктах на основе чипа RP2040 и они значительно быстрее аналогов gcc), автора популярной библиотеки Qfplib.

Покупка

Продавец на Aliexpress — Simple Robot Store лот Official Raspberry Pi Pico Board RP2040 Dual-Core 264KB ARM Low-Power Microcomputers High-Performance Cortex-M0+ Processort цена $3.80. Доставка в РФ службой Hongkong Post и стоит $0.77.

Ресурсы

Вам также может понравиться

About the Author: Anton

Programistik