STM32时钟系统详解:HSI, HSE, LSI, LSE与PLL
需积分: 18 56 浏览量
更新于2024-08-05
收藏 65KB DOCX 举报
"STM32时钟系统是一个复杂的架构,涉及到多个时钟源和分频器,用于满足不同模块的时钟需求。"
STM32的时钟系统是其核心功能之一,它决定了微控制器各个部分的工作速度和同步。STM32支持多种时钟源,包括高速内部时钟HSI(8MHz RC振荡器)、高速外部时钟HSE(可为晶振或外部时钟,4MHz至16MHz)、低速内部时钟LSI(40kHz RC振荡器)、低速外部时钟LSE(32.768kHz 晶体)以及锁相环 PLL 输出。PLL 可以将输入时钟源进行倍频,最高可达72MHz,但输出频率受到限制。
LSI 主要用于独立看门狗IWDG和可能作为RTC的时钟源。RTC时钟源还可以通过RTCSEL配置选择LSE或HSE的128分频。全速USB模块需要48MHz的时钟,这只能从PLL输出获取,可通过分频设置达到此频率。
系统时钟SYSCLK是STM32大部分功能的基础,它可以由PLL、HSI或HSE提供,最大频率72MHz。SYSCLK通过AHB分频器分频后供给不同模块,如AHB总线、内核、内存和DMA的HCLK时钟。此外,AHB分频器还为系统定时器提供时钟,为Cortex的空闲运行时钟FCLK提供时钟,以及为APB1分频器提供输入。
APB1分频器进一步对时钟进行分频,以适应低功耗需求,允许1、2、4、8、16分频。APB1总线上的外设如I2C、SPI、GPIO等会根据这些分频后的时钟工作。同时,还有APB2分频器,它通常不包含在提供的部分内容中,但同样起着分配时钟的作用,适用于需要更高时钟速度的外设,如ADC、TIM、USART等,其分频选项与APB1类似。
理解STM32的时钟系统对于优化性能和降低功耗至关重要。开发者需要根据应用需求正确配置时钟源、倍频器和分频器,确保所有模块正常运行并达到预期的速度。在开发过程中,时钟配置的错误可能导致系统不稳定或性能下降,因此需要仔细理解和掌握这些时钟知识点。
2022-10-28 上传
2023-03-21 上传
2021-03-20 上传
2023-06-06 上传
2024-03-04 上传
2022-11-12 上传
2021-11-17 上传
2024-05-13 上传
2024-03-25 上传
wzyannn
- 粉丝: 3w+
- 资源: 4
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析