Ein neuer Chip bedeutet einen neuen Feather, und der Raspberry Pi RP2040 ist da keine Ausnahme.
Als Adafruit diesen Chip sah, dachten sie: "Dieser Chip wird fantastisch, wenn wir ihm die Feather-Behandlung geben", und das taten sie auch! Dieser Feather verfügt über den RP2040 und alle Annehmlichkeiten, die Sie von Feather kennen und lieben
Misst 2.0" x 0.9" x 0.28" (50.8mm x 22.8mm x 7mm) ohne eingelötete Header
Leicht wie eine (große?) Feder - 5 Gramm
Neue rosa Platine!
RP2040 32-Bit Cortex M0+ Dual-Core mit ~125 MHz bei 3,3 V Logik und Leistung
264 KB RAM
8 MB SPI FLASH Chip zum Speichern von Dateien und CircuitPython/MicroPython Code. Kein EEPROM
Tonnenweise GPIO! 21 x GPIO-Pins mit folgenden Möglichkeiten:
Vier 12-Bit-ADCs (einer mehr als beim Pico)
Zwei I2C-, zwei SPI- und zwei UART-Peripherie-Pins, von denen wir einen für die "Haupt"-Schnittstelle in Standard-Feather-Positionen beschriften
16 x PWM-Ausgänge - für Servos, LEDs usw.
Die 8 digitalen "Nicht-ADC/Nicht-Peripherie"-GPIOs sind aufeinanderfolgend für maximale PIO-Kompatibilität
Eingebautes 200mA+ Lipoly-Ladegerät mit Ladestatusanzeige-LED
Pin #13 rote LED für allgemeine Blinkzwecke
RGB-NeoPixel für Vollfarbanzeige
Der integrierte STEMMA QT-Anschluss ermöglicht den schnellen Anschluss von Qwiic-, STEMMA QT- oder Grove I2C-Geräten ohne Löten!
Sowohl Reset-Taste als auch Bootloader-Auswahltaste für schnelle Neustarts (kein Herausziehen und Wiedereinstecken, um den Code neu zu starten)
3,3-V-Stromversorgungs-/Enable-Pin
Optionaler SWD-Debug-Port kann für Debug-Zugriff eingelötet werden
4 Montagelöcher
12-MHz-Quarz für perfektes Timing.
3,3-V-Regler mit 500-mA-Spitzenstromausgang
USB-Typ-C-Anschluss für den Zugriff auf integriertes ROM USB-Bootloader und Debugging über den seriellen Port
Im RP2040 befindet sich ein 'permanenter ROM'-USB-UF2-Bootloader. Das heißt, wenn Sie eine neue Firmware programmieren wollen, können Sie die BOOTSEL-Taste gedrückt halten, während Sie das Gerät an den USB-Anschluss anschließen (oder den RUN/Reset-Pin auf Masse ziehen), und es erscheint als USB-Laufwerk, auf das Sie die Firmware ziehen können. Diejenigen, die Adafruit Produkte verwenden, werden dies sehr vertraut finden - sie verwenden diese Technik auf allen ihren nativen USB-Boards. Beachten Sie, dass Sie nicht doppelt auf Reset klicken, sondern BOOTSEL während des Bootens gedrückt halten, um den Bootloader zu starten!
Der RP2040 ist ein leistungsstarker Chip, der die Taktfrequenz des M4 (SAMD51) und zwei Kerne hat, die dem M0 (SAMD21) entsprechen. Da es sich um einen M0-Chip handelt, verfügt er nicht über eine Fließkommaeinheit oder DSP-Hardwareunterstützung - wenn Sie also etwas mit umfangreichen Fließkommaberechnungen machen wollen, wird dies in Software erledigt und ist daher nicht so schnell wie ein M4. Bei vielen anderen Rechenaufgaben erreichen Sie nahezu M4-Geschwindigkeit!
Für Peripheriegeräte gibt es zwei I2C-Controller, zwei SPI-Controller und zwei UARTs, die über die GPIO gemultiplext sind - prüfen Sie die Pinbelegung, um zu sehen, welche Pins auf was eingestellt werden können. Es gibt 16 PWM-Kanäle, jeder Pin hat einen Kanal, auf den er eingestellt werden kann (dito auf dem Pinout).
Sie werden feststellen, dass es kein I2S-Peripheriegerät, kein SDIO und keine Kamera gibt, was ist da los? Anstelle einer speziellen Hardwareunterstützung für serielle datenähnliche Peripheriegeräte wie diese verfügt der RP2040 über das PIO-State-Machine-System, das eine einzigartige und leistungsstarke Möglichkeit bietet, benutzerdefinierte Hardwarelogik und Datenverarbeitungsblöcke zu erstellen, die eigenständig laufen, ohne eine CPU zu beanspruchen. Zum Beispiel NeoPixels - oft bitbangen wir das timing-spezifische Protokoll für diese LEDs. Für den RP2040 verwenden wir stattdessen ein PIO-Objekt, das den Datenpuffer einliest und den richtigen Bitstrom mit perfekter Genauigkeit ausgibt. Dasselbe gilt für I2S-Audioeingänge und -ausgänge, LED-Matrix-Displays, 8-Bit- oder SPI-basierte TFTs und sogar VGA! In MicroPython und CircuitPython können Sie PIO-Steuerbefehle erstellen, um das Peripheriegerät zu skripten und es zur Laufzeit zu laden. Es gibt 2 PIO-Peripheriegeräte mit jeweils 4 Zustandsautomaten.
Es gibt großartige C/C++-Unterstützung, inoffizielle (aber wirklich gute) Arduino -Unterstützung, eine offizielle MicroPython-Portierung und eine CircuitPython-Portierung! Adafruit empfiehlt natürlich CircuitPython, weil sie der Meinung sind, dass es der einfachste Weg ist, um anzufangen, und weil es die meisten ihrer Treiber, Displays, Sensoren und mehr unterstützt, und zwar sofort, so dass Sie mit ihren CircuitPython projects und Tutorials weiterarbeiten können.
Der RP2040 verfügt zwar über viel Onboard-RAM (264KB), aber nicht über einen eingebauten FLASH-Speicher. Stattdessen wird dies durch den externen QSPI-Flash-Chip gewährleistet. Auf diesem Board befinden sich 8 MB, die zwischen dem laufenden Programm und dem von MicroPython oder CircuitPython verwendeten Dateispeicher aufgeteilt werden. Bei der Verwendung von C/C++ steht Ihnen der gesamte Flash-Speicher zur Verfügung, bei der Verwendung von Python bleiben Ihnen etwa 7 MB für Code, Dateien, Bilder, Schriftarten usw.
RP2040 Chip-Merkmale:
Dual ARM Cortex-M0+ @ 133MHz
264kB On-Chip-SRAM in sechs unabhängigen Bänken
Unterstützung für bis zu 16MB Off-Chip-Flash-Speicher über dedizierten QSPI-Bus
DMA-Controller
Vollständig verbundene AHB-Crossbar
Interpolator- und Integer-Teiler-Peripherie
On-Chip programmierbarer LDO zur Erzeugung der Kernspannung
2 On-Chip-PLLs zur Erzeugung von USB- und Kerntakten
30 GPIO-Pins, von denen 4 als Analogeingänge verwendet werden können
Peripheriegeräte
2 UARTs
2 SPI-Controller
2 I2C-Controller
16 PWM-Kanäle
USB 1.1 Controller und PHY, mit Host- und Geräteunterstützung
8 PIO-Zustandsmaschinen
Komplett montiert und getestet, mit dem UF2 USB-Bootloader. Wir fügen auch eine Stiftleiste bei, so dass Sie sie einlöten und an ein lötfreies Breadboard anschließen können.
Technische Details
Revisionshistorie:
Stand: 23. Februar 2022 - die Platine ist jetzt rosa! Der Entwurf ist ansonsten in Schema, Anordnung und Verwendung identisch.
Produktabmessungen: 51,0mm x 23,0mm x 7,5mm / 2,0" x 0,9" x 0,3"