Estoy trabajando con microcontroladores STM32. Estos microcontroladores tienen la opción de configurar el pin de entrada como pull up o pull down:
Anteriormente solía dar resistencia externa pull-up o pull-down donde fuera necesario, pero ahora me pregunto si puedo eliminar los componentes externos y usar la función pull-down del microcontrolador.
¿Será eso algo bueno que hacer?
¿Hay algún caso de uso en el que deba tomar precauciones adicionales o no usar esta función?
Respuestas:
Sí ... puedes ... Es una característica comprobada. Si ve la estructura del pin en el manual de referencia STM32, puede ver que tiene los componentes necesarios:
Si esto satisface sus requisitos, puede eliminar los componentes externos.
Editar Recuerde que en Power up, los Pins serán tristados. Si no obstaculiza su aplicación, ¡está bien! Es por eso que es una buena práctica iniciar la sección IO primero y luego continuar con otros periféricos.
fuente
En general, está perfectamente bien usar las resistencias internas 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 los internos y ahorrar una gran cantidad de área de PCB al reducir el número de componentes.
Siempre debe verificar si su aplicación necesita un cierto valor de resistencia pull-up o pull-down antes de usar las resistencias internas. Por ejemplo , no los use con I 2 C , ya que estos valores serán demasiado altos para eso.
fuente
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 de pin indefinido en el reinicio. Esta es una razón importante para usar resistencias pullup o pulldown externas.
fuente
Como otros han dicho, los pull-ups internos y pull-down están bien siempre que:
En el último punto, recuerde que las entradas 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 baja potencia durante el arranque.
En general, las resistencias de tracción externas producirán un diseño más conservador.
fuente
Además de las otras excepciones que figuran en todas las respuestas, las resistencias pull-up internas son demasiado débiles para I²C en muchos casos.
fuente