GPIOS_MULTIPLEX - Kasimashi/Systemes-embarques GitHub Wiki
Multiplexages des GPIOs
Sur de grand nombres de microcontrôleurs on peut affecter la sortie d'un GPIO à la sortie d'un périphérique (UART,TIMER,SPI ...).
Exemple de l'ESP32
L'architecture ESP32 inclut la possibilité de configurer certains périphériques sur l'une des broches GPIO, gérées par le GPIO IO MUX. Essentiellement, cette capacité signifie que nous pouvons acheminer le périphérique interne vers une broche physique différente à l'aide du MUX IO et de la matrice GPIO.
Cela signifie que dans le scénario du MCU XYZ, dans l'ESP32, nous pouvons utiliser n'importe lequel des GPIO pour acheminer le SDA (entrée/sortie) et le SCL (sortie).
Pour utiliser cette fonctionnalité, nous devons être conscients de certaines précautions :
-
Certains GPIO sont uniquement en entrée.
-
Certains périphériques ont des signaux de sortie et doivent être utilisés sur des GPIO pouvant être configurés en sortie.
-
Certains périphériques, principalement ceux à grande vitesse, ADC, DAC, Touch et JTAG utilisent des broches GPIO dédiées.
-
Certaines broches sont utilisées pour connecter la mémoire flash sur le module - ce qui les empêche de toute autre utilisation - si un périphérique est acheminé vers l'une de ces broches, l'appareil ne pourra pas démarrer.
⚠️ Avant d'attribuer les broches périphériques à votre conception, vérifiez que les broches que vous utilisez sont appropriées (Se référer à la datasheet du composant). Les broches d'entrée uniquement ne peuvent pas être utilisées pour les périphériques qui nécessitent des signaux de sortie ou d'entrée/sortie.
Le plus grand avantage de cette fonctionnalité est le fait que nous n’avons pas besoin de dépendre entièrement de la broche physique, car nous pouvons la modifier en fonction de nos besoins. Cela peut faciliter le routage de la conception matérielle ou, dans certains cas, corriger une erreur de permutation de broches lors de la phase de conception matérielle.