Vidéo, micro-SD et stockage d’exécution

Vidéo GPDI

ULX3S fournit une sortie GPDI. Hazard3-Doom l’utilise pour le pipeline vidéo à framebuffer indexé. Le mode Doom principal est 320x200 en couleurs indexées, avec conversion de palette par le matériel. La cible compacte 12F reste intentionnellement sur ce chemin 320x200.

Voir Pipeline vidéo et Console Web Serial et capture d’écran HDMI.

Écrans HDMI et exemple de boîtier

La sortie GPDI peut piloter un écran HDMI avec la connexion GPDI-vers-HDMI appropriée. Le chemin vidéo Hazard3-Doom n’est pas lié à un moniteur précis : l’écran Elecrow de sept pouces est un exemple matériel pratique, mais d’autres écrans HDMI peuvent également être utilisés.

Un boîtier imprimable en 3D est disponible pour construire un système de démonstration ULX3S compact autour de l’écran HDMI IPS Elecrow 7 pouces 1024x600. Il regroupe l’ULX3S et l’écran tout en conservant l’accès aux commandes de la carte, aux LED d’état, aux connecteurs GPIO/JTAG, aux commandes de l’écran et au routage des câbles. Des options sont prévues pour un support, des pieds de développement, un cadre OLED et un petit ventilateur interne.

Le boîtier est mécaniquement conçu pour ce panneau Elecrow ; il n’est pas requis par Hazard3-Doom et ne limite pas la sortie vidéo FPGA à cet écran. Pour les fichiers de conception, les notes d’impression, l’assemblage et les remarques de compatibilité, voir :

Avertissement

La documentation du boîtier contient des précautions propres au câblage. N’utilisez notamment pas l’entrée HDMI externe du boîtier en même temps que le chemin vidéo ULX3S connecté en interne, et ne branchez pas simultanément les entrées USB tactile et USB d’alimentation de l’écran. Consultez le dépôt du boîtier avant l’assemblage.

Stockage micro-SD

La micro-SD est un stockage amovible non volatil. Le démarrage autonome ULX3S peut y lire DOOM.IMG et DOOM.WAD.

  • la flash SPI stocke la configuration FPGA persistante ;

  • l’EBR peut contenir le moniteur résident ;

  • la SDRAM est la mémoire de travail volatile ;

  • la micro-SD stocke les fichiers amovibles.

Un démarrage autonome de Doom sur ULX3S traverse donc plusieurs couches :

SPI flash -> ECP5 configuration
    -> resident monitor in EBR
    -> SDRAM initialization
    -> micro-SD/FAT file reads
    -> DOOM.IMG + DOOM.WAD
    -> execution from the Hazard3 memory map

Partage SD avec l’ESP32

Les signaux micro-SD sont partagés entre FPGA et ESP32. Lorsque Hazard3 possède le bus SD, les GPIO14, GPIO15, GPIO2 et GPIO13 de l’ESP32 doivent rester en haute impédance.

Important

La propriété du bus SD est une règle électrique, pas seulement un verrou logiciel. Deux pilotes actifs sur une même ligne peuvent provoquer des erreurs et une contention électrique.

Voir Démarrage à froid depuis micro-SD et Prise en charge SAO / I2C.

La carte propose aussi audio et connecteur d’affichage ; ces ressources restent utiles pour l’expérimentation mais ne sont pas requises par le chemin vidéo/stockage Doom normal.

Extension audio et affichage

La carte amont possède également un connecteur audio 3,5 mm et un petit connecteur d’affichage. Ce sont des ressources ULX3S utiles, mais elles ne sont pas nécessaires au chemin vidéo/stockage normal de Hazard3-Doom. Leur présence ne signifie pas que le SoC Doom actuel commande tous les périphériques de la carte.