嵌入式开发日记STM32F407为例——RCC
1. RCC(时钟)
1.1 内部时钟和外部时钟概念
内部时钟是指有芯片内部RC振荡电路产生的,精度低,成本低。
外部时钟是指由外部晶振/陶瓷谐振器产生的,精度高,成本高。
1.2HSI、HSE、LSI、LSE概念
● HSI (High-Speed-Internal)振荡器时钟(高速内部时钟)
● HSE (High-Speed-External)振荡器时钟(高速外部时钟)
● LSI (Low-Speed-Internal)振荡器时钟(低速内部时钟)
● LSE (Low-Speed-External)振荡器时钟(低速外部时钟)
1.3MCU系统时钟配置
MCU复位后,默认系统时钟为HSI,若要切换时钟,则一般在系统复位后立即初始化新的时钟源。
先看STM32F407的时钟图:
(1)
- LSE的输入时钟频率应该为32.768Khz
- RTC可配置选择LSI或LSE作为时钟来源。
- 独立看门狗的时钟来源只有LSI
(2)
- MCO1时钟源输出
可输出HSI、LSE、HSE、PLLCLK,1~5分频,可用作测试系统时钟频率或者作为输出控制
- MCO2时钟源输出
可输出SYSCLK、PLLI2SCLK、HSE、PLLCLK,1~5分频
(3)
- HSE的输入时钟频率范围在4-26Mhz
(4)
- STM32F4xx系列具有3个锁相环PLL,一个主锁相环PLL,两个专用锁相环PLLI2S和PLLSAI,三个锁相环共用一个输入时钟和PLLSRC位。
- PLL由HSE和HSI提供时钟信号,输出两种时钟,一种是高速系统时钟,一种是USB OTG FS时钟、随机模拟发生器和SDIO时钟
- PLLI2S和PLLSAI分别用于I2S和SAI1接口上,PLLSAI还能用于LCD-TFT。
- 锁相环的各个参数:P、Q、N、M
PLLQ:USB OTG FS、SDIO和随机数生成器时钟的主PLL分频系数
PLLP:主系统时钟的分频系数
PLLM:PLL和PLLI2S输入时钟的分频系数
PLLN:压控振荡器的分频系数
计算公式:
例如m=8,n=336,p=2,q=4,选择HSE(8Mhz)作为PLL的输入。
SYSCLK=168MHz
