Saltar a contenido

Cómo diseñar el sistema mínimo de un microcontrolador

Este artículo se centrará en la explicación del microcontrolador STM32 (serie F1).

Antecedentes

Cuando aprendemos sistemas embebidos, generalmente comenzamos con microcontroladores. Al estudiar microcontroladores, no solo debemos aprender sobre software, sino también sobre hardware. El diseño que combina software y hardware es lo que realmente hace que un diseño sea excelente.

Cuando hablamos del diseño de hardware de un microcontrolador, primero lo simplificamos al sistema mínimo, que es el diseño más básico que puede realizar las funciones esenciales. En el caso del microcontrolador STM32 (serie F1), el sistema mínimo consta de los siguientes componentes: alimentación, reinicio, reloj, modo de arranque, depuración y descarga.

Alimentación

El STM32 tiene varios tipos de alimentación:

Alimentación principal (VDD / VSS)

La alimentación principal se refiere a los pines marcados como VDD1, VDD2, etc.
Cada pin debe tener un condensador de filtrado de 100nF, colocado lo más cerca posible del pin. Además, se necesita un condensador de tántalo de 10uF en común.

Alimentación de respaldo (VBAT)

El pin VBAT se puede utilizar para alimentación de batería. Si no se utiliza, se puede conectar con VDD. VBAT también requiere un condensador de filtrado de 100nF.
Puede consultar el siguiente circuito de selección de alimentación:

Alimentación del ADC (VDDA / VSSA)

Para mejorar la precisión de conversión, el dispositivo ADC puede obtener energía de aquí. Por lo general, se conecta VDDA a VDD a través de una bobina de choque.

Si no se utiliza el ADC, VDD, VDDA y VREF+ (si está presente) se pueden conectar juntos, y se debe agregar un condensador de tántalo de 1uF y un condensador cerámico de 10nF para filtrar a tierra.

Reinicio

Debido a que el STM32 tiene resistencias de pull-up internas, solo se necesita un condensador de 100nF y un botón externo:

Cuando se enciende, la CPU está en estado de reinicio, en este momento el condensador se carga y el nivel de voltaje del pin NRST se mantiene bajo. Cuando el condensador está completamente cargado, el nivel de voltaje de NRST se vuelve alto y la CPU sale del modo de reinicio y entra en el estado de funcionamiento normal. Cuando se presiona el botón, el condensador se descarga y se vuelve a cargar después de soltar el botón, lo que provoca el reinicio.

Según las pautas de diseño oficiales, se puede seleccionar un condensador de 100nF para garantizar que el nivel bajo de NRST cumpla con el ancho de pulso mínimo requerido para el reinicio de la CPU y pueda reiniciarse correctamente.

Si no se necesita la función de reinicio manual, el botón se puede omitir.

Reloj

Como se muestra en la imagen anterior, el STM32 tiene los siguientes tipos de reloj:

  1. HSI: Reloj interno de alta velocidad, es un oscilador RC interno con una frecuencia de 8MHz.
  2. HSE: Reloj externo de alta velocidad, puede ser un cristal de cuarzo / cerámica o una fuente de reloj externa, con un rango de frecuencia de 4MHz a 16MHz.
  3. LSI: Reloj interno de baja velocidad, oscilador RC con una frecuencia de 40kHz. La fuente de reloj para el watchdog independiente solo puede ser LSI, y también puede ser la fuente de reloj para RTC.
  4. LSE: Reloj externo de baja velocidad, se conecta a un cristal de cuarzo con una frecuencia de 32.768kHz. LSE se utiliza como fuente de reloj para RTC.
  5. PLL: Salida de multiplicación de fase de bucle, su fuente de reloj de entrada puede ser HSI/2, HSE o HSE/2. La multiplicación puede ser de 2 a 16 veces, pero la frecuencia de salida no debe exceder los 72MHz.

Desde el punto de vista de la estabilidad, generalmente utilizamos un cristal externo como fuente de reloj al diseñar. Normalmente se selecciona un cristal de 8MHz como HSE, para facilitar la multiplicación (generalmente hasta 72MHz); se selecciona un cristal de 32.768kHz como LSE, para facilitar la división de frecuencia (32768 es 2 elevado a la 15, lo que permite obtener un tiempo preciso).

En cuanto a la elección del cristal, los activos tienen una mayor precisión y los pasivos son más económicos, generalmente los pasivos son suficientes.
Si se utiliza un cristal pasivo, se deben agregar capacitores de oscilación en ambos extremos para filtrar las interferencias de alta frecuencia en la forma de onda del cristal. El valor del capacitor puede ser de 10 a 40pF.

A continuación se muestra el diseño del circuito del sistema mínimo de STM32 (serie F1). Para obtener información más detallada, puede consultar los siguientes documentos y artículos oficiales.

Configuración del modo de arranque

Generalmente, se debe poner a tierra el pin BOOT0 (conectándolo a tierra a través de una resistencia de 10K), y BOOT1 puede dejarse sin conexión.

Si es necesario cambiar el modo de arranque, también puede seguir el siguiente diseño:

Para obtener más información sobre los modos de arranque, consulte Modos de arranque de STM32

Interfaz de descarga y depuración

Generalmente, utilizamos la interfaz SWD (menos cables, más conveniente), simplemente conecte SWDIO, SWCLK, VCC y GND.
No es necesario agregar resistencias de pull-up/pull-down externas, ya que el STM32 ya las tiene integradas.

Resumen

Esto es todo sobre el diseño del circuito del sistema mínimo de STM32 (serie F1). Para obtener información más detallada, puede consultar los siguientes documentos y artículos oficiales.

Referencias y agradecimientos

Dirección original del artículo: https://wiki-power.com/
Este artículo está protegido por la licencia CC BY-NC-SA 4.0. Si desea reproducirlo, por favor indique la fuente.

Este post está traducido usando ChatGPT, por favor feedback si hay alguna omisión.