¿Alguien podría compartir el circuito interno (circuito de nivel de transistor) de la sección GPIO en un microcontrolador?
Tengo curiosidad por ver cómo un pin puede servir como entrada o salida (por supuesto, solo uno a la vez). Entiendo que habrá una configuración de interruptor, ¡me gustaría ver el circuito de nivel FET del interruptor!
Bien, aquí hay un diagrama de bloques de un pin de E/S típico de un microcontrolador ( PIC16F616 ) (Figura 4-1 en la hoja de datos).
Los fabricantes no suelen publicar descripciones a nivel de transistores de nada complejo en estos días, pero podemos deconstruir el diagrama de bloques con un poco de esfuerzo.
Si desea esquemas a nivel de transistor de un flip-flop D, sería algo como esto (tomado de una hoja de datos 74HC74):
Donde los bloques TG son puertas de transmisión, similar a CD4016.
Inversores y puertas, puede buscar esquemas a nivel de transistor en hojas de datos CMOS de la serie 4000, como el 4002 NOR de 4 entradas.
Por supuesto, en un chip de microcontrolador no habría redes de protección ESD en los nodos internos, por lo que esa parte del esquema no estaría presente.
Todo esto es una lógica CMOS bastante estándar. Hay dos cosas que son un poco inusuales. Uno es el transistor de canal P marcado como "débil" en el diagrama de bloques de pines GPIO. Es un transistor "débil" (tiene una geometría física pequeña, por lo que Idss es solo microamperios cuando se enciende). Está ahí para actuar como una fuente de corriente pullup (similar a una resistencia pullup). Como puede ver, solo está encendido cuando se selecciona (la habilitación de pullup débil global /RAPU es verdadera), la entrada no está en modo analógico, el pin está triestablecido (en un PIC esto significa que el pin es una entrada, por lo que no t desperdiciar corriente pullup en una salida) y WPUA (la habilitación pullup débil del pin de puerto individual es verdadera).
Los diodos que se muestran son una representación simplificada de la red de protección de pines GPIO.
La otra cosa crítica es el búfer no inversor que impulsa el pin de E/S. Es un tampón tristate. Cuando se selecciona el pin para que sea una entrada (TRISA es verdadero), la salida del búfer se activa a alta impedancia. El esquema será algo así como esta parte de un MC14503 (menos el inversor de entrada, ya que la entrada es una entrada HABILITAR , no una entrada DESHABILITAR ).
Cuando la entrada ENABLE es baja, ambos transistores están apagados y el pin ya no se activa como salida (en un PIC esto ocurre cuando TRISx... donde x es el número de puerto... es verdadero (ALTO)). Un inversor normal tiene encendido el transistor de salida "superior" (canal p) o "inferior" (canal n) en un momento dado. El búfer de tres estados tiene un tercer estado con ambos transistores apagados. El cuarto estado posible (ambos transistores encendidos, a través de la fuente de alimentación) generalmente no se considera muy deseable, y la disposición de puertas que se muestra evita que ocurra.
Esa es la única parte que se cambia cuando el pin se selecciona como entrada o salida (vea la salida TRISA del flip-flop de pestillo en el esquema superior; solo va a la habilitación del búfer de salida). No hay razón para desconectar las entradas, permanecen conectadas a la salida en todo momento, ya que presentan una carga despreciable. Del mismo modo, los periféricos analógicos (si los hay) están diseñados para que no presenten ninguna carga.
Aquí hay una sección detallada de E/S de una mcu LPC177x/8x (página 116).
Creo que su funcionamiento en modo de entrada/salida (así como varias otras características) se explica por sí mismo
leon heller
olin lathrop
mate joven
alexan_e
Insufficient preliminary research
¿Por qué es esa una causa para cerrar una pregunta? En ninguna parte, el centro de ayuda dice "no puede preguntar a menos que ya haya buscado y no haya podido encontrar la respuesta" (además, no sabemos si lo ha intentado). He visto varias preguntas más simples que podrían responderse fácilmente con una búsqueda en Google, pero nadie las acusó de tener "Investigación preliminar insuficiente". En esencia, creo que es bastante difícil encontrar una pregunta que no tenga una respuesta ya publicada en algún lugar del internado, por lo que casi todas las preguntas se ajustan a esa razón para cerrarse.mate joven
Nick Alexeev
alexan_e