STM32时钟系统详解
需积分: 7 162 浏览量
更新于2024-09-12
收藏 36KB DOC 举报
"这篇文档是关于f4系列微控制器的学习资料,特别适合初学者使用。文档详细阐述了STM32F4的系统时钟配置及其对各个模块的影响,包括AHB和APB总线的时钟分频以及定时器的倍频设置。此外,还提到了连接在APB1和APB2上的外设及其对时钟的需求。"
在STM32F4微控制器中,系统时钟SYSCLK是核心部分,它决定了大部分模块的工作速度。SYSCLK可以由PLL(锁相环)输出、HSI(高速内部振荡器)或HSE(高速外部晶振)提供,最高可达72MHz。这个时钟通过AHB(高级高性能总线)分频器进行分频,以适应不同的系统需求。AHB分频器提供了9种分频选项,范围从1到512。
AHB分频器产生的HCLK时钟供给AHB总线、处理器内核、内存以及DMA使用。此外,它还为Cortex-M4系统的系统定时器提供经过8分频后的时钟,并直接为Cortex的空闲运行时钟FCLK供电。同时,AHB时钟也分别馈送到两个APB(先进外围总线)分频器:APB1和APB2。
APB1分频器有5种分频选择,其输出的PCLK1时钟供APB1上的外设使用,如电源接口、备份接口、CAN、USB、I2C、UART、SPI、窗口看门狗以及定时器2、3、4等。其中,定时器2、3、4的时钟可以通过倍频器进行1或2倍的提升。USB模块虽然需要48MHz的时钟,但该时钟仅用于串行接口引擎,其工作时钟是由APB1提供的。
APB2分频器同样有5种分频选项,产生的PCLK2时钟用于APB2上的外设,如UART1、SPI1、Timer1、ADC、所有普通IO口和第二功能IO口。值得注意的是,APB2分频器还会为定时器1的倍频器提供时钟,以及一个输出供ADC分频器,ADC的分频器可以设置为2、4、6或8分频。
在使用STM32F4的任何模块之前,都需要确保相应的时钟已经被正确地开启,这是通过访问RCC(复用重配置控制器)寄存器来完成的。RCC寄存器包含了一系列控制位,用于启用或禁用不同模块的时钟,确保系统时序的正确性。在编程过程中,理解和配置这些时钟设置是至关重要的,因为它们直接影响着CPU、总线和外设的运行效率和同步性。
2016-08-24 上传
127 浏览量
2018-12-27 上传
2020-07-07 上传
2012-05-19 上传
2013-09-07 上传
2013-08-01 上传
2014-04-20 上传
2022-08-03 上传
mozun2
- 粉丝: 0
- 资源: 1
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录