STM32时钟系统详解:从HSI到PLL
需积分: 9 186 浏览量
更新于2024-09-11
收藏 68KB DOC 举报
"STM32学习笔记"
STM32是一款基于ARM Cortex-M内核的微控制器,广泛应用于嵌入式系统设计。这篇STM32学习笔记主要涵盖了STM32的时钟系统以及SysTick定时器的相关知识。
STM32的时钟系统是其核心功能之一,因为它决定了处理器和其他外设的工作速度。STM32提供了五个不同的时钟源:
1. HSI(High Speed Internal):高速内部振荡器,这是一个RC振荡器,频率通常为8MHz,用于启动和紧急情况下的时钟源。
2. HSE(High Speed External):高速外部时钟,可以是石英或陶瓷谐振器,也可以是外部时钟源,工作在4MHz至16MHz之间,为系统提供更精确的时钟。
3. LSI(Low Speed Internal):低速内部振荡器,频率约为40KHz,常用于独立看门狗IWDG和实时时钟RTC。
4. LSE(Low Speed External):低速外部时钟,通常是32.768kHz的石英晶体,主要用于RTC。
5. PLL(Phase Locked Loop):锁相环,可以将HSI/2、HSE或HSE/2作为输入,进行2至16倍的倍频,但输出不超过72MHz。PLL是提高系统时钟频率的关键,例如为USB模块提供48MHz的时钟。
STM32的系统时钟SYSCLK,是大多数组件运行的基础,可以选择PLL、HSI或HSE作为源。系统时钟的最大频率是72MHz。这个时钟经过AHB分频器分频后,分配给不同的模块:
- AHB总线、CPU内核、内存和DMA使用的HCLK时钟。
- 通过8分频后,供给Cortex的系统定时器SysTick。
- 直接提供给Cortex的空闲运行时钟FCLK。
- APB1分频器,其输出分为两部分:一路供给APB1外设(PCLK1,最大36MHz),另一路供给Timer2、3、4的倍频器,倍频器可以选择1或2倍频。
- APB2分频器,同样提供不同分频选项,供给APB2外设。
SysTick定时器是Cortex-M系列处理器内置的一种系统定时器,通常用于实现操作系统或实时任务的时基。它可以配置为周期性中断,用于调度任务或实现软件延时。在STM32中,SysTick定时器的时钟源通常是AHB分频器8分频后的结果。
理解STM32的时钟系统和SysTick定时器是进行高效嵌入式编程的关键,因为它们直接影响程序的执行效率和实时性。正确配置时钟源和分频器可以优化性能并满足不同外设的需求,而SysTick定时器则有助于实现复杂的定时和调度任务。
2021-09-29 上传
2024-06-09 上传
2022-12-07 上传
2014-04-18 上传
2021-01-06 上传
2023-08-25 上传
2022-09-23 上传
lin2031lin
- 粉丝: 0
- 资源: 3
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能