STM32时钟系统详解:HSI、HSE、LSI、LSE与PLL
需积分: 43 29 浏览量
更新于2024-09-09
收藏 418KB DOC 举报
"STM32时钟系统的详细分析与配置"
STM32的时钟系统是其核心功能之一,对于微控制器的操作至关重要。系统时钟(SYSCLK)是STM32内部各模块运行的基础,其来源多样,包括高速内部时钟(HSI)、高速外部时钟(HSE)、低速内部时钟(LSI)、低速外部时钟(LSE)以及锁相环(PLL)。这些时钟源各有特点,满足不同场景的需求。
1. HSI 是一种8MHz的高速内部振荡器,适用于快速启动和应急情况。
2. HSE 是外部时钟源,通常为石英晶体,频率范围为4MHz至16MHz,用于提供更精确的时钟信号。
3. LSI 是一个40kHz的低速内部振荡器,主要为独立看门狗IWDG和实时时钟RTC提供时钟源。
4. LSE 是外部低速时钟,通常是一个32.768kHz的石英晶体,适用于RTC和其他低功耗应用。
5. PLL 作为倍频器,可以将HSI/2、HSE或HSE/2作为输入,倍频范围为2到16倍,但最大不超过72MHz。
实时时钟RTC的时钟源选择灵活,可以是LSI、LSE或HSE的128分频。而USB模块需要一个48MHz的时钟源,这个时钟只能来自PLL,且可以设置为1.5分频或1分频。STM32还有一个功能是通过MCO(Microcontroller Clock Output)引脚输出时钟,可以选择PLL的2分频、HSI、HSE或系统时钟。
系统时钟SYSCLK 可以选择PLL、HSI或HSE作为来源,其最大频率限制为72MHz。它经过AHB分频器分频后供给不同的模块:
- HCLK 供AHB总线、CPU内核、内存和DMA使用,AHB分频器有多种分频选项。
- STCLK 供给Cortex-M的系统定时器,通过8分频得到。
- FCLK 供给Cortex-M的空闲运行时钟,直接取自SYSCLK。
- PCLK1 供给APB1总线的外设,经过APB1分频器,最大频率36MHz。此外,PCLK1还供给Timer2、3、4的倍频器,根据PCLK1的分频值自动调整1或2倍频。
- PCLK2 供给APB2总线的外设,同样通过分频器进行分频处理。
STM32的时钟系统设计灵活,可以根据应用需求进行精细化配置,以实现高效、低功耗或高精度的运行。理解并掌握STM32的时钟系统对于开发者优化系统性能和功耗至关重要。
2023-08-11 上传
2012-02-08 上传
2011-05-08 上传
2021-10-06 上传
2023-07-25 上传
2012-05-07 上传
2011-12-01 上传
2021-06-27 上传
2021-06-28 上传
PETER121231
- 粉丝: 3
- 资源: 9
最新资源
- redis-rb:Redis的Ruby客户端库
- odd-even-game:一个简单的游戏,用于在Angular中练习事件和组件
- 乐视网分析报告.rar
- puppeteer-next-github-actions:减少测试用例
- React-Amazon-Clone:具有React,Context Api,Firebase身份验证,PWA支持的Amazon Web App克隆
- secuboid-minecraft-plugin:Minecraft的土地,库存和悲伤保护插件
- ConnectJS-event-module:连接每个HTML元素的事件的简单方法
- ominfozone.ml
- smartwatch_transport:适用于公共交通的SmartWatch App
- CREATING-AND-HANDLING-A-DATABASE-IN-A-DEPARTMENT-STORE
- Python库 | django-metasettings-0.1.2.tar.gz
- Smite Loki Background Wallpaper New Tab-crx插件
- MorphoLibJ:ImageJ的数学形态学方法和插件的集合
- Apache OpenJPA 是 Jakarta Persistence API 3.0 规范的实现
- personal_site_of_deborah
- asp.net mvc学生选课成绩信息管理系统