1、时钟源

在 STM32 中,一共有 5 个时钟源,分别是 HSI 、 HSE 、 LSI 、 LSE 、 PLL 。

①HSI 是高速内部时钟, RC 振荡器,频率为 8MHz ;

②HSE 是高速外部时钟,可接石英 / 陶瓷谐振器,或者接外部时钟源,频率范围是 4MHz – 16MHz ;

③LSI 是低速内部时钟, RC 振荡器,频率为 40KHz ;

④LSE 是低速外部时钟,接频率为 32.768KHz 的石英晶体;

⑤PLL 为锁相环倍频输出,严格的来说并不算一个独立的时钟源, PLL 的输入可以接 HSI/2 、 HSE 或者 HSE/2 。PLL倍频可选择为 2 – 16 倍,但是其输出频率最大不得超过 72MHz 。

其中, 40kHz 的 LSI 供独立看门狗 IWDG 使用,另外它还可以被选择为实时时钟 RTC 的时钟源。另外,实时时钟 RTC 的时钟源还可以选择LSE ,或者是 HSE 的 128 分频。

STM32 中有一个全速功能的 USB 模块,其串行接口引擎需要一个频率为 48MHz 的时钟源。该时钟源只能从 PLL 端获取,可以选择为 1.5 分频或者 1 分频,也就是,当需使用到 USB 模块时, PLL 必须使能,并且时钟配置为 48MHz 或 72MHz 。

另外 STM32 还可以选择一个时钟信号输出到 MCO 脚 (PA.8) 上,可以选择为 PLL 输出的 2 分频、 HSI 、 HSE 或者系统时钟。

系统时钟 SYSCLK ,它是提供 STM32 中绝大部分部件工作的时钟源。系统时钟可以选择为 PLL 输出、 HSI 、 HSE 。系系统时钟最大频率为72MHz ,它通过 AHB 分频器分频后送给各个模块使用, AHB 分频器可以选择 1 、 2 、 4 、 8 、 16 、 64 、 128 、 256 、 512 分频,AHB分频器输出的时钟送给 5 大模块使用:

①送给 AHB 总线、内核、内存和 DMA 使用的 HCLK 时钟;

②通过 8 分频后送给 Cortex 的系统定时器时钟STCLK;

③直接送给 Cortex 的空闲运行时钟 FCLK ;

④送给 APB1 分频器。 APB1 分频器可以选择 1 、 2 、 4 、 8 、 16 分频,其输出一路供 APB1 外设使用( PCLK1 ,最大频率 36MHz),另一路送给定时器 (Timer)2 、 3 、 4 倍频器使用。该倍频器根据PCLK1的分频值自动选择 1 或者 2 倍频,时钟输出供定时器 2 、3 、 4 使用。

⑤送给 APB2 分频器。 APB2 分频器可以选择 1 、 2 、 4 、 8 、 16 分频,其输出一路供 APB2 外设使用( PCLK2 ,最大频率 72MHz),另外一路送给定时器 (Timer)1 倍频使用。该倍频器根据PCLK2的分频值自动选择1 或 2 倍频,时钟输出供定时器 1 使用。另外 APB2分频器还有一路输出供 ADC 分频器使用,分频后送给 ADC 模块使用。 ADC 分频器可选择为 2 、 4 、 6 、 8 分频。

需要注意的是定时器的倍频器,当 APB 的分频为 1 时,它的倍频值为 1 ,否则它的倍频值就为 2 。

2、APB1和APB2连接的模块

①连接在 APB1( 低速外设 ) 上的设备有:电源接口、备份接口、 CAN 、 USB 、 I2C1 、 I2C2 、 UART2 、 UART3 、 SPI2 、窗口看门狗、 Timer2 、 Timer3 、 Timer4 。 注意 USB 模块虽然需要一个单独的 48MHz 的时钟信号,但是它应该不是供 USB 模块工作的时钟,而只是提供给串行接口引擎 (SIE) 使用的时钟。 USB 模块的工作时钟应该是由 APB1 提供的。

②连接在 APB2 (高速外设)上的设备有: UART1 、 SPI1 、 Timer1 、 ADC1 、 ADC2 、 GPIOx(PA~PE) 、第二功能 IO 口。

STM32之RCC原理相关推荐

  1. STM32 FSMC/FMC原理保姆级讲解(二)

    上一话我们说了FSMC的基本原理及控制逻辑,这一讲我们来说下FSMC如何通过HAL库来进行配置,及具体参数 STM32 FSMC/FMC原理保姆级讲解(一) FSMC的初始化 在使用SRAM之前,我们 ...

  2. STM32 FSMC/FMC原理保姆级讲解(一)

    FSMC通俗讲解 FSMC 框图 FMC引脚说明 FMC地址映射 FSMC不同位宽操作 FSMC寄存器 FSMC时钟 FSMC 四种模式 FSMC参数设置 FSMC 控制异步 NOR FLASH 的时 ...

  3. STM32 GPIO工作原理

    STM32 GPIO工作原理 STM32引脚说明 STM32F103ZET6: 共有7组IO口,每组IO口有16个IO--共16X7=112个IO 编号为:GPIOA,GPIOB--GPIOG,从A到 ...

  4. STM32学习——TFTLCD原理

    STM32学习--TFTLCD原理 一.TFTLCD 简介 TFT-LCD 即薄膜晶体管液晶显示器(Thin Film Transistor-Liquid Crystal Display) TFT-L ...

  5. STM32 PWM输出原理和直流电机PWM驱动原理详解及例程

    这次讲一讲STM32输出PWM的原理以及PWM可以作为信号传输数据的原理. PWM会有很多地方用到,有控制灯的亮度,控制电机,控制舵机或者其他一些外设,有时候你的单片机所输出的PWM是作为信号去控制, ...

  6. 【STM32】定时器原理

    目录 定时器分类: 通用定时器特点 计数模式的工作原理和区别: 1.向上计数模式: 2.向下计数模式: 3.中央对齐模式: 通用定时器功能: 定时器的工作框架: 1.定时器时钟: 2.时基单元: 3. ...

  7. STM32 GPIO的原理、特性、选型和配置

    目录 1.基本结构 2.4种输入模式 3.4种输出模式 4.GPIO选型和配置 1.基本结构 STM32 GPIO是通用输入/输出端口的英文简称,其可实现输入.输出.驱动.通信等功能,STM32的I/ ...

  8. [ZZ]STM32之RCC

    原地址:http://blog.csdn.net/marike1314/archive/2010/06/16/5673522.aspx STM32 RCC复位与时钟配置,我首先忽略掉复位,首先学习时钟 ...

  9. stm32之RCC寄存器学习

    RCC(Reset Clock Controller) -- 复位与时钟控制 一.复位 STM32F10xxx支持三种复位形式,分别为系统复位.上电复位和备份区域复位. 系统复位:除了时钟控制器的RC ...

最新文章

  1. JDK8新特性:函数式接口@FunctionalInterface的使用说明
  2. python从list中取出连续的数_python list 中找连续的数字(由网友处学习)
  3. java表格源码_Java表格JTable代码实例解析
  4. 孙鑫MFC笔记之十三--多线程编程
  5. web安全day31:人人都要懂的LAMP--apache服务安防配置
  6. vue-froala-wysiwyg富文本编辑器
  7. SSM整合——简单的小项目实战
  8. 机器学习与数据挖掘工程师的发展方向总结
  9. Python中URL的编码和解码:quote, unquote, urlencode
  10. 转载一篇JAVA面试题
  11. 什么计算机网络成瘾,计算机网络与网络成瘾.pdf
  12. 读《纳瓦尔宝典》感想
  13. linux的dns怎么配置正向区域文件,linux系统下部署DNS正向解析
  14. 习题整理——二叉树NOI1758、UVA679、UVA122
  15. 数仓服务平台在唯品会的建设实践
  16. JavaFX8开发过程中的问题记录
  17. 有视频APP上线,一对一交友源码和抖音短视频源码稳步前行
  18. mysql升序降序关键字(DESC降序,ASC升序)
  19. 论文阅读笔记(五)CLIP4Clip: An Empirical Study of CLIP for End to End Video Clip Retrieval
  20. 兴趣图谱必将重塑社交网络及电子商务

热门文章

  1. Linux安装到一半没有内存了,无论手机运行内存有多大平时都会占用了一半,原来是因为这个...
  2. 对比 | Python中超级好用的“列表解析式”、“字典解析式”、“集合解析式”
  3. c语言链表常错,C语言链表,哪里错了?
  4. java boxplot_java – 具有多个类别的Boxplots的JFreeChart缩放
  5. beanshell字符串替换_必知必会的操作Jmeter(十六)_beanshell实现字符串加密
  6. (计算机组成原理)第四章指令系统-第一节2:扩展操作码
  7. (计算机组成原理)第二章数据的表示和运算-第一节2:BCD码
  8. 1003. 检查替换后的词是否有效
  9. shell获取命令结果返回行数(行个数)
  10. CTF中Crypty入门必看(密码类,密码学)