¿Qué significa estos modos de entrada / salida de pin del microcontrolador?

9

Compré un stm32f103ret6 . Cuando vi el manual de referencia, vi que tiene varios modos de E / S.

Para entrada: flotante, pull-up, pull-down
Para salida: analógica, de drenaje abierto, push-pull

Ya he trabajado con MCU AVR que tienen tri-estado y pull-up. Entonces puedo entender pull-up y pull-down, pero no puedo entender los modos flotante, analógico, de drenaje abierto, push-pull. ¿Qué significan estos modos y cuándo uso cuáles?

brian
fuente

Respuestas:

9

Flotante: ni pull-up ni pull-down. Su entrada va efectivamente directamente a la puerta de un FET en alguna parte. Debe usarse con un controlador externo o solo pullup / down; no lo deje completamente flotando para recoger ESD.

Analógico (salida): no está muy claro en la hoja de datos, pero supongo que esta fue la salida de un DAC en algún lugar y, por lo tanto, puede tomar un rango de valores de voltaje.

Drenaje abierto: si se establece en "0", se activará un FET para conectarlo a tierra. Si se establece en "1", se dejará flotando. Utilizado para I2C y autobuses similares donde hay múltiples controladores de drenaje abierto y una sola resistencia pullup en alguna parte.

Push-pull: contiene transistores de salida alta y baja. Rápido, capaz de conducir cosas que requieren un voltaje positivo, pero que no deben conectarse a otros controladores. Si se establece en "1", conecta el riel de suministro positivo a la salida a través de un FET.

pjc50
fuente
2
La diferencia normal entre "flotante" y "analógico" es que el primero enrutará el pin a un búfer de entrada de nivel lógico, permitiendo que el código (u otra lógica) vea su estado, pero también causando una corriente adicional si no lo hace. No representa un valor alto o bajo válido; este último desconectará el pin del búfer de entrada de nivel lógico, permitiendo así que el voltaje del pin varíe en cualquier lugar entre los rieles de suministro sin causar un consumo excesivo de corriente.
supercat