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)的更多相关文章

  1. k64 datasheet学习笔记3---Chip Configuration之Clock modules

    1.前言 本文主要讲述chip configure之clock配置相关的内容,主要包含如下三个部分: MCG configuration:Multipurpose clock generator OS ...

  2. STM32F103X datasheet学习笔记---GPIOs and AFIOs

    1.前言 每个GPIO端口有如下几个寄存器进行操作: 两个32位配置寄存器:GPIOx_CRL, GPIOx_CRH 两个32位数据寄存器:GPIOx_IDR, GPIOx_ODR 一个32位set/ ...

  3. STM32F103X datasheet学习笔记---Flexible static memory controller (FSMC)

    1.前言 FSMC模块能够与同步或异步存储器和16位PC存储器卡接口,它的主要作用是: 将AHB传输信号转换到适当的外部设备协议 满足访问外部设备的时序要求 所有的外部存储器共享控制器输出的地址.数据 ...

  4. STM32F103X datasheet学习笔记---Interrupts and events

    1.前言 本章主要介绍STM32中断和事件相关的内容 2.NVIC NVIC管理着包括内核异常等中断 主要特性 68个外部中断源(不包含16个内部中断线) 可编程优先级为16级 低延迟异常和中断处理 ...

  5. STM32F103X datasheet学习笔记---DMA

    1.前言 直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输. 无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作. 两个DMA控制器 ...

  6. STM32F103X datasheet学习笔记---USART

    1.前言 通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换. USART利用分数波特率发生器提供宽范围的波特率选择. 它支持同步 ...

  7. RCC, Reset and Clock Control

  8. ARMV8 datasheet学习笔记5:异常模型

    1.前言 2.异常类型描述 见 ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(1)-EL/ET/ST 一文 3. 异常处理路由对比 AArch32.AArch64架 ...

  9. ARMV8 datasheet学习笔记3:AArch64应用级体系结构

    1.前言 本文主要从应用的角度介绍ARMV8的编程模型和存储模型 2. AArch64应用级编程模型 从应用的角度看到的ARM处理器元素: 可见的元素(寄存器/指令) 说明 可见的寄存器 R0-R30 ...

随机推荐

  1. android限制横竖屏切换 方法

    在需要限制横竖屏切换的时候,只需要在AndroidManifest.xml文件中加入android:screenOrientation属性限制. android:screenOrientation=& ...

  2. BZOJ 4754 [JSOI2016]独特的树叶 | 树哈希判同构

    题目链接 这道题是一道判断无根树同构的模板题,判断同构主要的思路就是哈希. 一遇到哈希题,一百个人能有一百零一种哈希方式,这篇题解随便选用了一种--类似杨弋<Hash在信息学竞赛中的一类应用&g ...

  3. bzoj1597/luogu2900 土地购买 (斜率优化dp)

    首先按x从小到大排序,那么可得: f[i]=min{f[j]+x[i]*maxy[j+1..i]} 然而这样是$O(n^2)$的而且无法做优化. 然后我们考虑:如果对于某一点,存在另一点的x和y都比它 ...

  4. SpringCloud学习(二)---Eureka

    Eureka 重点在使用,概念和源码基本不涉及 Eureka是一个基于REST(REST是HTTP协议的)的服务,主要在亚马逊网络服务(AWS)云中使用,定位服务来进行中间层服务器的均衡负载和故障转移 ...

  5. Python基础-简介一

    一.Python介绍 1. Python的应用领域及流行程度 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间, ...

  6. 图片缓存:浏览器刷新 和 304 Not Modified 与 If-Modified-Since 及 Cache-Control

    关键词:浏览器刷新,304 Not Modified ,If-Modified-Since,Cache-Control,Expires 今天在用chrome浏览淘宝页面的时候,发现很多来自淘宝图片HT ...

  7. oi程序提交注意:bool

    比如我一个程序用了bool类型(#include<stdbool.h>) 在poj以c的方式提交不通过显示Compile Error,而用gcc的方式提交通过了, 也许其它的#includ ...

  8. python自定义函数的参数之四种表现形式

    (1)def a(x,y):print x,y 这是最常见的定义方式,调用该函数,a(1,2)则x取1,y取2,形参与实参相对应,如果a(1)或者a(1,2,3)则会报错 (2)def a(x,y=3 ...

  9. es7预览

    哈哈,es6才刚刚掌握,就给大家介绍es7了. es7的草案其实早已经定下来了,而且更加向着java这些高级语言看齐了 chrome的高版本其实也已经对es7的部分功能实现了!! 1.数组 inclu ...

  10. JVM总结(六):早期(编译期)优化

    这节我们来总结一下JVM编译器优化问题. JVM编译器优化 Javac编译器 Javac的源码和调试 解析与填充符号表 注解处理器 语法分析与字节码生成 Java语法糖 泛型和类型擦除 自动装箱.拆箱 ...