三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

嵌入式开发日记STM32F407为例——RCC

嵌入式开发日记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

← 返回列表