В 2012 году Raspberry Pi Foundation представил плату Raspberry Pi с поддержкой Linux для обучения программированию. С тех пор были выпущены модели с более быстрыми процессорами, большим объемом памяти и более быстрыми интерфейсами, кульминацией стал запуск в 2019 году платы Raspberry Pi 4.
Плата также поставляется с 40-контактным разъемом для обучения электронике, но полагаться на SBC на базе Linux для мигания светодиода, сбора данных с датчиков или управления сервоприводами – это немного перебор. Поэтому Raspberry Pi Foundation решил создать свою собственную плату MCU под названием Raspberry Pi Pico на базе двухъядерного микроконтроллера Cortex-M0 + RP2040, разработанного собственными силами фонда.
Микроконтроллер Raspberry Pi RP2040
Прежде чем мы посмотрим на плату, давайте рассмотрим основные характеристики RP2040:
- Ядро – два ядра Cortex M0 + с частотой до 133 МГц (по умолчанию 48 МГц)
- Память – 264 КБ встроенной SRAM, разделенной на шесть банков
- Периферийные устройства
- 30х многофункциональных GPIO
- 6х выделенных вводов/выводов для SPI Flash (с поддержкой XIP)
- Специальное оборудование для часто используемых периферийных устройств
- Программируемый ввод-вывод для расширенной периферийной поддержки
- 4-канальный АЦП с внутренним датчиком температуры, 0,5 Мвыб/с, 12-битное преобразование
- Хост/устройство USB 1.1
- Отладка – интерфейс отладки SWD
- Корпус – QFN56 7×7 мм
Если вам интересно, почему RP2040 называется так, RP означает «Raspberry Pi», «2» – это количество ядер, «0» относится к используемому ядру MCU (например, Cortex-M0 +), а последние два числа – «4» и «0» используют формулу floor(log2(x/16k)) для вычисления числа, представляющего SRAM и объем энергонезависимой памяти внутри микросхемы.
Так, например, если Raspberry Pi Foundation решит создать одноядерный микроконтроллер Cortex-M4 с 264 КБ SRAM и 256 КБ памяти, его можно было бы назвать RP1444. Не знаем насколько это будет относиться к двухъядерному MCU Cortex-M4/M0 +.
Но зачем создавать собственный MCU? Мы почти уверены, что они могли найти существующий микроконтроллер, который сделает эту работу. Вероятно, это сделано для того, чтобы их оборудование нельзя было не слишком легко копировать и использовать их программное обеспечение. Все мы видели, что происходит с клонами Arduino, и Raspberry Pi Foundation ясно дала понять, что они НЕ разрешают другим платам Broadcom BCMxxxx запускать программное обеспечение Raspberry Pi . Как мы видели на примере подделок и клонов STM32, микросхему еще можно скопировать, но это намного сложнее, чем просто сделать еще одну печатную плату.
Другая причина заключается в том, что теперь они могут продавать микроконтроллер RP2040 производителям, создающим свои собственные проекты/продукты, и это произойдет, когда будет предоставят документ под названием «Аппаратное обеспечение RP2040». [Обновление: Adafruit, Arduino, Sparkfun и Pimoroni уже анонсировали платы RP2040]
Raspberry Pi Pico
Перейдем к спецификациям самой платы Raspberry Pi Pico:
- MCU – двухъядерный микроконтроллер Cortex-M0 + Raspberry Pi RP2040 с частотой 48 МГц (с возможностью разгона до 133 МГц) с 264 КБ SRAM
- Хранилище – 2 МБ флэш-памяти QSPI
- USB – 1x порт Micro USB 1.1, используемый для питания и программирования
- Расширение
- 2х 20-контактных разъема с шагом 2,54 мм и зубчатые отверстия с 26 GPIO, 3 12-разрядных АЦП до 500 Кбит/с, 2 UART, 2 I2C, 2 SPI, 16 PWM, 2х программируемых высокоскоростных ввода-вывода (для SD-карты, VGA и т. д.)
- Напряжение ввода/вывода 3,3 В
- Датчик – 12-битный датчик температуры
- Отладка – 3-контактный порт последовательной проводной отладки (SWD) Arm
- Разное – кнопка BOOTSEL, пользовательский светодиод (GP25), 1x таймер с 4-мя сигналами тревоги, RTC
- Источник питания – 5 В через порт Micro USB или от 2 до 5 В постоянного тока через контакт VSYS
- Размеры – 51 х 21 мм
Похоже, что Raspberry Pi Pico был разработан не только для образовательных и любительских рынков, но и для коммерческих продуктов с зубчатыми отверстиями, позволяющими интегрировать их в продукты. Плата по умолчанию поставляется без разъемов, поэтому вам придется либо припаять их самостоятельно, если необходимо, например, вставить плату в макет, либо приобрести версию с припаянными разъемами.
Raspberry Pi Pico предлагает 26 GPIO или больше операций ввода-вывода, чем Arduino UNO, Arduino NANO или даже Arduino MKR Zero. Одним из недостатков является то, что контакты поддерживают только 3,3 В, и нет поддержки/допуска 5 В, как на большинстве плат Arduino.
Программное обеспечение и документация Raspberry Pi Pico
Неудивительно, что Raspberry Pi Pico не поддерживает Arduino, а вместо этого обеспечена поддержка программирования MicroPython и C / C ++ с помощью командной строки или кода Visual Studio. Код Python и скомпилированный двоичный файл C / C ++ можно легко скопировать на плату, поскольку она отображается как запоминающее устройство USB на главном компьютере, которым может быть любой компьютер с USB-портом под управлением Windows, macOS или Linux, включая Raspberry Pi 4 Model B или клавиатурный компьютер Raspberry Pi 400.
Вы найдете как MicroPython, так и C / C ++ SDK в учетной записи Raspberry Pi на Github, а также подробную документацию по аппаратному и программному обеспечению, в которой объясняется, как начать работу с выбранным SDK или конструкцией оборудования.
Raspberry Pi Foundation по-прежнему привержен своей образовательной миссии и предоставляет книги, предназначенные для молодых производителей, такие как официальное руководство «Начало работы с MicroPython на Raspberry Pi Pico» для новой платы MCU.
Цена и доступность
Официальная цена Raspberry Pi Pico составляет 4 доллара без учета налогов и доставки. Вы также можете приобрести Raspberry Pi Pico с предварительно припаянными разъемами и базовый комплект Raspberry Pi Pico Basic Kit без платы Pico или с ней. В базовый комплект входит накладка, перемычки и некоторые компоненты, например светодиоды. Вы найдете все это у обычных торговых посредников, включая RS Components, Cytron (только для АСЕАН), и Seeed Studio. В будущем, возможно будет купить катушки с платами Pico, но сейчас это возможно только если вы являетесь реселлером, а поскольку запасы ограничены, поставщики также могут ограничить количество плат, которые они продают за заказ.
Рынок плат MCU переполнен официальными платами Arduino (которые теперь даже выглядят переоцененный), клонами Arduino, платами STM32, такими как BluePill стоимостью менее 2 долларов, и, очевидно, модулями и платами ESP8266 и ESP32, которые также включают беспроводное соединение примерно за ту же цену или даже немного ниже, если включены налоги и доставка. Все эти конкуренты уже имеют хорошую программную поддержку для Arduino и / или MicroPython, SDK C / C ++ и т.д., так что еще неизвестно, будет ли Raspberry Pi Pico пользоваться таким же спросом, но годы научили нас никогда не недооценивать «маркетинг Raspberry Pi». машина”!
Мы надеемся в скором времени получить плату Raspberry Pi Pico от Cytron, и, в эти выходные или в начале следующей неделе, будет выпущен обзор/пошаговое руководство.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.