Компонент Adafruit Feather RP2040
Новый чип означает новое перо, и Raspberry Pi RP2040 не является исключением. Когда мы увидели этот чип, мы подумали: «Этот чип будет потрясающим, когда мы обработаем его перьями», что мы и сделали! Это перо оснащено RP2040 и всеми тонкостями, которые вы знаете и любите в Feather
- Размеры 2,0 «x 0,9″ x 0,28» (50,8 мм x 22,8 мм x 7 мм) без припаянных коллекторов
- Легкий, как (большой?) перо — 5 грамм
- RP2040 32-разрядный двухъядерный процессор Cortex M0+, работающий на частоте ~ 125 МГц при 3,3 В логики и питании
- 264 КБ оперативной памяти
- Флэш-чип SPI объемом 8 МБ для хранения файлов и CircuitPython/MicroPython code storage. Нет EEPROM
- Тонны GPIO! 21 x выводов GPIO со следующими возможностями:
- Четыре 12-разрядных АЦП (на один больше, чем Pico)
- Два периферийных устройства I2C, два SPI и два UART, одно из которых мы обозначаем как «основной» интерфейс в стандартных местах расположения перьев
- 16 x ШИМ-выходов — для сервоприводов, светодиодов и т.д
- 8 цифровых «не-АЦП/непериферийных» GPIO расположены последовательно для максимальной совместимости с PIO
- Встроенное зарядное устройство lipoly емкостью 200 мА со светодиодным индикатором состояния зарядки
- Вывод #13 мигающий красный светодиод общего назначения
- RGB NeoPixel с выводом питания на GPIO, чтобы вы могли отключить его при использовании с низким энергопотреблением.
- Встроенный разъем STEMMA QT, который позволяет быстро подключать любые устройства Qwiic, STEMMA QT или Grove I2C без пайки!
- Как кнопка сброса, так и кнопка выбора загрузчика для быстрого перезапуска (без отключения-повторное подключение для перезапуска кода)
- Вывод питания 3,3 В/включения
- Дополнительный отладочный порт SWD может быть подключен для доступа к отладке
- 4 монтажных отверстия
- Кристалл с частотой 24 МГц обеспечивает идеальную синхронизацию.
- Регулятор 3,3 В с пиковым выходным током 500 мА
- Разъем USB Type C позволяет получить доступ к встроенному в ПЗУ USB-загрузчику и отладке последовательного порта
Внутри RP2040 находится загрузчик USB UF2 с «постоянным ПЗУ». Это означает, что когда вы хотите запрограммировать новую прошивку, вы можете удерживать нажатой кнопку BOOTSEL, подключая ее к USB (или опуская штырь запуска / сброса на землю), и она появится в виде USB-накопителя, на который вы можете перетащить прошивку. Люди, которые пользовались продуктами Adafruit, найдут это очень знакомым — мы используем эту технологию на всех наших платах с встроенным USB. Просто обратите внимание, что вы не нажимаете дважды reset, вместо этого удерживайте BOOTSEL во время загрузки, чтобы войти в загрузчик!
RP2040 — это мощный чип, который имеет тактовую частоту нашего M4 (SAMD51) и два ядра, эквивалентных нашему M0 (SAMD21). Поскольку это чип M0, у него нет модуля с плавающей запятой или аппаратной поддержки DSP — поэтому, если вы делаете что-то с тяжелой математикой с плавающей запятой, это будет сделано программно и, следовательно, не так быстро, как M4. Для многих других вычислительных задач вы приблизитесь к-скорость до-M4!
Для периферийных устройств есть два контроллера 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.
Несмотря на то, что RP2040 имеет большой объем встроенной оперативной памяти (264 КБ), у него нет встроенной флэш-памяти. Вместо этого это обеспечивается внешним флэш-чипом QSPI. На этой плате имеется 8 МБ, которые распределяются между запущенной программой и любым файловым хранилищем, используемым MicroPython или CircuitPython. При использовании C/C++ вы получаете всю флэш-память целиком, при использовании Python у вас останется около 7 МБ для кода, файлов, изображений, шрифтов и т.д.
Характеристики чипа RP2040:
- Двойной ARM Cortex-M0+ @ 133 МГц
- 264 КБ встроенной памяти SRAM в шести независимых банках
- Поддержка до 16 МБ встроенной флэш-памяти через выделенную шину QSPI
- Контроллер DMA
- Полностью подключаемая поперечина AHB
- Периферийные устройства интерполятора и целочисленного делителя
- Встроенный программируемый LDO для генерации напряжения на сердечнике
- 2 встроенных PLL для генерации тактовых импульсов USB и core
- 30 контактов GPIO, 4 из которых могут использоваться в качестве аналоговых входов
- Периферийные устройства
- 2 UARTs
- 2 контроллера SPI
- 2 Контроллера I2C
- 16 ШИМ-каналов
- Контроллер USB 1.1 и PHY с поддержкой хоста и устройства
- 8 Конечных автоматов PIO
Поставляется полностью собранным и протестированным вместе с USB-загрузчиком UF2. Мы также добавляем какой-нибудь разъем, чтобы вы могли припаять его и подключить к макетной плате без пайки.
Печатная плата
Схема
Список пинов
Пин | Тип |
---|---|
+3V3 | мама |
+3V3 | мама |
+3V3 | мама |
VBAT | мама |
VBAT | мама |
VUSB | мама |
!RESET | мама |
A0 | мама |
A1 | мама |
A2 | мама |
A3 | мама |
D24 | мама |
D25 | мама |
SCK | мама |
MOSI | мама |
MISO | мама |
RX | мама |
TX | мама |
D4 | мама |
EN | мама |
D13 | мама |
D12 | мама |
D11 | мама |
D10 | мама |
D9 | мама |
D6 | мама |
D5 | мама |
SCL | мама |
SCL | мама |
SDA | мама |
SDA | мама |
GND | мама |
GND | мама |
GND | мама |
Мне очень важно получать обратную связь. Пожалуйста, оцените материал. Так я пойму в какую сторону его стоит изменить.