Consideraciones al usar resistencias internas de pull-up / down

10

Estoy trabajando con microcontroladores STM32. Estos microcontroladores tienen la opción de configurar el pin de entrada como tirar hacia arriba o hacia abajo:

Antes solía dar resistencia externa de subida o bajada cuando fuera necesario, pero ahora me pregunto si puedo eliminar los componentes externos y usar la función de extracción del microcontrolador.

¿Será bueno hacer eso?

¿Hay algún caso de uso en el que deba tomar precauciones adicionales o no usar esta función?

    
pregunta Whiskeyjack

5 respuestas

13

Sí ... Tú puedes ... Es una característica probada. Si ve la estructura de pines en el manual de referencia de STM32, puede ver que tiene componentes necesarios -

Si esto satisface sus requisitos, entonces, puede eliminar los componentes externos.

Editar Recuerde que en el encendido, los pines estarán tristes. ¡Si no obstaculiza su aplicación, es bueno! Por eso es una buena práctica iniciar primero la sección IO y luego continuar con otros periféricos.

    
respondido por el Swanand
15

En general, está perfectamente bien usar las resistencias internas de pull-up o pull-down.

La desventaja es que puede olvidarse de habilitarlo desde el software, que puede causar un poco de dolor de cabeza. Los pull-ups externos siempre estarán ahí. Por lo tanto, no olvide habilitar las internas y guardar una gran cantidad de área de PCB al reducir el número de componente.

Las resistencias internas de pull-up y pull-down del STM32 generalmente tienen un valor entre \ $ 30 \ small ~ k \ Omega \ $ y \ $ 50 \ small ~ k \ Omega \ $.

Siempre debe verificar si su aplicación necesita un cierto valor de resistencia de pull-up o pull-down antes de usar las resistencias internas. Por ejemplo, no los utilice con I 2 C , ya que estos valores serán demasiado altos para eso.

    
respondido por el Bence Kaulics
12

A menos que las resistencias pullup y pulldown estén activas durante el reinicio (sospecho que no lo están, pero no estoy familiarizado con los dispositivos STM32), hay un estado pin indefinido en el reinicio. Esta es una de las principales razones para usar un pullup externo o resistencias desplegables.

    
respondido por el Jason S
10

Como han dicho otros, los despliegues internos y los desplegables están bien siempre y cuando:

  • recuerdas configurarlos,
  • son lo suficientemente fuertes,
  • no terminas luchándolos con un tirón externo, y
  • el voltaje en el inicio y el restablecimiento no es importante.

En el último punto, recuerde que las entradas de CMOS a nivel de voltaje medio pueden causar una corriente de disparo significativa en su par de entrada. Esto puede causar un problema en un sistema de bajo consumo de energía durante el inicio.

En general, las resistencias de tracción externas ofrecerán un diseño más conservador.

    
respondido por el Richard
3

Además de las otras excepciones finas enumeradas en todas las respuestas, las resistencias de recuperación internas son demasiado débiles para I²C en muchos casos.

    
respondido por el Scott Seidman

Lea otras preguntas en las etiquetas