RP2040 : Raspberry Pi investit le monde des MCU
mar, 26/01/2021 - 10:17
Quelle est donc cette puce avec le logo à la framboise que l'on trouve sur la toute nouvelle carte Raspberry Pi Pico ? C’est la première fois que ce logo apparaît ainsi. La base du design de ce microcontrôleur est connue et mature : ARM Cortex-M0 2 cœurs à 133 MHz. Il est même possible de pousser la fréquence, à vos risques et périls. Ce MCU doit concilier performance / consommation / prix. Il doit pouvoir faire aussi bien que les autres MCU du marché. Une des références est le STM32. La fondation met en avant l’optimisation en virgule flottante pour améliorer les performances.
En lisant la documentation de référence, le RP2040 seul (nous disons bien le MCU uniquement), en sommeil, la puce consomme 0,39 mA, mais peut monter à 4,5. En utilisant intensive, le MCU consomme jusqu’à 35,5 mA. Le boot est comme toujours consommateur. Il est intéressant de constater que le document de référence montre bien que plus la fréquence est élevée, plus la puce consomme. Donc méfiance.Un des critères d’un bon MCU est la consommation.
Le RP2040 supporte par défaut 2 bus I2C, 2 SPI, 2 UART. Ce qui est généralement suffisant. Par des besoins spécifiques ou pour hacker le hardware, vous pouvez passer par le Programmable Input Output (PIO).
Le PIO est une interface avant tout dédiée aux fabricants et aux développeurs pour s’interfacer avec des capteurs ou du matériel non supportés par les autres bus
Vous pouvez aussi créer votre propre carte autour du RP2040. Pour ce faire, la fondation propose un document très intéressant : hardware design with RP2040. Un exemple de carte est même accessible (modèle KiCAD).
La RP2040 est donc un MCU très récent par rapport aux autres offres du marché. Il doit donc prouver sa pertinence et sa stabilité. Au niveau des spécifications, ce MCU souffre de plusieurs lacunes : pas de WiFi et de Bluetooth, 264 Ko de RAM, une fréquence relativement basse, pas d’Ethernet géré par défaut. Plusieurs constructeurs proposent, ou vont le faire, des cartes utilisant ce MCU : Adafruit, Sparkfun, Arduino (sic!
Documentations de référence :
datasheets.raspberrypi.org/rp2040/rp2040_datasheet.pdf
datasheets.raspberrypi.org/rp2040/hardware_design_with_rp2040.pdf
Raspberry Pi Pico est programmable en C et MicroPython.