🛠 Pilotage GPIO et Lecture Capteur Analogique sur HPM5100
Objectifs
Ce tutoriel vise à maîtriser l'interaction homme-machine et la perception de l'environnement sur la carte HPM5100. Vous apprendrez à configurer les ports GPIO pour commander un affichage simple et à exploiter les convertisseurs analogiques-numériques (ADC) SAR 16 bits intégrés pour lire un capteur analogique. L'enjeu est de comprendre comment le cœur RISC-V à 400 MHz gère les entrées-sorties critiques sans latence excessive, en s'appuyant sur les périphériques mixtes-signal puissants de cette puce.
Matériel nécessaire
- Carte de développement HPM5100 (SDK version 1.13.0+)
- Un capteur analogique simple (ex : potentiomètre ou LDR)
- Une LED ou un petit écran OLED (via SPI ou GPIO)
- Câbles de connexion (Dupont)
- PC avec outil de développement compatible HPMicro SDK
Étapes
- Configuration de l'environnement : Assurez-vous que votre SDK HPMicro est à jour. Ouvrez votre IDE ou éditeur de texte et créez un nouveau projet basé sur l'exemple
hello_worldpour garantir la liaison correcte avec la chaîne de compilation RISC-V.
- Initialisation des GPIO : Dans votre code source, incluez les en-têtes nécessaires (
hpm_gpio.h). Configurez la broche connectée à la LED en sortie push-pull. Pour l'affichage, si vous utilisez SPI, activez le périphérique SPI correspondant via le Pin Multiplexer (PinMux). Le HPM5100 offre une grande flexibilité de routage des broches, vérifiez la datasheet pour confirmer les fonctions alternatives.
- Configuration de l'ADC SAR : Le HPM5100 possède quatre ADC SAR 16 bits. Sélectionnez l'ADC connecté à votre capteur. Configurez le mode de déclenchement (logiciel ou timer) et le nombre d'échantillons. La résolution de 16 bits offre une précision élevée pour la détection fine.
- Boucle de lecture et traitement : Dans la boucle principale, lancez une conversion ADC. Attendez la fin de conversion via les drapeaux d'interruption ou le polling. Lisez la valeur brute (0 à 65535 pour 16 bits).
- Commande de la sortie : Mappez la valeur lue sur l'intensité de la LED (si PWM disponible sur cette broche) ou affichez la valeur sur l'écran. Utilisez les amplificateurs opérationnels internes (PGA) si le signal du capteur est trop faible pour l'entrée directe de l'ADC.
Vérification
Ouvrez le moniteur série ou observez l'affichage. Tournez le potentiomètre ou changez l'éclairage de la LDR. La valeur affichée doit varier linéairement entre les valeurs minimales et maximales. La LED doit réagir proportionnellement. Vérifiez l'absence de bruit excessif grâce à la résolution 16 bits.
Pour aller plus loin
Explorez l'utilisation des DMA pour transférer les données ADC vers la SRAM sans intervention du CPU, libérant ainsi le cœur RISC-V pour d'autres tâches critiques comme la communication CAN FD.
Autres tutoriels pour cette carte
- HPM5100 : Premier branchement et mise en route
- Utiliser l'USB OTG comme stockage de masse
- HPM5100 : Premier branchement et mise en route
- HPM5100 : Premier branchement et mise en route avancée
- HPM5100 : Maîtrise avancée des E/S GPIO et interfaces capteurs
- Premiers pas avec l'acquisition analogique sur HPM5100