STM32F10xx复位和时钟控制(RCC)一览
2016-10-30 10:45
295 查看
以下内容适用于小/中/大容量产品。互联网产品于此有差别。
一 时钟
RCC,是复位和时钟控制的缩称。顾名思义,其相关feature涉及到两大主题:复位和时钟控制。先看下哪些寄存器跟复位相关
然后来看STM32F10xx的复位。
STM32F10XX支持三种形式复位:系统复位、上电复位和备份区域复位。
当以下事件中之一发生时,产生备份区域复位。
55/754
1. 软件复位,备份区域复位可由设置备份域控制寄存器
(RCC_BDCR)(见6.3.9节)中的
BDRST位产生。
2. 在VDD和VBAT两者掉电的前提下,
VDD或VBAT上电将引发备份区域复位。
二 clock
总框图如下:
HSE,LSE,HSI和LSI是最原始的真实时钟源(也就是不是由其他时钟经分频或者倍频生成)。
首先看PLLCLK,它有两个时钟源选择:HSI和HSE。受到寄存器位PLLXTPRE(RCC_CFGR的bit17),PLLSRC(RCC_CFGR的bit16)和PLLMUL(RCC_CFGR的bit[21:18])控制。
PLLXTPRE决定是否对HSE进行二分频。
PLLSRC决定选择HSI还是HSE(此时已经不是最原始的时钟源。HSI是经过二分频的。HSE是否分频由PLLXTPRE决断)。
PLLMUL决定上述时钟的倍频系数。
综上,PLLCLK可表示成:
PLLCLK = [HSE/2^PLLXTPRE, HSI/2]{1} * PLLMUL
系统时钟SYSCLK有三种选择:PLLCLK,HSI和HSE。由时钟配置寄存器RCC_CFGR的bit[1:0]控制。
AHB时钟的分频系数由RCC_CFGR的bit[7:4]控制。
进一步,APB2和APB1的时钟分频系数也由RCC_CFGR控制。
RTC时钟有三种选择:HSE/128,LSE(32.768kHz)和LSI。是由ECC_BDCR bit[9:8]控制。
另外,LSI固定作为独立看门狗(IWDG)的时钟源。
PLLCLK/2,HSE,HSI和SYSCLK可以作为主时钟输出(MCO),由RCC_CFGR bit[26:24]决定。
USB使用PLLCLK经过分频后的时钟。
I2S2和I2S3使用SYSCLK。
SDIO,AHB总线,核心存储器,DMA,FSMC(Flexible Static Memory Controller,可变静态存储控制器。博文:http://blog.csdn.net/artmcu/article/details/8162510)使用AHB时钟。
AHB时钟八分频后作为Contex系统时钟。
FCLK指的是自由运行时钟。
AHB二分频后作为SDIO AHB接口的时钟。也就是说AHB除了桥接(APB)到外设之外,还通过接口电路连接到SD card。
至于AHB时钟的去向,在此先不探究。
一 时钟
RCC,是复位和时钟控制的缩称。顾名思义,其相关feature涉及到两大主题:复位和时钟控制。先看下哪些寄存器跟复位相关
寄存器 | 描述 |
RCC_APB2RSTR | 控制使用APB2时钟的硬件。包括ADC1-3, GPIOA-G, USART1, TIM1, TIM8, SPI1, AFIO |
RCC_APB1RSTR | 控制使用APB1时钟的硬件。包括DAC, PWR, CAN, BKP, USB, I2C1-2, UART2-5, SPI2-3, WWDG, TIM2-7 |
RCC_BDCR | 备份域软件复位。另外,还控制RTC时钟选择和时钟使能和LSE时钟使能、ready flag、by-pass |
然后来看STM32F10xx的复位。
STM32F10XX支持三种形式复位:系统复位、上电复位和备份区域复位。
当以下事件中之一发生时,产生备份区域复位。
55/754
1. 软件复位,备份区域复位可由设置备份域控制寄存器
(RCC_BDCR)(见6.3.9节)中的
BDRST位产生。
2. 在VDD和VBAT两者掉电的前提下,
VDD或VBAT上电将引发备份区域复位。
二 clock
总框图如下:
HSE,LSE,HSI和LSI是最原始的真实时钟源(也就是不是由其他时钟经分频或者倍频生成)。
首先看PLLCLK,它有两个时钟源选择:HSI和HSE。受到寄存器位PLLXTPRE(RCC_CFGR的bit17),PLLSRC(RCC_CFGR的bit16)和PLLMUL(RCC_CFGR的bit[21:18])控制。
PLLXTPRE决定是否对HSE进行二分频。
PLLSRC决定选择HSI还是HSE(此时已经不是最原始的时钟源。HSI是经过二分频的。HSE是否分频由PLLXTPRE决断)。
PLLMUL决定上述时钟的倍频系数。
综上,PLLCLK可表示成:
PLLCLK = [HSE/2^PLLXTPRE, HSI/2]{1} * PLLMUL
系统时钟SYSCLK有三种选择:PLLCLK,HSI和HSE。由时钟配置寄存器RCC_CFGR的bit[1:0]控制。
AHB时钟的分频系数由RCC_CFGR的bit[7:4]控制。
进一步,APB2和APB1的时钟分频系数也由RCC_CFGR控制。
RTC时钟有三种选择:HSE/128,LSE(32.768kHz)和LSI。是由ECC_BDCR bit[9:8]控制。
另外,LSI固定作为独立看门狗(IWDG)的时钟源。
PLLCLK/2,HSE,HSI和SYSCLK可以作为主时钟输出(MCO),由RCC_CFGR bit[26:24]决定。
USB使用PLLCLK经过分频后的时钟。
I2S2和I2S3使用SYSCLK。
SDIO,AHB总线,核心存储器,DMA,FSMC(Flexible Static Memory Controller,可变静态存储控制器。博文:http://blog.csdn.net/artmcu/article/details/8162510)使用AHB时钟。
AHB时钟八分频后作为Contex系统时钟。
FCLK指的是自由运行时钟。
AHB二分频后作为SDIO AHB接口的时钟。也就是说AHB除了桥接(APB)到外设之外,还通过接口电路连接到SD card。
至于AHB时钟的去向,在此先不探究。
相关文章推荐
- STM32L0 复位和时钟控制 Reset and clock control (RCC)
- 嵌入式学习--work4 电源控制器(PWR)/复位和时钟控制(RCC)
- STM32复位时钟控制模块RCC
- 复位和时钟控制(RCC)
- STM32时钟控制RCC
- STM32 RCC复位与时钟配置
- STM32F10xx时钟系统
- LPC17XX 数据手册摘要之系统时钟与功率控制
- STM32时钟控制RCC探究
- STM32F10XX时钟系统框图及说明
- STM32时钟控制RCC探究
- STM32时钟控制RCC探究(转) - 奋斗
- STM32F10x的复位与时钟控制
- LPC17XX 学习之系统时钟与功率控制
- 2.STM32F10X-RCC 复位和时钟控制器
- 时钟控制模块ALTCLKCTRL
- 全局时钟--复位设计
- STM32F10XX中SPI的DMA发送数据
- 超级玛丽制作揭秘6时钟控制 类MYCLOCK
- 全局时钟--复位设计