🛠 Interfacer les GPIO et périphériques sur CM3588
Objectifs
Ce tutoriel vise à maîtriser l'accès bas niveau aux entrées-sorties du module CM3588. Vous apprendrez à identifier les broches disponibles sur les quatre connecteurs de 100 broches, à configurer les GPIO via Linux et à tester une interaction simple avec un périphérique externe. La compréhension de cette couche est essentielle pour exploiter les 81 GPIO exposés par le module, distincts des interfaces dédiées comme l'Ethernet 2,5 GbE ou les ports USB 3.1.
Matériel nécessaire
- Module CM3588 (version standard ou Plus)
- Carte de base compatible (Carrier Board) exposant les connecteurs 100 broches
- Système d'exploitation Linux installé (Ubuntu/Debian pour Rockchip)
- Multimètre ou oscilloscope (optionnel pour vérification)
- Kit de composants électroniques : résistances, LED, bouton poussoir
- Câbles de connexion (Dupont)
- Accès root ou sudo sur le terminal
Étapes
- Identification des broches : Consultez le schéma électrique de votre carte de base. Les quatre connecteurs de 100 broches du CM3588 exposent les ressources du SoC RK3588. Notez que les broches sont partagées avec d'autres fonctions (PCIe, MIPI). Pour ce tutoriel, identifiez un GPIO libre non utilisé par le système (par exemple, un GPIO associé à un port inutilisé).
- Installation des outils : Ouvrez un terminal et installez les utilitaires GPIO si nécessaire.
sudo apt update
sudo apt install gpiod-tools
- Listage des GPIO disponibles : Utilisez
gpiodetectpour lister les contrôleurs GPIO disponibles sur le système.
gpiodetect
Identifiez le contrôleur correspondant à votre broche physique.
- Configuration d'une sortie : Supposons que vous ayez identifié le GPIO
gpiochip0ligne15. Configurez-le en sortie pour allumer une LED.
gpioset gpiochip0 15=1
- Lecture d'une entrée : Pour lire l'état d'un bouton connecté en entrée, utilisez
gpioget.
gpioget gpiochip0 15
- Script d'automatisation : Créez un script bash simple pour clignoter une LED.
#!/bin/bash
while true; do
gpioset gpiochip0 15=1
sleep 1
gpioset gpiochip0 15=0
sleep 1
done
Vérification
Vérifiez que la LED s'allume et s'éteint selon le script. Si rien ne se passe, vérifiez les connexions physiques et assurez-vous que la broche n'est pas réservée par le noyau (check /sys/kernel/debug/gpio). Assurez-vous que l'alimentation du module (5-20VDC) est stable et que la consommation reste sous les 20W maximum.
Pour aller plus loin
Explorez l'utilisation des interfaces MIPI CSI/DSI via les mêmes connecteurs pour connecter des caméras ou écrans haute définition, exploitant la capacité 8K@60Hz des sorties HDMI 2.1. Vous pouvez également configurer les lignes PCIe (jusqu'à 4 voies) pour ajouter des cartes d'extension NVMe ou réseau.