首页 > 代码库 > STM32F103X datasheet学习笔记---RCC(reset and clock control)

STM32F103X datasheet学习笔记---RCC(reset and clock control)

1.前言

本文主要记录stm32 关于reset 和 clock部分 datasheet的内容。

2.reset

有三种类型的reset:system reset, power reset, backup domain reset

  • system reset

系统reset会将所有的寄存器变成reset值(除clock控制寄存器中的标志位及backup domain中的寄存器)

  • power reset

//TODO

  • backup domain reset

//todo

3. clocks

3.1 总体框图

技术分享

图 clock tree

注:当HSI作为PLL输入,PLL最大时钟频率可以达到36MHZ

 

  • 有三种类型的时钟源来驱动SYSCLK

HSI oscillator clock
HSE oscillator clock
PLL clock

  •  有两种secondary时钟源

40K低速内部RC(LSI RC)驱动单独的watchdog和可选的RTC用于从stop/standby模式自动唤醒

32.768khz低速外部晶振(LSE crystal)用于驱动实时时钟RTC

注:出于功耗节省的目的,每个时钟源可以独立的打开关闭

  • 各时钟简要说明

三个PLL给应用提供了非常灵活的时钟配置。 

AHB和APB2最高时钟可以达到72M

APB1最高时钟可以达到36M

外设时钟除以下均来自于SYSCLK:

  flash memory 接口时钟由HSI时钟提供

  USB OTG时钟来自PLL VCO clk

  I2S2/I2S3来自sysclk或 PLL3 VCO

  MAC时钟来自于外部PHY

system timer(systick)使用AHB时钟/8

ADCS由APB2分频提供

TIMERS时钟:如果APB1 prescaler为1,则与APB时钟一致,否则X2

FCLK作为cotex-m3的空闲运行时钟

 3.2 各时钟介绍

 //todo

 3.3 寄存器介绍

RCC_CR:时钟控制寄存器,时钟源及PLL的开启与关闭

RCC_CFCR:时钟源选择,倍频分频系数的配置

RCC_CIR:时钟中断寄存器,时钟ready中断清除寄存器

RCC_APB1RSTR/RCC_APB2RSTR:APB外设重置寄存器,reset外设模块

RCC_AHBENR:AHB外设时钟使能寄存器

RCC_APBxENR:APB外设时钟使能

RCC_BDCR:备份域控制寄存器,主要指RTC域下寄存器

RCC_CSR:控制状态寄存器,reset相关的一些标志

RCC_AHBRSTR:AHB外设重置寄存器,reset外设模块

RCC_CFCR2:时钟源选择,倍频分频系数的配置

 

STM32F103X datasheet学习笔记---RCC(reset and clock control)