¿Debo conectar los pines STM32 no utilizados a tierra?

Estoy diseñando un circuito usando el microcontrolador STM32L152RBT6. Estoy usando el esquema STM32L-DISCOVERY como referencia de buenas prácticas STM32. Me di cuenta de que los pines libres de la MCU del programador no están conectados a tierra (por supuesto, no se pueden conectar en la MCU de demostración en la segunda parte del circuito). Sé que dejar los pines libres sin conexión a tierra es aceptable en los circuitos basados ​​en TTL, pero la tecnología CMOS (en la que se basan los MCU STM32) es diferente. Utiliza transistores polares. El transistor polar ideal consume energía solo en el momento de la conmutación. También son impulsados ​​por voltaje y dejar los pines libres debería aumentar el consumo de energía debido a los voltajes de ruido. Escuché que conectar a tierra los pines no utilizados es una buena práctica para reducir el consumo de energía del CMOS.

poner a tierra los pines no utilizados

¿Por qué no habilitar los pullups?
"[...] dejar pines libres sin conexión a tierra es [aceptable] en [circuitos] basados ​​en TTL" Si eso se refiere a dejar flotando las entradas TTL no utilizadas, entonces no estoy de acuerdo con que sea aceptable. Algunas personas dejaron / dejan las entradas TTL flotantes, pero esto puede causar problemas intermitentes. La mejor práctica en esto es clara, por ejemplo, Fairchild TTL Databook dice: "Es una mala práctica de diseño dejar flotantes las entradas no utilizadas". Las listas de verificación de diseño de la NASA para microcircuitos dicen en la lista de verificación de diseño TTL: "Todos los pines de entrada no utilizados deben vincularse a niveles lógicos altos o bajos [...]".
@SamGibson "Todos los pines de entrada no utilizados deben vincularse a niveles lógicos altos o bajos", pero ¿por qué? La entrada TTL no vinculada que no tiene flujo de corriente puede asumirse como "conectada a 1", ¿no es así?
Las entradas @quasiyoke Open TTL son altas, pero flotan justo en el umbral, por lo que el ruido puede generar un pulso bajo.
@quasiyoke - "¿Por qué?" CL ha respondido amablemente (+1). Si desea una referencia, lea la nota AN-363 de la aplicación Fairchild : "Las entradas no utilizadas en los dispositivos TTL flotan en el umbral, entre 1,1 V y 1,5 V, según el dispositivo y su familia. Si bien esto generalmente simula un "alto", muchos los problemas de aplicación se pueden atribuir a entradas abiertas. Las entradas que flotan en el umbral son muy susceptibles al ruido inducido (transmitido desde otras líneas) y pueden cambiar fácilmente el estado del dispositivo. Una buena regla de diseño es vincular las entradas no utilizadas a un nivel lógico sólido. "
Algunos (?) STM32 pueden configurar sus GPIO en el modo de "entrada analógica" o incluso configurarlos automáticamente después del reinicio. Consulte la hoja de datos de su dispositivo o el CubeMX.

Respuestas (2)

Aunque ya ha aceptado otra respuesta, agregaré más información que puede ayudar a otros lectores en el futuro.

Para los MCU STM32, ST a menudo proporciona un documento "Introducción al desarrollo de hardware [modelo de MCU]", que contiene información útil sobre cómo integrar ese modelo de MCU en sus diseños. Para el STM32L152 que mencionó, el documento relevante es " Introducción al desarrollo de hardware STM32L1xxx ", que dice:

Para aumentar el rendimiento de EMC y evitar el consumo de energía adicional, no se deben dejar libres los relojes, contadores o E/S no utilizados. Las E/S deben conectarse a un nivel lógico fijo de 0 o 1 mediante un pull-up o pull-down externo o interno en el pin de E/S no utilizado. La otra opción es configurar GPIO como modo de salida mediante software. Las funciones no utilizadas deben congelarse o deshabilitarse, que es su valor predeterminado.

También encontrará discusiones útiles en estas preguntas anteriores:

No.

Por lo general, la hoja de datos menciona explícitamente qué hacer con los pines no utilizados. Para la mayoría de los microcontroladores, el enfoque correcto es dejarlos abiertos en la PCB y dejar la lógica pull-up interna habilitada después del arranque (el estado inicial es seguro, por lo que dejarlo también es seguro).

Por lo general, es una mala idea conectar los pines de E/S a un riel de alimentación sin una resistencia en línea. Si alguna vez habilita uno de estos pines como salida, el pin chocará contra el riel de alimentación y perderá.

¡Gracias por tu ayuda! Pero parece que STM32L1 no habilita pull-up/down para sus pines por alguna razón: "Durante y justo después del reinicio, las funciones alternativas no están activas y los puertos de E/S están configurados en modo flotante de entrada " . ( Manual de referencia de STM32L1 , página 174), por lo que es su responsabilidad retirar (por ejemplo) los pines no utilizados. Puedes hacerlo programáticamente.