Sistema de reloj STM32 detallado

  

1. En STM32, hay cinco fuentes de reloj, HSI, HSE, LSI, LSE, PLL.

1, HSI es un reloj interno de alta velocidad, oscilador RC, frecuencia de 8MHz.

2, HSE es un reloj externo de alta velocidad, se puede conectar a un resonador de cuarzo /cerámica, o se puede conectar a una fuente de reloj externa, el rango de frecuencia es de 4MHz ~ 16MHz.

3, LSI es un reloj interno de baja velocidad, oscilador RC, la frecuencia es de 40 kHz.

4. El LSE es un reloj externo de baja velocidad conectado a un cristal de cuarzo con una frecuencia de 32.768 kHz.

5, PLL es la salida de frecuencia múltiple de bucle bloqueado en fase, su fuente de entrada de reloj se puede seleccionar como HSI /2, HSE o HSE /2. El multiplicador se puede seleccionar de 2 a 16 veces, pero su frecuencia de salida no debe exceder los 72 MHz.

2.STM32 tiene tres fuentes de reloj diferentes que pueden utilizarse para controlar el reloj del sistema (SYSCLK):

1: reloj del oscilador HSI (reloj interno)

2: Reloj del oscilador HSE (reloj externo, proporcionado por el oscilador de cristal)

3: reloj PLL (reloj de bucle con bloqueo de fase)

3. El reloj RTC se puede derivar de tres fuentes de reloj:

1: reloj oscilador LSE

2: reloj oscilador LSI

3: HSE /128

4. El perro guardián independiente IWDG usa LSI

5.STM32 tiene un módulo USB de velocidad completa cuyo motor de interfaz en serie requiere una fuente de reloj con una frecuencia de 48MHz. Esta fuente de reloj solo puede tomarse de la salida del PLL. Se puede seleccionar para dividir entre 1.5 o 1, es decir, cuando se requiere un módulo USB, el PLL debe estar habilitado y la frecuencia de reloj configurada a 48MHz o 72MHz.

6.STM32 también puede seleccionar una salida de señal de reloj para el pin MCO (PA8)

1, PLL /2

2, reloj oscilador HSI

3, reloj oscilador HSE

4, reloj del sistema SYSCLK

Reloj del sistema SYSCLK, que es la fuente del reloj para la mayoría de los componentes en STM32. El reloj del sistema se puede seleccionar como salida PLL, HSI o HSE. La frecuencia de reloj máxima del reloj del sistema es de 72 MHz. Se divide por el divisor AHB y se envía a cada módulo. El divisor AHB se puede dividir por 1, 2, 4, 8, 16, 64, 128, 256 y 512. La salida del reloj del divisor AHB se envía a los 5 módulos:

1. El reloj HCLK se envía al bus, núcleo, memoria y DMA de AHB.

2. El reloj temporizador del sistema se envía a Cortex después de dividirse por 8.

3, directamente al FCLK del reloj inactivo de Cortex.

4. Dar el crossover APB1. El divisor APB1 se puede dividir entre 1, 2, 4, 8 y 16. La salida es utilizada por el periférico APB1 (PCLK1, frecuencia máxima 36MHz), y la otra se envía al temporizador (Timer) 2, 3, 4 veces. Utilizado por el dispositivo. El multiplicador puede seleccionarse 1 o 2 veces, y los temporizadores 2, 3 y 4 utilizan la salida del reloj.

5, al divisor APB2. El divisor APB2 se puede dividir por 1, 2, 4, 8 y 16. La salida es utilizada por el periférico APB2 (PCLK2, frecuencia máxima 72MHz), y la otra se envía al multiplicador del temporizador 1. El multiplicador puede seleccionarse por 1 o 2 multiplicado, y el temporizador 1 utiliza la salida del reloj. Además, el divisor APB2 tiene una salida para el divisor ADC, que se divide y se envía al módulo ADC para su uso. El divisor ADC se puede dividir por 2, 4, 6 y 8.

De las salidas de reloj anteriores, muchas están habilitadas con control, como el reloj de bus AHB, el reloj central, varios periféricos APB1, periféricos APB2, etc. Cuando necesite usar un módulo, recuerde habilitar primero el reloj correspondiente.

Tenga en cuenta que el multiplicador del temporizador, cuando el cruce del APB es 1, su valor multiplicador es 1, de lo contrario, su valor multiplicador es 2.


Los dispositivos conectados a APB1 (periféricos de baja velocidad) incluyen: interfaz de energía, interfaz de respaldo, CAN, USB, I2C1, I2C2, UART2, UART3, SPI2, vigilancia de ventana, Timer2, Timer3, Timer4. Tenga en cuenta que el módulo USB requiere una señal de reloj de 48 MHz por separado, pero no debe ser el reloj para que funcione el módulo USB, sino solo el reloj utilizado por el motor de interfaz en serie (SIE). El reloj para el funcionamiento del módulo USB debe ser proporcionado por APB1.

Los dispositivos conectados a APB2 (periféricos de alta velocidad) son: UART1, SPI1, Timer1, ADC1, ADC2, todos los puertos IO comunes (PA ~ PE) y puertos IO de segunda función.

Copyright © Conocimiento de Windows All Rights Reserved