Компонент Adafruit QT Py RP2040
Описание
Какая милашка! Или это… QT Py? Эта миниатюрная плата для разработки поставляется с одним из наших новых любимых чипов — RP2040. Это стало известным благодаря новому Raspberry Pi Pico и нашим Feather RP2040 и ItsyBitsy RP2040, но что, если мы захотим чего-то действительно smol?
Новый чип означает новый QT Py, и Raspberry Pi RP2040 не является исключением. Когда мы увидели этот чип, мы подумали: «Этот чип будет потрясающим, когда мы обработаем его cuuutie QT Py», что мы и сделали! Этот QT Py оснащен RP2040 и всеми тонкостями, которые вы знаете и любите в оригинальном QT Py
Подключи и играй STEMMA QT
Звездой QT Py является наш любимый разъем — STEMMA QT, последовательный порт I2C, который можно использовать с любыми нашими датчиками и аксессуарами STEMMA QT. Наличие этого разъема означает, что вам не нужно выполнять какую-либо пайку, чтобы начать работу.
Что вы можете вставить в порт QT? Как насчет OLED-дисплеев? Инерциальные единицы измерения! Датчиков предостаточно. Все подключи и работай благодаря инновационному цепочечному дизайну: Совместимые с SparkFun Qwiic разъемы STEMMA QT для шины I2C, так что вам даже не нужно их паять. Просто подключите совместимый кабель и подсоедините его к выбранному вами микроконтроллеру, и вы готовы загрузить некоторое программное обеспечение и измерить освещенность.
Используйте любые платы SparkFun Qwiic! Платы Seeed Grove I2C также будут работать с этим кабелем-адаптером.
Поддержка программного обеспечения
На момент запуска на этой плате не было поддержки Arduino core для чипа. Существует отличная поддержка C / C++, официальный порт MicroPython и порт CircuitPython! Мы, конечно, рекомендуем CircuitPython, потому что считаем, что это самый простой способ начать работу, и он поддерживается большинством наших драйверов, дисплеев, датчиков и многого другого, которые поддерживаются «из коробки», так что вы можете ознакомиться с нашими проектами и руководствами по CircuitPython.
Технические характеристики QT Py RP2040
Распиновка и форма совместимы с Seeed Xiao, с зубчатыми накладками, так что вы можете припаять его к печатной плате с вырезом, чтобы дать нижним компонентам немного передышки. В дополнение к разъему QT мы также добавили RGB NeoPixel (с управляемым выводом питания для обеспечения сверхнизкого энергопотребления), а также кнопки режима загрузки и сброса (отлично подходят для перезапуска вашей программы или входа в загрузчик). Этот QT Py поставляется со свободными 0,1-дюймовыми разъемами, которые вы можете припаять для использования на макетной плате
Несмотря на то, что RP2040 имеет большой объем встроенной оперативной памяти (264 КБ), у него нет встроенной флэш-памяти. Вместо этого это обеспечивается внешним флэш-чипом QSPI. На этой плате имеется 8 МБ, которые распределяются между запущенной программой и любым файловым хранилищем, используемым MicroPython или CircuitPython. При использовании C/C++ вы получаете всю флэш-память целиком, при использовании Python у вас останется около 7 МБ для кода, файлов, изображений, шрифтов и т.д.
- Тот же размер, форм-фактор и вывод, что и у нашего QT Py на базе SAMD
- Разъем USB Type C — Если у вас есть только кабели Micro B, этот адаптер вам пригодится!
- RP2040 32-разрядный двухъядерный процессор Cortex M0+, работающий на частоте ~ 125 МГц при 3,3 В логики и питании
- 264 КБ оперативной памяти
- Флэш-чип SPI объемом 8 МБ для хранения файлов и CircuitPython/MicroPython code storage. Нет EEPROM
- Встроенный USB поддерживается всеми ОС — может использоваться в качестве последовательной консоли USB, MIDI, скрытой клавиатуры / мыши, даже небольшого дисковода для хранения скриптов Python.
- Может использоваться с MicroPython или CircuitPython
- Встроенный RGB-светодиод NeoPixel
- 13 контактов GPIO (11 разъемных площадок и две QT-площадки):
- Четыре 12-разрядных АЦП (на один больше, чем Pico)
- Два порта I2C (один на разъеме QT, один на разъемных площадках)
- Периферийные устройства SPI и UART в стандартных расположениях QT Py,
- ШИМ-выходы на каждом выводе ввода-вывода — для сервоприводов, светодиодов и т.д
- Существует 6 GPIO в последовательном порядке для обеспечения совместимости с PIO
- Регулятор 3,3 В с пиковой мощностью 600 мА
- кристалл с частотой 12 МГц
- Как кнопка сброса, так и кнопки выбора загрузчика для быстрого перезапуска (без отключения-повторное подключение для перезапуска кода)
- Действительно, очень маленький
О RP2040
Внутри RP2040 находится загрузчик USB UF2 с «постоянным ПЗУ». Это означает, что когда вы хотите запрограммировать новую прошивку, вы можете удерживать нажатой кнопку загрузки, подключая ее к USB (или опуская pin-код запуска / сброса на землю), и она появится в виде 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 конечными автоматами в каждом.
Печатная плата
Схема
Список пинов
Пин | Тип |
---|---|
+3V3 | мама |
+3V3 | мама |
+5V | мама |
A0 | мама |
A1 | мама |
A2 | мама |
A3 | мама |
SDA | мама |
SCL | мама |
TX | мама |
MOSI | мама |
MISO | мама |
SCK | мама |
RX | мама |
SDA1 | мама |
SCL1 | мама |
GND | мама |
GND | мама |
Мне очень важно получать обратную связь. Пожалуйста, оцените материал. Так я пойму в какую сторону его стоит изменить.