🛠 Pilotage GPIO et I2C sur PICO-PTH4

AAEON PICO-PTH4 : Carte Pico-ITX avec SoC Intel Panther Lake · avance · Configurez les entrées-sorties GPIO et le bus I2C de la PICO-PTH4 pour interfacer des capteurs ou afficheurs via les connecteurs internes.

Objectifs

Ce tutoriel avancé vise à exploiter les interfaces de communication embarquées de la carte AAEON PICO-PTH4. Contrairement aux cartes de développement grand public, la PICO-PTH4 est un module industriel Pico-ITX. L'objectif est d'accéder aux connecteurs internes pour lire un capteur via le bus I2C/SMBus et contrôler un périphérique via les lignes GPIO, en utilisant le système d'exploitation Linux standard sous-jacent au SoC Intel Panther Lake.

Matériel nécessaire

Étapes

  1. Préparation matérielle : Coupez l'alimentation. Identifiez le connecteur interne dédié aux entrées-sorties. Sur la PICO-PTH4, les lignes GPIO et le bus SMBus/I2C sont exposés sur des connecteurs à picots ou à broches dédiés. Assurez-vous que la tension logique des composants externes correspond aux niveaux supportés par le SoC Panther Lake (généralement 1.8V ou 3.3V, vérifiez la datasheet).
  1. Activation des interfaces dans le BIOS : Démarrez la carte et accédez au BIOS/UEFI. Naviguez vers les paramètres avancés du chipset. Activez le contrôleur I2C et les fonctionnalités GPIO si elles sont désactivées par défaut pour des raisons de sécurité industrielle.
  1. Configuration logicielle (Linux) : Une fois sous Linux, vérifiez la détection des bus. Utilisez la commande suivante pour lister les adaptateurs I2C disponibles :
ls /dev/i2c-*

Si aucun périphérique n'apparaît, chargez les modules du noyau appropriés pour le contrôleur I2C intégré au SoC Intel Panther Lake.

  1. Installation des outils : Installez les utilitaires nécessaires pour interagir avec les bus physiques :
sudo apt update
sudo apt install i2c-tools gpiod
  1. Lecture du capteur I2C : Connectez le capteur. Scannez le bus pour trouver l'adresse du périphérique (remplacez 0 par l'adaptateur détecté) :
sudo i2cdetect -y 0

Une fois l'adresse identifiée (ex: 0x76), vous pouvez lire les registres via i2cget ou utiliser une bibliothèque Python comme smbus2 pour une intégration plus robuste.

  1. Contrôle GPIO : Pour les GPIO, identifiez les lignes disponibles via :
gpiodetect

Utilisez gpioget pour lire l'état ou gpioset pour changer l'état d'une ligne spécifique, en respectant la configuration du pin multiplexing définie dans le BIOS.

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels