Diagramme schématique de la structure GPIO et configuration du mode (prenez STM32 comme exemple)

Table des matières

Schéma équivalent GPIO

Configuration du mode d'entrée

Configuration du mode de sortie

fonction de multiplexage

Configuration de la simulation

Guide de configuration GPIO


Les GPIO STM32 sont disponibles dans diverses configurations. Chaque broche GPIO peut être configurée individuellement par logiciel dans l'un des modes suivants :

• Entrée flottante

• Pull-up d'entrée

• Liste déroulante d'entrée

• Simulateur

• Sortie à drain ouvert avec pull-up ou pull-down

• Sortie push-pull avec pull-up ou pull-down

• Fonction alternative push-pull avec pull-up ou pull-down

• Vidange ouverte à fonction alternée avec pull-up ou pull-down

Schéma équivalent GPIO

Les produits STM32 intègrent trois principales structures de base GPIO :

• Compatible trois volts (en abrégé TC).

La figure 1 montre la structure de graphe GPIO équivalente.

• Tolérance de trois volts (en abrégé TT).

• Tolérance cinq volts (en abrégé FT)

La figure 2 montre la structure de graphe GPIO équivalente de TT ou FT.

8e20586f07de47088c970da609ecd3e3.jpeg

24272af8d5c945898d5d1136ea97c1b3.jpeg

 

Configuration du mode d'entrée

Lorsqu'une broche d'E/S de périphérique STM32 est configurée comme entrée, l'une des trois options suivantes doit être sélectionnée :

• Sortie avec pullup interne. Les résistances pull-up sont utilisées dans les dispositifs STM32 pour garantir des niveaux logiques bien définis en cas de signaux d'entrée flottants. Selon les exigences de l'application, une résistance pull-up externe peut être utilisée.

• Entrée avec pull-down interne. Les résistances pull-down sont utilisées dans les dispositifs STM32 pour garantir des niveaux logiques bien définis en cas de signaux d'entrée flottants. Selon les exigences de l'application, un menu déroulant externe peut être utilisé.

• Entrée flottante. Le niveau du signal suit le signal externe. Lorsqu'il n'y a pas de signal externe, le déclencheur de Schmitt bascule de manière aléatoire entre les niveaux logiques provoqués par le bruit externe. Cela augmente la consommation globale.

 

Lorsqu'il est programmé en tant qu'entrée, un port d'E/S présente les caractéristiques suivantes :

• Le tampon de sortie est désactivé ;

• L'entrée trigger de Schmitt est activée ;

• Déterminer s'il faut activer les résistances pull-up ou pull-down en fonction de la valeur dans le registre GPIOx_PUPDR ;

• Le registre de données d'entrée échantillonne les données sur la broche d'E/S tous les 1 cycle d'horloge AHB ;

• L'état des E/S peut être obtenu en lisant le registre de données d'entrée GPIOx_IDR ;

 

Configuration du mode de sortie

Lorsqu'une broche d'E/S d'un périphérique STM32 est configurée en tant que sortie, l'une des deux options suivantes doit être sélectionnée :

• Mode de sortie push-pull :

La sortie push-pull utilise en fait deux transistors : un PMOS et un NMOS. Chaque transistor s'allume pour amener la sortie au niveau approprié :

- Lorsque la sortie doit être conduite à un état haut, le transistor supérieur (PMOS) est activé

- Le transistor inférieur (NMOS) conduit lorsque la sortie doit être conduite à l'état bas

Le contrôle des deux transistors se fait via le registre de type de sortie du port GPIO (GPIOx_OTYPER).

L'écriture d'un 0 sur le bit correspondant du registre de sortie (GPIOx_ODR) active le transistor NMOS, forçant la broche d'E/S à la masse.

L'écriture d'un 1 sur le bit correspondant du registre de sortie (GPIOx_ODR) active le transistor PMOS, forçant la broche d'E/S sur VDD.

• Mode de sortie à drain ouvert :

Le mode de sortie à drain ouvert n'utilise pas de transistor PMOS, mais nécessite une résistance de rappel.

Lorsque la sortie doit passer au niveau haut, le transistor NMOS doit être désactivé et le niveau est tiré au niveau haut uniquement par la résistance de rappel. Cette résistance pull-up peut être interne, généralement de 40 kOhm, et est activée via le registre pull-up/pull-down du port GPIO (GPIOx_PUPDR).

 

Lorsqu'il est programmé en tant que sortie, un port d'E/S a les caractéristiques suivantes :

• Les tampons de sortie peuvent être configurés en drain ouvert ou push-pull ;

• L'entrée trigger de Schmitt est activée ;

• Déterminer s'il faut activer les résistances pull-up ou pull-down en fonction de la valeur dans le registre GPIOx_PUPDR ;

• La valeur écrite dans le registre de données de sortie GPIOx_ODR définit l'état de la broche d'E/S ;

• Les données écrites dans GPIOx_ODR peuvent être lues à partir de GPIOx_IDR, qui est mis à jour à chaque cycle d'horloge AHB ;

 

fonction de multiplexage

Sur certaines broches GPIO STM32, l'utilisateur peut choisir une entrée/sortie de fonction alternative. Chaque broche peut être multiplexée avec jusqu'à 16 fonctions périphériques, telles que des interfaces de communication (SPI, UART, I2C, USB, CAN, LCD, etc.), des minuteries, des interfaces de débogage, etc.

La fonction alternative de la broche sélectionnée est configurée via deux registres :

• GPIOx_AFRL (broches 0 à 7)

• GPIOx_AFRH (broches 8 à 15)

 

Lors de la programmation d'un port d'E/S comme fonction alternative :

• Les tampons de sortie peuvent être configurés en drain ouvert ou push-pull

• Tampons de sortie pilotés par les signaux des périphériques (activation de l'émetteur et données)

• L'entrée de déclenchement de Schmitt est activée

• En fonction de la valeur dans le registre GPIOx_PUPDR s'il faut activer les résistances pull-up ou pull-down

Le registre de données d'entrée échantillonne les données sur la broche d'E/S tous les 1 cycle d'horloge AHB.

L'accès en lecture aux registres de données d'entrée obtient l'état des E/S.

 

Configuration de la simulation

Certaines broches GPIO STM32 peuvent être configurées en mode analogique, permettant l'utilisation de périphériques internes ADC, DAC, OPAMP et COMP. Pour utiliser les broches GPIO en mode analogique, considérez les registres suivants :

• - GPIOx_MODER, sélection du mode (entrée, sortie, multiplexé, analogique)

• - GPIOx_ASCR, sélectionnez la fonction souhaitée, ADC, DAC, OPAMP ou COMP

 

Lors de la programmation d'un port d'E/S en tant que configuration analogique :

• Le tampon de sortie est désactivé

• L'entrée de déclenchement de Schmitt est désactivée, il n'y a donc aucune consommation par valeur analogique sur la broche d'E/S. La sortie du trigger de Schmitt est forcée à une valeur constante (0).

• Les résistances pull-up et pull-down sont désactivées par le matériel

Un accès en lecture au registre des données d'entrée a la valeur "0".

 

Guide de configuration GPIO

ddf62f38d9204b028314af97177323a6.jpeg

1dcc5b9f940d42839625bd79cba91919.jpeg

 

Je suppose que tu aimes

Origine blog.csdn.net/qq_30095921/article/details/130014551
conseillé
Classement