Lancement du Raspberry Pi Pico 2 à 5 $ avec microcontrôleur double cœur RISC-V ou Arm Cortex-M33 Raspberry Pi RP2350

Raspberry Pi Pico 2

Raspberry Pi Pico 2

La Raspberry Pi Pico 2 est une carte de développement MCU basée sur le nouveau microcontrôleur Raspberry Pi RP2350 dual-core RISC-V ou dual-core Cortex-M33 avec 520 Ko de SRAM sur puce, un flash de 4 Mo, un port micro USB pour l’alimentation et la programmation et les mêmes en-têtes GPIO que la carte Raspberry Pi Pico avec un microcontrôleur RP2040 dual-core Cortex-M0+ avec 264 Ko de SRAM.

Le RP2350 embarque à la fois un processeur double cœur RISC-V Hazard3 open source et un Cortex-M33 double cœur, mais un seul cluster peut être utilisé à la fois. Outre les cœurs MCU plus rapides et la capacité SRAM plus élevée, le RP2350 est à peu près identique au RP2040, bien qu’il ajoute également un bloc PIO supplémentaire, ce qui porte le total à trois. Une nouvelle fonctionnalité importante est la sécurité intégrée lors de l’utilisation de cœurs Arm Cortex-M33 avec Trustzone et d’autres fonctionnalités de sécurité.

Microcontrôleur Raspberry Pi RP2350

Examinons de plus près le microcontrôleur RP2350, avant de découvrir la carte Raspberry Pi Pico 2.

Schéma fonctionnel du Raspberry Pi RP2350
Schéma fonctionnel du Raspberry Pi RP2350

Spécifications du Raspberry Pi RP2350 :

  • Processeur
    • Arm Cortex-M33 double cœur à 150 MHz avec Arm Trustzone, démarrage sécurisé OU
    • RISC-V Hazard3 32 bits double cœur à 150 MHz (pipeline en 3 étapes dans l’ordre ; RV32IMAC avec extensions Zba, Zbb, Zbs, Zbkb, Zcb, Zcmp et Zicsr)
  • Mémoire – 520 Ko de SRAM sur puce
  • Stockage – Jusqu’à 16 Mo de mémoire flash QSPI externe
  • Périphériques
    • RP2350A : jusqu’à 30x GPIO, jusqu’à 4x ADC, jusqu’à 16x canaux PWM
    • RP2350B : jusqu’à 48 GPIO, jusqu’à 8 ADC, jusqu’à 24 canaux PWM
    • Hôte/périphérique USB 1.1
    • 2x UART
    • 2x contrôleurs SPI
    • 2x contrôleurs I2C
    • 3x blocs PIO, 12x machines d’état PIO (IO programmables)
    • HSTX (transmission série haute vitesse) transmet les données du domaine d’horloge système vers un maximum de 8 GPIO (IO12-IO19) à un débit indépendant de l’horloge système.
    • Capteur de température
  • Sécurité
    • 8 Ko d’OTP anti-fusible pour le stockage des clés
    • Accélération SHA-256
    • Matériel TRNG
    • Détecteurs de problèmes rapides
  • Débogage – Interface de débogage SWD
  • Faible consommation – États de veille prolongée à faible consommation avec rétention SRAM en option : aussi bas que 10 μA DVDD
  • Emballer
    • RP2350A – QFN-60 ; 7×7 mm
    • RP2350B – QFN-80; 10×10 mm
Schéma de brochage du boîtier Raspberry Pi RP2350A
Boîtier Raspberry Pi RP2350A utilisé dans Raspberry Pi Pico 2
Boîtier RP2350B
Boîtier Raspberry Pi RP2350B

Si je comprends bien, le package RP2350A offre également le même brochage que le microcontrôleur RP2040, mais la société ajoute désormais également un package RP2350B plus grand avec des GPIO supplémentaires et des entrées analogiques.

Raspberry Pi a utilisé la même méthode que pour le RP2040 pour dériver le nom RP2350. RP signifie « Raspberry Pi », « 2 » est le nombre de cœurs, « 3 » fait référence au cœur MCU utilisé (par exemple Cortex-M33), et les deux derniers nombres « 4 » et « 0 » utilisent la formule floor(log2(x/16k)) pour calculer un nombre représentant la SRAM et la capacité de stockage non volatile à l’intérieur de la puce.

Convention de dénomination RP2350

Je peux voir quelques références au RP235x en ligne, nous pourrions donc voir un RP2354 ou similaire à l’avenir avec flash intégré. [Update: RP2354A and RP2354B packages will be sold with 2MB flash]

La commutation Arm/RISC-V est expliquée comme suit dans la fiche technique :

Le RP2350 prend en charge les architectures de processeur Arm et RISC-V. Les programmes basés sur le SDK qui ne contiennent pas de code assembleur s’exécutent généralement sans modification sur l’une ou l’autre architecture en fournissant l’indicateur de build approprié.

Il y a deux sockets de processeur sur le RP2350, appelés cœur 0 et cœur 1 dans ce document. Chaque socket peut être occupé soit par un processeur Cortex-M33 (implémentant l’architecture principale Armv8-M, plus des extensions) soit par un processeur Hazard3 (implémentant l’architecture RV32IMAC, plus des extensions).

Lorsqu’une réinitialisation de processeur est supprimée, le matériel échantillonne le registre ARCHSEL dans le bloc de registres de contrôle OTP pour déterminer quel processeur connecter à ce socket. Le processeur inutilisé est maintenu en réinitialisation indéfiniment, avec ses entrées d’horloge bloquées. Les valeurs par défaut et autorisées du registre ARCHSEL sont déterminées par des indicateurs OTP critiques :

1. Si CRIT0_ARM_DISABLE est défini, seul RISC-V est autorisé.
2. Sinon, si CRIT0_RISCV_DISABLE est défini, seul l’armement est autorisé.
3. Sinon, si CRIT1_SECURE_BOOT_ENABLE est défini, seul Arm est autorisé.
4. Sinon, si CRIT1_BOOT_ARCH est défini, les deux architectures sont autorisées et la valeur par défaut est RISC-V.
5. Si aucun des indicateurs ci-dessus n’est défini, les deux architectures sont autorisées et la valeur par défaut est Arm.

La présence de cœurs RISC-V est probablement une première tentative d’expérimentation, et les futurs microcontrôleurs Raspberry Pi pourraient bien être uniquement RISC-V. Attendons de voir.

Spécifications du Raspberry Pi Pico 2

Carte Raspberry Pi Pico 2 RP2350

  • SoC – Raspberry Pi RP2350
    • Processeur
      • Arm Cortex-M33 double cœur à 150 MHz avec Arm Trustzone, démarrage sécurisé OU
      • Processeur double cœur RISC-V Hazard3 à 150 MHz
    • Mémoire – 520 Ko de SRAM sur puce
    • Sécurité
      • 8 Ko d’OTP anti-fusible pour le stockage des clés
      • Démarrage sécurisé (Arm uniquement)
      • Accélération SHA-256
      • Matériel TRNG
      • Détecteurs de problèmes rapides.
    • Paquet – QFN-60
  • Stockage – 4 Mo de mémoire flash QSPI intégrée
  • Connecteur hôte/périphérique USB – Micro USB 1.1 pour l’alimentation et la programmation
  • Extension – embase GPIO 26 broches avec
  • Débogage – Interface de débogage SWD
  • Alimentation – 1,8 à 5,5 V CC
  • Dimensions – 51 x 21 mm
  • Plage de température – -20°C à +85°C

Mon Raspberry Pi Pico 2 devrait être livré par DHL aujourd’hui ou demain, je n’ai donc pas encore pu jouer avec, mais si je comprends bien, il utilisera le même SDK C/C++ et Python que pour le Raspberry Pi Pico/RP2040 plus des fonctionnalités supplémentaires pour la sécurité, et une nouvelle chaîne d’outils pour le RISC-V si vous comptez l’utiliser. Plus de détails devraient maintenant être disponibles sur le site Web de documentation, ainsi que sur GitHub avec le SDK Pico et des exemples.

Les cartes RP2350 tierces seront lancées en même temps que la carte Raspberry Pi Pico 2, et j’ai déjà une carte Cytron MOTION 2350 PRO pour le contrôle de robot avec un microcontrôleur RP2350A sur mon bureau…

Microcontrôleur Raspberry Pi RP2350 Cytron MOTION 2350 PRO

Le Raspberry Pi Pico 2 est disponible en unité individuelle ou en bobines de 480 unités et restera en production au moins jusqu’en janvier 2040, soit un cycle de vie de 16 ans. Le prix est de 5 $ avant taxes et frais de port, soit seulement un dollar de plus que le Raspberry Pi Pico de première génération à 4 $. [Update: some price information has been released for the RP2350 microcontroller. The RP2350A will be ten cents more expensive than the RP2040, costing $0.80 in 3,400-unit reels, or $1.10 in single-unit quantities. The RP2350B will cost ten cents more than the RP2350A, and the RP2354 variants with 2MB flash will cost just twenty cents more than the flashless RP2350 SKUs. The RP2350 will become available in volume by the end of 2024]

Retrouvez l’histoire de Raspberry Pi dans cette vidéo :

YouTube video

  • Nouveau pour Raspberry Pi Pico 2 – Microcontrôleur haute performance avec puce RP2350, bras Dual-Core Cortex-M33 & RISC-V, sécurité améliorée, flash 2 Mo & 2 Mo SRAM, C/C++ & Python compatible
  • RP2350 Zero Mini Carte de Développement Pico 2 RP2350 MCU Board Basée sur Raspberry Pi RP2350A Microcontrôleur, Double-cœur et Double-Architecture, 4MB Flash, Type-C Connecteur