Une nouvelle puce signifie un nouveau Feather, et le RP2040 de Raspberry Pi ne fait pas exception.
Quand Adafruit a vu cette puce, ils ont pensé "cette puce va être géniale quand nous lui donnerons le traitement Feather" et c'est ce qu'ils ont fait ! Cette plume comporte le RP2040, et toutes les subtilités que vous connaissez et aimez de la plume
Mesure 2.0" x 0.9" x 0.28" (50.8mm x 22.8mm x 7mm) sans les en-têtes soudés
Léger comme une (grande ?) plume - 5 grammes
Nouveau PCB rose !
RP2040 32-bit Cortex M0+ dual core fonctionnant à ~125 MHz @ 3.3V logique et puissance
264 KB RAM
8 MB SPI FLASH chip pour le stockage des fichiers et du code CircuitPython/MicroPython.
Pas d'EEPROM
Tonnes de GPIO ! 21 x broches GPIO avec les capacités suivantes :
Quatre ADC 12 bits (un de plus que le Pico)
Deux périphériques I2C, Deux SPI et deux UART, nous en marquons un pour l'interface 'principale' dans les emplacements standard du Feather
16 x sorties PWM - pour les servos, les LED, etc. Les
8 GPIO numériques 'non-ADC/non-périphériques' sont consécutifs pour une compatibilité PIO maximale
Chargeur lipoly intégré de 200mA+ avec indicateur d'état de charge LED
Broche #13 LED rouge pour clignotement d'usage général
NeoPixel RGB pour indication en couleur.
Connecteur STEMMA QT intégré qui vous permet de connecter rapidement n'importe quel dispositif I2C Qwiic, STEMMA QT ou Grove sans soudure !
Bouton de réinitialisation et bouton de sélection du chargeur de démarrage pour des redémarrages rapides (pas de débranchement-rebranchement pour relancer le code)
Broche d'alimentation/de validation 3,3 V
Port de débogage SWD optionnel pouvant être soudé pour un accès au débogage
4 trous de montage
Cristal de 12 MHz pour un timing parfait.
Régulateur de 3,3 V avec sortie de courant de crête de 500 mA
Le connecteur USB de type C vous permet d'accéder à la ROM intégrée, au chargeur de démarrage USB et au débogage du port série.
Le RP2040 contient un chargeur de démarrage USB UF2 à ROM permanente.
Cela signifie que lorsque vous voulez programmer un nouveau firmware, vous pouvez maintenir le bouton BOOTSEL enfoncé tout en le branchant sur le port USB (ou en mettant la broche RUN/Reset à la masse) et il apparaîtra comme un disque USB sur lequel vous pourrez glisser le firmware. Les personnes qui ont utilisé les produits Adafruit trouveront cette technique très familière - ils l'utilisent sur toutes leurs cartes natives USB. Notez que vous ne devez pas double-cliquer sur reset, mais maintenir BOOTSEL enfoncé pendant le démarrage pour entrer dans le bootloader !
Le RP2040 est une puce puissante, qui a la vitesse d'horloge du M4 (SAMD51), et deux cœurs qui sont équivalents au M0 (SAMD21). Comme il s'agit d'une puce M0, elle n'a pas d'unité à virgule flottante, ni de support matériel DSP - donc si vous faites quelque chose avec des mathématiques lourdes à virgule flottante, ce sera fait en logiciel et donc pas aussi rapide qu'un M4. Pour de nombreuses autres tâches de calcul, vous obtiendrez des vitesses proches de M4 !
Pour les périphériques, il y a deux contrôleurs I2C, deux contrôleurs SPI, et deux UARTs qui sont multiplexés à travers les GPIO - vérifiez le brochage pour savoir quelles broches peuvent être configurées à quoi. Il y a 16 canaux PWM, chaque pin a un canal sur lequel il peut être réglé (idem sur le pinout).
Vous remarquerez qu'il n'y a pas de périphérique I2S, ni de SDIO, ni de caméra, qu'est-ce que c'est que ça ? Au lieu d'avoir un support matériel spécifique pour les périphériques de type données série comme ceux-ci, le RP2040 est livré avec le système de machine d'état PIO qui est un moyen unique et puissant de créer une logique matérielle personnalisée et des blocs de traitement de données qui fonctionnent seuls sans occuper un CPU. Par exemple, pour les NeoPixels, nous utilisons souvent le protocole de synchronisation spécifique à ces LED. Pour le RP2040, nous utilisons plutôt un objet PIO qui lit le tampon de données et émet le bon flux binaire avec une précision parfaite. Il en va de même pour les entrées et sorties audio I2S, les écrans matriciels LED, les écrans TFT 8 bits ou SPI, et même les écrans VGA ! Dans MicroPython et CircuitPython, vous pouvez créer des commandes de contrôle PIO pour scripter le périphérique et le charger au moment de l'exécution. Il y a 2 périphériques PIO avec 4 machines d'état chacun.
Il existe un excellent support C/C++, un support non officiel (mais très bon) Arduino, un portage officiel MicroPython et un portage CircuitPython ! Adafruit recommande bien sûr CircuitPython parce qu'il pense que c'est le moyen le plus facile de commencer et qu'il supporte la plupart de ses pilotes, écrans, capteurs et autres, supportés d'emblée pour que vous puissiez suivre leur projects et leurs tutoriels CircuitPython.
Bien que le RP2040 dispose de beaucoup de mémoire vive (264 Ko), il n'a pas de mémoire FLASH intégrée. Au lieu de cela, elle est fournie par la puce flash QSPI externe. Sur cette carte, il y a 8 MB, qui sont partagés entre le programme qu'elle exécute et tout stockage de fichier utilisé par MicroPython ou CircuitPython. Si vous utilisez C/C++, vous disposez de toute la mémoire flash, si vous utilisez Python, il vous restera environ 7 Mo pour le code, les fichiers, les images, les polices, etc.
RP2040 Caractéristiques de la puce :
Double ARM Cortex-M0+ @ 133MHz
264kB SRAM sur puce en six banques indépendantes
Support jusqu'à 16MB de mémoire Flash hors puce via un bus QSPI dédié
Contrôleur DMA
Barre transversale AHB entièrement connectée
Périphériques Interpolateur et diviseur d'entiers
LDO programmable sur puce pour générer la tension du cœur
2 PLL sur puce pour générer les horloges USB et du cœur
30 broches GPIO, dont 4 peuvent être utilisées comme entrées analogiques
Périphériques
2 UARTs
2 contrôleurs SPI
2 contrôleurs I2C
16 canaux PWM
USB 1.
1 contrôleur et PHY, avec support hôte et périphérique
8 machines d'état PIO
Livré entièrement assemblé et testé, avec le bootloader USB UF2.
Nous avons également ajouté des connecteurs pour que vous puissiez les souder et les brancher sur une planche d'essai sans soudure.
Détails techniques
Historique des révisions : Depuis
le 23 février 2022, le PCB est maintenant rose ! La conception est par ailleurs identique sur le plan du schéma, de la disposition et de l'utilisation.
Dimensions du produit : 51,0 mm x 23,0 mm x 7,5 mm / 2,0" x 0,9" x 0,3".