Modo de trabajo GPIO

1. Clasificación

1. Flotante: como su nombre indica, está flotando en el aire. El lado superior se tira hacia arriba con una cuerda y el lado inferior se tira con una cuerda y se hunde. 
2. Desagüe abierto: es equivalente a un transistor NPN conectado al puerto de salida, y solo e está conectado, b. El polo c está abierto, puede conectar una resistencia a 3.3V, o puede conectar una resistencia a 5V, de modo que cuando salga 1, puede ser 5V o 3.3 V. Pero no Cuando la resistencia está conectada al pull-up, la salida es alta. 
3. Push-pull: hay push and pull, el nivel del puerto IO se determina en cualquier momento y no pull-up externo o se requiere resistencia pull-down.

2. Método de entrada

(1) Entrada analógica GPIO_Mode_AIN
(2) Entrada flotante GPIO_Mode_IN_FLOATING
(3) Entrada desplegable GPIO_Mode_IPD
(4) Entrada desplegable GPIO_Mode_IPU

Tres, método de salida

(1) GPIO_Mode_Out_OD salida de drenaje abierto
(2) GPIO_Mode_Out_PP salida push-pull
(3) GPIO_Mode_AF_OD salida multiplexada de drenaje abierto
(4) GPIO_Mode_AF_PP salida multiplexada push-pull

Cuatro, resumen

El circuito push-pull son dos transistores o MOSFET con los mismos parámetros, que existen en el circuito de manera push-pull, cada uno responsable de las tareas de amplificación de forma de onda de medio ciclo positivo y negativo. Cuando el circuito está funcionando, solo uno de los dos interruptores de potencia simétricos se encienden a la vez, por lo que la pérdida de conducción es pequeña y la eficiencia alta. La salida puede absorber corriente a la carga o extraer corriente de la carga. La etapa de salida push-pull no solo mejora la capacidad de carga del circuito, sino que también aumenta la velocidad de conmutación.

Salida de drenaje abierto : el terminal de salida es equivalente al colector del triodo. Para obtener un estado de alto nivel, se necesita una resistencia pull-up. Es adecuada para conducción de tipo de corriente, y su capacidad para absorber corriente es relativamente fuerte (generalmente dentro de 20ma)
Modo de drenaje abierto El circuito tiene las siguientes características:
1. Utilice la capacidad de conducción del circuito externo para reducir la conducción interna del IC. Cuando el MOSFET interno del IC está encendido, la corriente de la unidad fluye desde el VCC externo a través del pull-up R y el MOSFET a GND. Solo se requiere una corriente de accionamiento de puerta baja dentro del IC.
2. En términos generales, el drenaje abierto se usa para conectar dispositivos de diferentes niveles para que coincidan con el nivel, porque cuando el pin de drenaje abierto no está conectado a una resistencia pull-up externa, solo puede generar un nivel bajo, si es necesario tener una salida al mismo tiempo La función de alto nivel requiere una resistencia pull-up Una buena ventaja es que al cambiar el voltaje de la fuente de alimentación pull-up, se puede cambiar el nivel de transmisión. Por ejemplo, agregar una resistencia pull-up puede proporcionar una salida de nivel TTL / CMOS, etc. (La resistencia de la resistencia pull-up determina la velocidad de la transición de nivel lógico. Cuanto mayor sea la resistencia, menor será la velocidad, menor será el consumo de energía, por lo que la elección de la resistencia de carga debe tener en cuenta el consumo de energía y la velocidad).
3. Proporcionado por OPEN-DRAIN Tiene un modo de salida flexible, pero también tiene su debilidad, que es el retardo del flanco ascendente. Debido a que el borde ascendente carga la carga a través de una resistencia pasiva pull-up externa, cuando la resistencia es pequeña, el retraso es pequeño, pero el consumo de energía es grande; de ​​lo contrario, el retraso es grande y el consumo de energía es pequeño. Por lo tanto, si hay un requisito de retraso, se recomienda utilizar la salida de flanco descendente.
4. Se pueden conectar varios pines de salida de drenaje abierto a una línea. Con una resistencia pull-up, se forma una relación "lógica Y" sin agregar ningún dispositivo. Este es también el principio de I2C, SMBus y otros buses para determinar el estado de ocupación del bus. Suplemento: ¿Qué es "línea y"? :
En un nodo (línea), conecte una resistencia pull-up a la fuente de alimentación VCC o VDD y el colector C o drenaje D de n transistores NPN o NMOS, y el emisor E o la fuente S de estos transistores están conectados a tierra. siempre que un transistor se sature, este nodo (línea) se tira al nivel del suelo. Debido a que la base de estos transistores inyecta corriente (NPN) o la puerta agrega un nivel alto (NMOS), el transistor se saturará, por lo que la relación entre estos bases o puertas a este nodo (línea) es lógica NOR. Si se agrega un inversor después de este nodo, es lógica OR.
De hecho, se puede entender simplemente como: Cuando los pines están conectados entre sí, una resistencia pull-up externa está conectado. Si un pin genera un 0 lógico, es equivalente a la conexión a tierra, y el circuito paralelo es "equivalente a ser cortocircuitado por un cable", por lo que el nivel lógico del circuito externo es 0, y el resultado de Y es 1 lógico solo cuando ambos son de alto nivel.

Dado que la entrada flotante se usa generalmente para la entrada de clave externa, combinada con la parte de entrada del circuito en la figura, entiendo que en el estado de entrada flotante, el nivel de IO es incierto y está completamente determinado por la entrada externa. el pin se deja flotando En el caso de la lectura, el nivel del puerto es incierto.
Entrada pull-up / entrada pull-down / entrada analógica: estos conceptos son fáciles de entender y pueden entenderse literalmente con facilidad.
Multiplexado de salida de drenaje abierto, la salida push-pull multiplexada:. Se puede entender como la configuración cuando el puerto GPIO se utiliza como la segunda función (es decir, que no se utiliza como un puerto IO de propósito general)
Por último, resumir la uso:

Elija el modo IO en STM32

(1) Entrada flotante _IN_FLOATING —— Entrada flotante, se puede utilizar como identificación de LLAVE, RX1
(2) Con entrada pull-up _IPU-IO entrada de resistencia pull-up interna
(3) Con entrada pull-down _IPD-IO internal pull- hacia abajo Entrada de resistencia
(4) Entrada analógica _AIN —— Entrada analógica ADC o ahorro de energía con bajo consumo de energía
(5) Salida de drenaje abierto _OUT_OD —— La salida IO 0 está conectada a GND, la salida IO 1, flotante y una extracción externa- Se requiere resistencia, puede realizar el alto nivel de salida. Cuando la salida es 1, la resistencia pull-up eleva el estado del puerto IO, pero debido a que es un modo de salida de drenaje abierto, el puerto IO se puede cambiar a un nivel bajo o sin cambios mediante un circuito externo. Puede leer el cambio de nivel de entrada IO para realizar la función bidireccional IO de C51
(6) Salida push-pull _OUT_PP —— Salida IO 0-conectar a GND, salida IO 1-conectar a VCC, el valor de entrada leído es desconocido
(7) Función de multiplexación Salida push-pull _AF_PP Funciones periféricas en chip (SCL, SDA de I2C)
(8) Salida de drenaje abierto de funciones multiplexadas _AF_OD Funciones periféricas en chip (TX1, MOSI, MISO.SCK.SS)

Ejemplo de configuración STM32:

(1) Use la salida de drenaje abierto _OUT_OD para I2C analógico y conecte las resistencias pull-up a la salida correcta de 0 y 1; al leer el valor, primero GPIO_SetBits (GPIOB, GPIO_Pin_0); tire hacia arriba, y luego puede leer el valor de IO; use GPIO_ReadInputDataBit (GPIOB, GPIO_Pin_0);
(2) Si no hay una resistencia pull-up, IO es alto por defecto; si necesita leer el valor de IO, puede usar la entrada pull-up _IPU y la entrada flotante _IN_FLOATING y salida de drenaje abierto _OUT_OD;

 

Supongo que te gusta

Origin blog.csdn.net/m0_46383618/article/details/113812270
Recomendado
Clasificación