Компонент Adafruit ItsyBitsy RP2040
Новый чип означает новые возможности, и Raspberry Pi RP2040 не является исключением. Когда мы увидели этот чип, мы подумали: «Этот чип будет потрясающим, если мы обработаем его как следует», — и мы так и сделали! В этом Itsy представлен RP2040 и все тонкости, которые вы знаете и любите о семействе ItsyBitsy
Что может быть меньше перышка, но больше безделушки? Это Adafruit ItsyBitsy RP2040 с Raspberry Pi RP2040! Маленькая, мощная, со сверхбыстрым процессором dual Cortex M0+, работающим на частоте 125 МГц — эта плата микроконтроллера идеально подходит, когда вам нужно что-то очень компактное, с большим количеством лошадиных сил и множеством контактов. Этот Itsy обладает скоростью спортивного автомобиля, но вместительностью внедорожника благодаря 8 МБ флэш-памяти и 264 КБ SRAM.
ItsyBitsy RP2040 имеет длину всего 1,4 дюйма и ширину 0,7 дюйма, но имеет 6 выводов питания, 23 цифровых вывода GPIO (4 из которых могут быть аналоговыми, а 16 — ШИМ-выходами). Это тот же чип, что и в Feather RP2040 и Raspberry Pi Pico, но на самом деле очень маленький. Так что это здорово, когда вы закончили работу над прототипом и хотите сделать проект намного меньше. Он даже поставляется со встроенным 8 МБ SPI Flash для регистрации данных, хранения файлов или кода CircuitPython / MicroPython
- Тот же размер и форм-фактор, что и у остальных представителей семейства ItsyBitsy, и почти идентичная распиновка
- Размеры 1,4 «x 0,7″ x 0,2» (36 мм x 18 мм x 4 мм) без припаянных коллекторов
- RP2040 32-разрядный двухъядерный процессор Cortex M0+, работающий на частоте ~ 125 МГц при 3,3 В логики и питании
- 264 КБ оперативной памяти
- Флэш-чип SPI объемом 8 МБ для хранения файлов и CircuitPython/MicroPython code storage. Нет EEPROM
- Тонны GPIO! 23 x выводов GPIO со следующими возможностями:
- Четыре 12-разрядных АЦП (на один больше, чем Pico)
- Два периферийных устройства I2C, два SPI и два UART, мы обозначаем одно как «основной» интерфейс в стандартных местах расположения ItsyBitsy
- 16 x ШИМ-выходов — для сервоприводов, светодиодов и т.д
- 10 цифровых «не-АЦП/непериферийных» GPIO расположены последовательно для максимальной совместимости с PIO
- Вывод #13 мигающий красный светодиод общего назначения
- RGB NeoPixel с выводом питания на GPIO, чтобы вы могли отключить его при использовании с низким энергопотреблением.
- Как кнопка сброса, так и кнопка выбора загрузчика для быстрого перезапуска (без отключения-повторное подключение для перезапуска кода)
- Регулятор 3,3 В с пиковым выходным током 500 мА
- Вывод питания 3,3 В/включения
- Питание осуществляется либо с помощью USB, либо с помощью внешнего выхода (например, от аккумулятора) — он автоматически переключится
- Выломанные контакты SWD для доступа к отладке
- Кристалл с частотой 12 МГц обеспечивает идеальную синхронизацию.
- Специальный выходной вывод Vhigh обеспечивает более высокое напряжение от VBAT или VUSB для управления неопикселями, сервоприводами и другими устройствами с логикой 5 В. Цифровой выход со сдвигом на 5 уровней для вывода логического уровня высокого напряжения.
- Разъем USB Micro B позволяет получить доступ к встроенному в ПЗУ USB-загрузчику и отладке последовательного порта
Внутри RP2040 находится загрузчик USB UF2 с «постоянным ПЗУ». Это означает, что когда вы хотите запрограммировать новую прошивку, вы можете удерживать нажатой кнопку BOOTSEL, подключая ее к USB (или опуская контакт ЗАПУСКА / сброса на землю), и она появится в виде USB-накопителя, на который вы можете перетащить прошивку. Люди, которые пользовались продуктами Adafruit, найдут это очень знакомым — мы используем эту технологию на всех наших платах с встроенным USB. Просто обратите внимание, что вы не нажимаете дважды reset, вместо этого удерживайте BOOTSEL во время загрузки, чтобы войти в загрузчик!
RP2040 — это мощный чип, который имеет тактовую частоту нашего M4 (SAMD51) и два ядра, эквивалентных нашему M0 (SAMD21). Поскольку это чип M0, у него нет модуля с плавающей запятой или аппаратной поддержки DSP — так что, если вы делаете что-то с тяжелой математикой с плавающей запятой, это будет сделано программно и, следовательно, не так быстро, как M4. Для многих других вычислительных задач вы будете близки к-Скорости М4!
Для периферийных устройств есть два контроллера I2C, два контроллера SPI и два UART, которые мультиплексируются через GPIO — проверьте распиновку, на какие контакты можно установить значение. Имеется 16 ШИМ-каналов, у каждого вывода есть канал, на который он может быть настроен (то же самое на распиновке).
Вы заметите, что здесь нет ни периферийного устройства I2S, ни SDIO, ни камеры, что с этим не так? Что ж, вместо специальной аппаратной поддержки периферийных устройств, подобных этим, RP2040 поставляется с системой PIO state machine, которая представляет собой уникальный и мощный способ создания пользовательской аппаратной логики и блоков обработки данных, которые работают сами по себе, не занимая центрального процессора. Например, NeoPixels — часто мы немного изменяем протокол синхронизации для этих светодиодов. Для RP2040 мы вместо этого используем объект PIO, который считывает данные из буфера данных и синхронизирует правильный битовый поток с идеальной точностью. То же самое с аудиовходом или выходом I2S, дисплеями со светодиодной матрицей, 8-битными TFT-дисплеями на базе SPI или даже VGA! В MicroPython и CircuitPython вы можете создавать команды управления PIO для написания сценария периферийного устройства и загрузки его во время выполнения. Есть 2 периферийных устройства PIO с 4 конечными автоматами в каждом.
На момент запуска эта плата не поддерживалась ядром Arduino core. Существует отличная поддержка C / C++, официальный порт MicroPython и порт CircuitPython! Мы, конечно, рекомендуем CircuitPython, потому что считаем, что это самый простой способ начать работу, и он поддерживается большинством наших драйверов, дисплеев, датчиков и многого другого, которые поддерживаются «из коробки», так что вы можете ознакомиться с нашими проектами и руководствами по CircuitPython.
Этот Itsy поставляется со свободными 0,1-дюймовыми разъемами, которые вы можете припаять для использования на макетной плате!
Несмотря на то, что RP2040 имеет большой объем встроенной оперативной памяти (264 КБ), у него нет встроенной флэш-памяти. Вместо этого это обеспечивается внешним флэш-чипом QSPI. На этой плате имеется 8 МБ, которые распределяются между запущенной программой и любым файловым хранилищем, используемым MicroPython или CircuitPython. При использовании C/C++ вы получаете всю флэш-память целиком, при использовании Python у вас останется около 7 МБ для кода, файлов, изображений, шрифтов и т.д.
Печатная плата
Схема
Список пинов
Пин | Тип |
---|---|
VBAT | мама |
VBUS | мама |
VHI | мама |
+3V3 | мама |
+3V3 | мама |
!RESET | мама |
A0 | мама |
A1 | мама |
A2 | мама |
A3 | мама |
D24 | мама |
D25 | мама |
SCK | мама |
MOSI | мама |
MISO | мама |
D2 | мама |
EN | мама |
SWDIO | мама |
SWCLK | мама |
D13 | мама |
D12 | мама |
D11 | мама |
D10 | мама |
D9 | мама |
D7 | мама |
D5_5V | мама |
SCL | мама |
SDA | мама |
TX | мама |
RX | мама |
D4 | мама |
D3 | мама |
GND | мама |
Мне очень важно получать обратную связь. Пожалуйста, оцените материал. Так я пойму в какую сторону его стоит изменить.