STM32 experiencia de aprendizaje siete: STM32 diagrama de bloques del sistema de reloj e interpretar la función de correlación

Grabarlo, para facilitar el futuro ~ leer
contenido principal :
1) Lectura diagrama de bloques del sistema de reloj;
2) Reloj de configuración del sistema de interpretación función de correlación.
La información oficial: "Manual de Referencia STM32 chino V10" Capítulo VI de reposición y control de reloj RCC
1. ¿Por qué STM32 fuentes múltiples de reloj que tienen?
Debido a que el STM32 es muy complejo, periféricos y más, pero no todos los periféricos tales requieren de vigilancia un reloj de sistema de alta frecuencia, por ejemplo, sólo se necesita y el reloj RTC a decenas de k. El mismo circuito, un reloj más rápido cuanto mayor sea el consumo de energía, la inmunidad a la interferencia electromagnética y al mismo tiempo más débil, por lo que para la fuente de reloj más complejo multi-MCU en general, un método para resolver estos problemas.
2. Interpretación del diagrama de sistema de reloj
Aquí Insertar imagen Descripción 1) STM32 cinco fuentes de reloj: el HIS (velocidad interna alta), la HSE (velocidad externos alta), el LSI (Interno de baja velocidad), la LSE (externo de baja velocidad), el PLL:
1.1 de alta velocidad dentro de la HSI reloj, la frecuencia del oscilador RC es de aproximadamente 8 MHz, la precisión no es muy alta, ya que el reloj del sistema;
1.2 el HSE es un reloj de alta velocidad externa, puede estar conectada a un resonador de cuarzo / cerámica, o recibir una fuente de reloj externa, el rango de frecuencia de 16 MHz ~ 4 MHz;
1.3 el LSI reloj interno de baja velocidad, la frecuencia del oscilador RC de 40 kHz, proporciona un reloj de baja potencia. guardián independiente fuente de reloj solamente LSI, LSI puede simultáneamente también sirven como una fuente para el reloj RTC;
1.4 el LSE es un reloj externo de baja velocidad, entonces la frecuencia de cristal de 32,768 kHz cuarzo, principalmente como una fuente para el reloj RTC;
por 1,5 para bloquear el PLL salida de frecuencia anillo, su fuente de entrada de reloj seleccionada para HSI / 2, HSE o HSE / 2. Alternativamente multiplicador de 2 a 16 veces, pero no debe exceder la frecuencia de salida máxima es de 72MHz.
2) MCO es una salida de reloj STM32 IO (PA8 conectado al pin) para seleccionar una salida de señal de reloj (por ejemplo de salida dividida en frecuencia del PLL 2, HSI, HSE, o el reloj del sistema), el reloj externo se puede utilizar para otros sistemas proporcionan una fuente de reloj;
. 3) Alternativamente, la fuente de reloj RTC LSI, LSE, HSE y se dividen por 128;
. 4) de la fuente de reloj USB de reloj PLL, el STM32 hay una función de módulo USB velocidad completa, lo que requiere un motor de interfaz serie una fuente de frecuencia de reloj de 48MHz. La fuente de reloj puede obtenerse a partir de la salida de PLL, opcionalmente 1,5 o 1 divisoria divisor, es decir, cuando se desea usar el módulo USB, PLL debe estar activado, y la frecuencia de reloj de 48 MHz o 72 MHz configurado;
. 5) para el SYSCLK reloj del sistema STM32 fuente de reloj de la mayoría de la pieza de trabajo. El SYSCLK reloj del sistema opcionalmente salida PLL, HSI o HSE. La frecuencia máxima de 72MHz;
. 6) de la fuente de reloj otros periféricos son SYSCLK. AHB SYSCLK por el divisor de frecuencia para el módulo respectivo, que comprende:
HCLK 6,1 AHB de reloj de bus, el núcleo, y la memoria utilizada por DMA;
6,2 corteza a la división por 8 sistema de reloj temporizador, es decir SysTick;
6.3 córtex directamente a la FCLK reloj de funcionamiento libre;
6,4 dar APB1 divisor. manera APB1 para periféricos de salida APB1 divisor (PCLK1, la frecuencia máxima de 36 MHz), la otra manera de que el temporizador (temporizador) 2,3,4 doblador;
6,5 dio divisor APB2. divisor de frecuencia APB2 a una salida para periféricos APB2 (PCLK2, la frecuencia máxima de 72 MHz), la otra manera de que el temporizador (Timer) 1 doblador.
Conexiones 7) APB1 arriba es la periféricos de baja velocidad, incluyendo interfaz de potencia, la interfaz de respaldo, CAN, USB, I2C1, I2C2 , UART2, UART3 similares, está conectado a la anteriormente alta velocidad periféricos incluyen APB2 UART1, SPI1, Timer1, ADC1, ADC2 , todo puerto común IO (PA ~ PE), etc. el puerto IO segunda función;
. 8) el reloj CSS sistema de vigilancia, una vez que el fallo de HSE, cambia automáticamente a la SU = la SYSCLK;
. 9) antes de que el uso de cualquier periférica, debe permitir su respectivo reloj;
10) de cinco reloj principal:
10,1 la SYSCLK (reloj del sistema);
10,2 el reloj de bus AHB;
10.3 el reloj de bus APB1 (baja velocidad): velocidad de hasta 36 MHz;
10,4 APB2 y de reloj de bus (alta velocidad): velocidad de hasta 72 MHz;
10,5 reloj de PLL.
3. Reloj registro de configuración

typedef struct
{
  __IO uint32_t CR;                //HSI,HSE,CSS,PLL等的使能和就绪标志位 
  __IO uint32_t CFGR;             //PLL等的时钟源选择,分频系数设定
  __IO uint32_t CIR;               // 清除/使能 时钟就绪中断
  __IO uint32_t APB2RSTR;        //APB2线上外设复位寄存器
  __IO uint32_t APB1RSTR;        //APB1线上外设复位寄存器
  __IO uint32_t AHBENR;          //DMA,SDIO等时钟使能 
  __IO uint32_t APB2ENR;         //APB2线上外设时钟使能 
  __IO uint32_t APB1ENR;         //APB1线上外设时钟使能
  __IO uint32_t BDCR;            //备份域控制寄存器
  __IO uint32_t CSR;             //控制状态寄存器
} RCC_TypeDef;

4. relacionados RCC archivos de cabecera firmware de biblioteca y archivos de origen
4.1 de habilitación de reloj de configuración:
RCC_LSEConfig (), RCC_HSEConfig (), RCC_HSICmd (), RCC_LSICmd (), RCC_PLLCmd () ......
4,2 reloj configuración de la fuente:
RCC_PLLConfig (), RCC_SYSCLKConfig ( ), RCC_RTCCLKConfig () ...
factor seleccionado 4.3 división de configuración:
RCC_HCLKConfig ()
, RCC_PCLK1Config (), RCC_PCLK2Config () ...
4.4 reloj periférico ENABLE:

RCC_APB1PeriphClockCmd();    //APB1线上外设时钟使能
RCC_APB2PeriphClockCmd();    //APB2线上外设时钟使能
RCC_AHBPeriphClockCmd();     //AHB线上外设时钟使能

4.5 Otros configuración de reloj de periféricos:
RCC_ADCCLKConfig (), RCC_RTCCLKConfig ();
parámetros de adquisición de parámetro 4.6 Estado:
RCC_GetClocksFreq (), RCC_GetSYSCLKSource (), RCC_GetFlagStatus ();
4.7 Interrupción las funciones relacionadas con RCC:
RCC_ITConfig (), RCC_GetITStatus (), RCC_ClearITPendingBit () ...
puntos de conocimiento :
1) familiarizadas con el diagrama de bloques del sistema del reloj.

Publicado 24 artículos originales · ganado elogios 2 · Vistas 4126

Supongo que te gusta

Origin blog.csdn.net/Leisure_ksj/article/details/105221583
Recomendado
Clasificación