La plate-forme Sonata v1.0 RISC-V combine le FPGA AMD Artix-7 et le MCU Raspberry Pi RP2040 et intègre la technologie CHERIoT pour les systèmes embarqués sécurisés

Sonata v1.0 CHERIoT embedded system

lowRISC a publié Sonata v1.0, une plateforme stable développée dans le cadre du projet Sunburst. Conçu pour les ingénieurs de systèmes embarqués, Sonata prend en charge la technologie CHERIoT, permettant des fonctionnalités telles que la compartimentation et une sécurité améliorée de la mémoire. Il fournit une base fiable pour la création de systèmes embarqués sécurisés.

CHERIoT est une technologie axée sur la sécurité construite sur le cœur RISC-V Ibex de lowRISC, basée sur la recherche CHERI de l’Université de Cambridge et de SRI International. Il résout les problèmes de sécurité de la mémoire tels que les dépassements de tampon et les erreurs d’utilisation après libération à l’aide de l’architecture basée sur les capacités de CHERI. Le format de capacité CHERIoT inclut des autorisations pour l’accès à la mémoire, des types d’objets pour la compartimentation et des limites pour restreindre les régions de mémoire accessibles. Ces fonctionnalités permettent un compartimentage évolutif et efficace, ce qui le rend adapté à l’exécution sécurisée de logiciels non fiables dans des systèmes embarqués. Sonata v1.0 exploite cette architecture pour isoler des composants tels que les piles réseau et les noyaux au sein du RTOS CHERIoT.

Système embarqué Sonata v1.0 CHERIoT

Les spécifications lowRISC Sonata v1.0 :

  • FPGA-AMD Xilinx Artix-7 (XC7A35T-1CSG324C)
    • CPU – AMD MicroBlaze soft-core basé sur l’architecture RISC Harvard
    • 400 Ko de RAM distribuée maximum.
    • 50 blocs RAM/FIFO avec ECC (36 Ko chacun), totalisant 1 800 Ko de RAM en bloc.
    • Paquet – 324-LFBGA
  • Microcontrôleur – Raspberry Pi RP2040
    • Noyau – Double cœurs Cortex M0+ jusqu’à 133 MHz (48 MHz par défaut)
    • Mémoire – 264 Ko de SRAM intégrée dans 6 banques
    • Colis – QFN56 7x7mm
  • Mémoire – HyperRAM 64 Mbits (Winbond W956D8MBYA5I)
  • Stockage
    • Le stockage flash SPI de 256 Mbits (Winbond W25Q256JVEIQ) peut être piloté à la fois par le FPGA et le RP2040
    • Stockage flash SPI 64 Mbits (Winbond W25Q64JVZEIQ) pour RP2040
    • Stockage flash SPI 256 Mbits (Winbond W25Q256JVEIQ) pour le stockage bitstream FPGA
    • Emplacement pour carte MicroSD
  • Affichage – Écran LCD couleur de 1,8 pouces contrôlé via SPI
  • Réseau – 1 port Ethernet RJ45 10/100 Mbps
  • USB – 2x ports USB Type-C pour la programmation et l’entrée d’alimentation
  • Série – Interfaces série RS-232 et RS-485 via 2 borniers à 3 broches
  • Déboguer
    • 2x connecteur Ibex JTAG à 10 broches
    • 2x UART bouquetin à 4 broches
    • Connecteur de débogage à 4 broches pour RP2040
    • 2x en-tête FPGA JTAG à 3 broches
    • Programme Cortex 2x 5 broches et débogage
  • Expansion
    • Connecteur Raspberry Pi 40 broches pour RPI Hat
    • Shield Arduino (uniquement les versions 3,3 V prises en charge)
    • 2x connecteur R/A 15 broches pour PMOD
    • 2x microBUS 8 broches Click
    • 2x connecteur Sparkfun QWIIC 4 broches pour I2C
  • Divers
    • 1x interrupteur à glissière Bitstream
    • 1x interrupteur coulissant logiciel
    • 1x bouton RPI
    • 1x joystick tactile 5 positions
    • 1x commutateur de réinitialisation
    • 8x LED utilisateur rouges et vertes
    • 14x LED d’exception de capacité
    • 3x LED vertes pour l’indication du commutateur à glissière Bitstream
    • 2x LED RVB WS2813
    • Commutateur DIP SPST coulissant à 8 positions pour l’utilisateur
    • Commutateur DIP SPST coulissant à 4 positions pour le réglage du VCC
  • Alimentation
    • Entrée +5 V CC via le port Type-C
    • Bornier 2 broches pour +5V
  • Dimension – 125 x 80 mm

Spécifications du système embarqué Sonata v1.0 CHERIoT

La plate-forme Sonata introduit des fonctionnalités d’utilisation telles que la programmation par glisser-déposer avec des fichiers UF2, la commutation bitstream en direct et un environnement de développement basé sur Nix pour des versions reproductibles. Il comprend un cadre de test robuste avec des simulations Verilator et des tests FPGA automatisés. La version v1.0 améliore l’efficacité avec des cartes mémoire mises à jour pour un multiplexage périphérique optimisé et des blocs SPI repensés. Cependant, ces mises à jour rendent les versions logicielles antérieures incompatibles avec la version 1.0. La plateforme est désormais conçue pour une compatibilité logicielle à long terme afin de simplifier les migrations futures.

Avec sa conception de PCB open source et ses interfaces matérielles extensibles, Sonata prend en charge l’expérimentation et le développement d’applications embarquées. Les développeurs peuvent accéder à une documentation et à des ressources détaillées sur le wiki lowRISC et GitHub pour exploiter pleinement les capacités de la plateforme.

Schéma fonctionnel de la carte de développement Sonata V1.0

Les cartes Sonata sont disponibles sur Mouser au prix de 412,50 $, et grâce à leur conception de PCB open source, vous pouvez même créer la vôtre. Pour plus de détails, visitez la page d’annonce du produit.

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

YouTube video