STM32时钟系统详解:从HSI到PLL
需积分: 9 195 浏览量
更新于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定时器则有助于实现复杂的定时和调度任务。
点击了解资源详情
点击了解资源详情
704 浏览量
161 浏览量
lin2031lin
- 粉丝: 0
- 资源: 3
最新资源
- p3270:一个用于控制远程IBM主机的python库
- magic-iswbm-com-zh-latest.zip
- deeplearning-js:JavaScript中的深度学习框架
- 易语言控制台时钟源码.zip
- 完整的AXURE原型系列1-6季的全部作品rp源文件
- RC4-Cipher:CSharp中的RC4算法
- 测试
- 威客互动主机管理系统 v1.3.0.5
- metrics-js:一个向Graphite等聚合器提供数据点信息(度量和时间序列)的报告框架
- Kubernetes的声明式连续部署。-Golang开发
- IsEarthStillWarming.com::fire:全球变暖信息和数据
- Ajedrez-开源
- 社区:Rust社区的临时在线聚会。 欢迎所有人! :globe_showing_Americas::rainbow::victory_hand:
- Algo-ScriptML:Scratch的机器学习算法脚本。 机器学习模型和算法的实现只使用NumPy,重点是可访问性。 旨在涵盖从基础到高级的所有内容
- 支持Google的协议缓冲区-Golang开发
- 手写体数字识别界面程序.rar_图片数字识别_手写数字识别_手写识别_模糊识别_识别图片数字