Совершенно новый микроконтроллер RP2040 работает с Raspberry Pi Pico и рядом других новых микроконтроллерных плат от Adafruit, Sparkfun и Pimoroni.
Давайте посмотрим, что происходит внутри маленькой черной микросхемы.
Вычислительная мощность
RP2040 имеет два 32-битных процессора ARM Cortex-M0 +, работающих на частоте до 133 МГц (или даже больше, если вы хотите попробовать разгон). Производительность микроконтроллера немного более тонкая, чем, скажем, производительность ПК, потому что часто важны компромисс между размером, мощностью и стоимостью. RP2040 более чем подходит для большинства распространенных случаев использования микроконтроллеров: вы должны обнаружить, что у него много лошадиных сил. Кроме того, RP2040 имеет оптимизированные процедуры с плавающей запятой в загрузочном ПЗУ, которые увеличивают скорость.
Протоколы связи
RP2040 — отличный микроконтроллер, но вам, вероятно, потребуются дополнительные детали для создания ваших проектов, а это означает, что вам нужен способ связи с ними. Чтобы сделать это быстро и легко, RP2040 имеет аппаратную поддержку двух I2C, двух SPI и двух шин UART. Если этого недостаточно — или вы хотите подключить более эзотерическое оборудование, вы можете использовать программируемый ввод и вывод, который является уникальным новым методом для эффективной обработки входящих и исходящих данных.
Низкая мощность
Ядра Cortex M0 + в Pico не потребляют много энергии при нормальной работе, но если вы хотите, чтобы ваши проекты работали длительное время от батареи, они могут потреблять слишком много энергии. К счастью, у них есть несколько функций, которые помогают максимально эффективно использовать ограниченные источники питания. Режимы сна и ожидания могут снизить энергопотребление Pico примерно до 1 мА. В этих состояниях Pico не может выполнять какую-либо обработку, но может ждать определенного события (например, сигнала времени от часов реального времени или сигнала на выводе GPIO), а затем просыпаться и выполнять конкретную задачу. (например, считайте показания датчика и сохраните значение).
Двухъядерный
В Pico есть два процессорных ядра Cortex-M0 +, и каждое из них способно на один и тот же набор вещей. Это, например, позволяет вам выделить одно ядро только для запуска интерфейса (или набора выходов), в то время как другое принимает данные и обрабатывает их. Очевидно, что это позволяет вам выполнять больше обработки за определенное время, но это может быть столь же полезно для упрощения вашего кода. Если у вас есть что-то, что требует постоянного внимания (например, анимация, которая должна выполняться плавно, или поток данных, который требует постоянной обработки), вы можете выделить одно ядро только для этого, а другое ядро выполняет все вспомогательные задачи. Ваш критичный ко времени код может тогда просто работать без перебоев, а другие биты по-прежнему будут получать процессорное время.
Счетчик реального времени (RTC)
Pico включает таймер, который можно использовать с внешними эталонными часами для получения времени в единицах измерения, совместимых с человеком, таких как дни, месяцы и годы. Этот RTC также можно использовать для генерации сигналов тревоги в определенных точках. Если вы хотите, например, запускать определенную задачу каждый день в 10 часов утра, RTC может запускать ее. Точно так же, если вы хотите, чтобы что-то запускало действие через установленный промежуток времени (например, 30-секундный тайм-аут), RTC может помочь.
Ранее мы писали о том, что Raspberry Pi Foundation анонсировали Raspberry Pi Pico