Собственный микроконтроллер Raspberry Pi вместе с платой за 4 доллара
Raspberry Pi разработала свой собственный микроконтроллер (MCU) RP2040 и выпустила новую плату Raspberry Pi Pico стоимостью 4 доллара на его основе, программируемую на C и MicroPython.
RP2040 оснащен двухъядерным процессором Arm Cortex-M0+ с внутренней оперативной памятью 264KB и поддержкой до 16 МБ внешней Flash. Широкий набор гибких портов ввода-вывода включает в себя I2C, SPI, а также программируемый порт (PIO). Главный операционный директор Raspberry Pi Джеймс Адамс сказал в своем блоге: “У нас было три основные цели проектирования RP2040: высокая производительность, особенно для целочисленных операций; гибкий ввод-вывод, позволяющий нам общаться практически с любым внешним устройством; и, конечно же, низкая стоимость, устраняющая барьеры для входа на рынок. В итоге мы получили невероятно мощный маленький чип, втиснув все это в корпус QFN-56 размером 7 × 7 мм, содержащий всего два квадратных миллиметра 40 - нм кремния.”
Он добавил, что с шестью независимыми банками оперативной памяти и полностью подключенным коммутатором в основе его шинной архитектуры легко организовать параллельную работу ядер и движков DMA без каких-либо коллизий. Кроме того, поскольку Cortex-M0+ не имеет блока с плавающей запятой, Raspberry Pi заказал оптимизированные функции с плавающей запятой у Марка Оуэна, автора библиотек Qfplib; они значительно быстрее, чем их эквиваленты библиотек GCC, и лицензированы для использования на любом продукте на базе RP2040.
Адамс сказал: “С двумя быстрыми ядрами и большим количеством встроенной оперативной памяти RP2040 - отличная платформа для приложений машинного обучения. Для опытных пользователей мы предоставляем полный пакет C SDK, набор инструментов на основе GCC и интеграцию кода с Visual Studio. Для начинающих и других пользователей, предпочитающих языки высокого уровня, мы с Дэмиеном Джорджем, создателем MicroPython, поработали над созданием полированного порта для RP2040; он раскрывает все аппаратные возможности чипа, включая нашу инновационную подсистему PIO. А наш друг Айвар Аннамаа добавил поддержку MicroPython RP2040 в популярную IDE Thonny.”
Рис.1. Плата Raspberry Pi Pico $4 с собственным двухъядерным микроконтроллером на базе Arm Cortex-M0+
В своем блоге Адамс объяснил причины производства собственного чипа. Он сказал, что Raspberry Pi довольно успешно помогает соединить миры программного и аппаратного обеспечения, и в результате на сегодняшний день продано 37 миллионов единиц. Однако, существующие платы имеют ограничения – например, Raspberry Pi Zero потребляет порядка 100 мВт; Raspberry Pi сам по себе не поддерживает аналоговый вход; и хотя на Raspberry Pi можно запускать программное обеспечение “bare metal”, программное обеспечение, работающее под управлением универсальной операционной системы, такой как Linux, не очень хорошо подходит для управления отдельными портами ввода-вывода с низкой задержкой.
Он добавил, что многие приложения, как правило, соединяют свои Raspberry Pi с микроконтроллером. В то время как Raspberry Pi может выполнять вычисления, доступ к сети и хранение данных, микроконтроллер обрабатывает аналоговый вход и ввод-вывод с низкой задержкой.
Следовательно, делая свой собственный чип, он мог бы улучшить производительность, ввод-вывод и снизить стоимость. При разработке RP2040, по его словам, они извлекли уроки из использования других микроконтроллеров в продуктах Raspberry Pi.
В дополнение к микроконтроллеру и плате компания Raspberry Pi заявила, что она также работает с различными партнерами (Adafruit, Arduino, Pimoroni и Sparkfun) над созданием как множества других плат на основе платформы RP2040, так и аксессуаров для Raspberry Pi Pico.
Рис.2 Распиновка платы Raspberry Pi Pico.
Основные характеристики RP2040:
- Двухъядерный Arm Cortex-M0+ @ 133 МГц
- 264Кб оперативной памяти на кристалле
- Поддержка до 16 Мб флэш-памяти через шину QSPI
- Контроллер DMA
- Интерполятор и целочисленный делитель
- 30 контактов GPIO, 4 из которых можно использовать в качестве аналоговых входов
- 2x UART , 2x SPI и 2x I2C
- 16 ШИМ-каналов
- USB 1.1 и PHY, с поддержкой хоста и устройства
- 8 × Raspberry Pi (PIO)
- Загрузочный режим из USB накопителя с поддержкой UF2 для программирования перетаскиванием.
- Плата за 4 доллара
Наряду с новым микроконтроллером компания также представила плату за 4 доллара-Raspberry Pi Pico на основе RP2040 с 2 МБ флэш-памяти и чипом питания, поддерживающим входное напряжение от 1,8 до 5,5 В. Это позволяет питать Pico от широкого спектра источников, включая два или три последовательных элемента типа АА или один литий-ионный элемент.
Плата Pico снабжена одной кнопкой, которая может использоваться для входа в режим загрузки из USB накопителя, а также в качестве общего входа, и одним светодиодом. Плата предлагает 26 из 30 выводов GPIO на RP2040, включая три из четырех аналоговых входов, на контактные площадки с шагом 0,1 дюйма.
Полные технические характеристики RP2040, Raspberry Pi Pico и комплекта разработки программного обеспечения (SDK), будь то для C/C++ или MicroPython, доступны здесь.
Источник: www.embedded.com