¿Cuál es la mejor manera de verificar de forma segura el estado de un pin digital en un circuito en vivo por medios externos?

0

Un pin digital típico de un microcontrolador generalmente tiene 4 estados posibles:

  1. salida, 0 lógico
  2. salida, 1 lógico
  3. entrada, tri-estado (alta impedancia)
  4. entrada, resistencia interna de pull-up

En un circuito en vivo, ¿cuál es el método seguro más simple para verificar en cuál de los 4 estados anteriores se encuentra un pin específico? Supongamos que tenemos un multímetro simple y componentes pasivos básicos, si es necesario. Los pines de tierra (GND) y de potencia (Vcc) son conocidos.

# 1 es el más sencillo de identificar. Si mido el voltaje entre Vcc y el pin, y es el mismo que entre Vcc y GND, lo encontramos.

El # 3 también debería ser obvio, porque en teoría no genera ni hunde ninguna corriente significativa, por lo que no debería medir ningún voltaje significativo, ni entre el pin y la GND, ni entre el pin y Vcc. Sin embargo, debido a las características de los multímetros digitales, y ese estado triple no tiene una resistencia literalmente infinita, ¿puede este método fallar? No quisiera medir la resistencia en un circuito en vivo.

¿Qué hay de diferenciar # 2 y # 4? Ambos darían como resultado lo mismo: el pin tendrá el mismo potencial que Vcc. Como los pines en la configuración de salida generalmente pueden generar más corriente, supongo que podría ponerle más y más carga, pero esto no está exento de riesgos. Además, esto podría depender en gran medida del tipo de circuito que queremos probar.

Editar: Supongamos que el pin no cambia de estado mientras se realiza la medición.

    
pregunta vsz

1 respuesta

2

Piense en el pin como una fuente de Thevenin. Para distinguir los cuatro estados que has enumerado, debes determinar dos parámetros: el voltaje de la fuente de Thevenin y la resistencia de la fuente de Thevenin.

Para hacer esto, necesita medir el voltaje y la corriente del pin, y debe hacer esto en relación con al menos dos referencias externas diferentes (por ejemplo, Gnd y Vcc). Solo entonces tendrá suficiente información para derivar los parámetros de Thevenin.

    
respondido por el Dave Tweed

Lea otras preguntas en las etiquetas