¿Cuál es el estado del pin durante el parpadeo del microcontrolador?

2

Sé que al reiniciar, la mayoría de los micros colocan los pines en estado de alta z. ¿Se conserva este estado durante el parpadeo del microcontrolador? ¿Qué precauciones deben tomarse si va a reprogramar el microcontrolador en su tarjeta con dispositivos externos alimentados y conectados? Particularmente estoy interesado en micros STM32F4XX. Gracias

    
pregunta DikobrAz

3 respuestas

1

Ya que va a utilizar el gestor de arranque ROM, la MCU ejecutará el código. No es como JTAG que puede detener el procesador. Es solo que el código en ejecución no es tuyo.

Esto simplemente significa que el chip se comportará exactamente como lo hace en la operación normal, ejecutando su firmware.

Para iniciar el gestor de arranque ROM debes reiniciar la MCU. Esto significa que todos los registros estarán a valores de restablecimiento, excepto los cambios en el firmware de la ROM. Como es obvio, este firmware de fábrica solo cambiará los valores en los registros necesarios, por lo que solo los pines utilizados por el gestor de arranque no tendrán el valor de restablecimiento. Todos los otros pines esperaría tener el valor de restablecimiento.

Si está utilizando pines que usa el cargador de arranque para diferentes operaciones, entonces necesita un multiplexor de hardware. Si, por ejemplo, el cargador de arranque usa algunos pines para la comunicación UART, y su aplicación usa los mismos pines para controlar otra cosa.

Para los otros pines, estarán en modo de entrada. Esto se debe a que es un estado seguro para la MCU (no puede fallar ninguno de sus GPIO), pero puede que no sea seguro para su aplicación, ya que estos pines pueden estar flotando.

Siempre (y no solo por el cargador de arranque), debe agregar resistencias de pull-up o pull-down para definir un estado predeterminado para todas sus salidas, mientras que la MCU no puede controlarlas.

    
respondido por el user3634713
2

Creo que en general usted podría considerar que es una suposición segura de que al reiniciar, todos los pines se configurarán como entradas.

Sin embargo, incluso si la hoja de datos / las notas de la aplicación no lo dicen explícitamente, mire los valores predeterminados en los registros de configuración de pines. Si su registro de dirección de puerto se restablece en 0 y 0 significa entrada, entonces es seguro concluir que todos los pines serán entradas hasta que se establezca lo contrario. A veces esta información no es descaradamente obvia. Por ejemplo, las hojas de datos de Atmel (8 bits) tienden a poner el valor de restablecimiento de un registro particular en texto pequeño, al lado del diagrama del registro.

Si desea obtener más información sobre el proceso de actualización / reinicio, la documentación es su mejor opción. Supongo que existe una nota de aplicación sobre la descarga de código al microcontrolador, probablemente orientada a configurar un entorno de producción o desarrollar un ICSP. En cuanto a las condiciones de restablecimiento, es probable que se cubra en un capítulo de la hoja de datos para el modelo o la familia en particular del microcontrolador.

    
respondido por el Brendan Simpson
0

Si tengo esto correctamente. Aquí están los extractos de la hoja de datos que parecen hacer una imagen:

Durante y justo después del restablecimiento, las funciones alternativas no están activas y los puertos de E / S están configurados en el modo de entrada flotante. Los pines de depuración se encuentran en la función de activación / desactivación de AF después del restablecimiento:

  • PA15: JTDI en pull-up
  • PA14: JTCK / SWCLK en menú desplegable
  • PA13: JTMS / SWDAT en pull-up
  • PB4: NJTRST en pull-up
  • PB3: JTDO en estado flotante

El modo de cargador de arranque integrado se usa para reprogramar la memoria Flash usando uno de los siguientes interfaces seriales:

  • USART1 (PA9 / PA10)
  • USART3 (PB10 / 11 y PC10 / 11)
  • CAN2 (PB5 / 13)
  • USB OTG FS (PA11 / 12) en modo de dispositivo (DFU: actualización de firmware del dispositivo)

Supongo que, a excepción de los pines enumerados, el estado de los pines de reposo se puede imponer mediante pull-ups, pull-downs.

    
respondido por el DikobrAz

Lea otras preguntas en las etiquetas