Raspberry Pi не всегда является идеальным выбором для взаимодействия с внешней периферией - из-за того, что ПО запущено внутри операционной системы Linux оно не всегда подходит для работы с внешними I/O устройствами, если требуются минимальные задержки в приёме/передаче данных. Также на Raspberry Pi отсутствует встроенный АЦП для обработки аналоговых данных и большое энергопотребление - даже самая экономичная Raspberry Pi Zero потребляет минимум 100 мВт мощности.

Во многих проектах Raspberry Pi используется в связке с микроконтроллером - RasPi выполняет сложные вычисления, обеспечивает доступ к сети и осуществляет хранение информации, а микроконтроллер обрабатывает данные, поступающие на аналоговые входы и общие порты ввода/вывода для обеспечения минимальных задержек. Также микроконтроллер может работать в режиме ожидания с минимальным энергопотреблением.

Раньше у Raspberry Pi Foundation не было своих продуктов на основе микроконтроллеров (вроде Arduino или esp 32/esp 8266). Но теперь разработчики выпустили свой чип микроконтроллера RP2040 - и плату Raspberry Pi Pico на его основе.

RP2040 - чип для платы Rasperry Pi Pico

При разработке RP2040 уделялось особое внимание 3 главным параметрам - высокой производительности (в частности при работе с целочисленными вычислениями), функциональности I/O портов для возможности взаимодействия с любыми внешними устройствами, и сохранению низкой цены. В итоге получился невероятно мощный и компактный чип (размером всего 7x7 мм в корпусеQFN-56, толщина кремния 40nm), обладающий следующими характеристиками:

  • Двухядерный Arm Cortex-M0+ частотой 133Мгц
  • 264Кб оперативной памяти
  • Поддержка чипов флэш-памяти до16 Mб через шину QSPI
  • DMA контроллер
  • 30 GPIO портов, 4 из которых могут быть испольщованы как аналоговые входы
  • 2 × UART, 2 × SPI, 2 × I2C
  • 16 × ШИМ каналов
  • 1 × USB 1.1 контроллер PHY, с поддержкой режимов host и device
  • 8 × программируемых I/O (PIO) машин состояния
  • Режим USB mass-storage boot с поддержкой прошивки через UF2

Для разработчиков ПО предоставляется также C SDK, тулчейн на основе GCC и интеграция со средой разработки Visual Studio Code.

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

С двумя быстрыми ядрами и большим количеством оперативной памяти RP2040 подходит и для проектов с машинным обучением (смотрите форк TensorFlow Lite Micro для RP 2040 от Пита Вордена -https://github.com/raspberrypi/pico-tflmicro)

Для начинающих разработчиков, а также любителей Python совместно с разработчиком MicroPython создан порт MicroPython для RP2040, который позволяет использовать все возможности чипа, включая программируемые машины состояния. Также реализована поддержка MicroPython для RP2040 в популярной среде разработке Thonny

Плата Raspberry Pico

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

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

К отверстиям с шагом 2.54 мм по крайням платы подведены 26 линий (из 30 возможных) от GPIO контактов чипа RP2040, включая 3 (из 4 возможных) аналоговых порта. Также будет возможно купить Raspberry Pico с припаянными в отверстия контактными штырьками.

Официальная цена - 4$

Документация

Datasheet чипа RP 2040

Datasheet платы Raspberry Pico

Руководство для разработки плат с чипом RP 2040

Руководство по программированию Pico на C/С++

Pico C/C++ SDK

Pico Python SDK

Описание ("распиновка") GPIO контактов Raspberry Pi Pico

Тэги:

 

Автор:

Комментариев: 5

  • mojo
    22.01.2021 в 15:15 ответ

    Зря Wi-Fi не вколхозили, как они с esp32 конкурировать собрались, который и по характеристикам мощнее (520kb ram, процессор 240 МГц) по цене примерно столько же, но ещё и с вайфаем и BT.

  • petya
    22.01.2021 в 18:36 ответ

    Слабовато конечно, но на замену всяким ардуинам вполне себе пойдёт

  • macdak
    23.01.2021 в 16:25 ответ

    Это интересно. По цене как китайские клоны ардуин, а возможности и мощность намного больше. Для божественной esp32 пико конечно не конкурент, но глючные китайские клоны ардуин теперь никто не будет покупать, даже несмотря на их дешевизну

  • pavler
    23.01.2021 в 18:12 ответ

    Как её программировать?

    • nbo
      27.01.2021 в 23:56 ответ

      Смотри ссылку в конце статьи "Руководство по программированию Pico на C/С++"

Ваш комментарий

Авторизуйтесь для отправки комментария

© Сообщество пользователей RaspberryPi 2021