STM32F4时钟系统深度解析:从HSE到PLL
需积分: 22 187 浏览量
更新于2024-09-07
1
收藏 190KB DOC 举报
"STM32底层时钟驱动流程详解,主要涉及STM32F4系列芯片的时钟配置,包括HSE、HSI、PLL以及LSE等时钟源的介绍和控制方法。"
在STM32微控制器中,时钟系统是其核心功能之一,因为它决定了所有模块的工作速度。本文详细解析了STM32F4系列芯片的时钟驱动配置流程。首先,我们来看HSE(High Speed External Clock),这是一个高速外部时钟源,可以是1到50MHz的有源晶振或4到26MHz的无源晶振。HSE的启用与关闭通过RCC_CR寄存器的HSEON位进行控制。一旦HSE稳定,HSERDY标志被硬件置1,表明时钟可用。
HSI(High Speed Internal Clock)是高速内部时钟,由芯片内部提供,频率固定为16MHz。HSI在HSE故障时作为备用,系统会自动切换到HSI。HSI的开启与关闭同样由RCC_CR寄存器的HSION位决定,而HSIRDY标志表示HSI是否稳定。
接下来是锁相环时钟(PLLCLK),它是STM32时钟系统的重要组成部分,可以由HSI或HSE输入。PLLCLK的频率计算公式为:PLLCLK = (HSE/M) * N/P,其中M、N、P分别为分频因子、倍频因子和再次分频因子,可以根据需求进行配置。主PLL(PLL)有两个输出,一个用于系统时钟,最高可达168MHz;另一个服务于USBOTGFS、随机数发生器和SDIO等。专用PLL(PLLI2S)则专用于提供高质量音频性能的I2S接口时钟。
LSE(Low Speed External Clock)是低速外部时钟,通常为32.768kHz的晶振或陶瓷谐振器,主要用于RTC(实时时钟)等低功耗、高精度的应用。LSE的启用和状态检测也涉及到RCC_CR寄存器的相关位。
在实际的驱动配置过程中,开发人员需要根据应用需求,选择合适的时钟源并进行相应的分频和倍频设置,确保系统的稳定运行。同时,还要关注时钟源的状态,例如通过HSERDY和HSIRDY标志判断外部和内部时钟是否准备就绪。对于可能的故障情况,如HSE失效,应有备用方案(如HSI)以保证系统正常工作。理解这些时钟驱动流程对开发STM32系统至关重要,因为它直接影响到程序的执行效率和系统的可靠性。
2015-12-24 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
8421plus
- 粉丝: 86
- 资源: 25
最新资源
- 多步表单
- ADcontroller.rar_VHDL/FPGA/Verilog_VHDL_
- 适用于WebMessage客户端的iOS调整伴侣-Swift开发
- symhx-backstage
- pika:Pure Python RabbitMQAMQP 0-9-1客户端库
- SynchQt-开源
- wp的Web服务编程案例
- 你好,世界
- tic-tac-toe.rar_棋牌游戏_Java_
- typescript-api:使用打字稿制作的REST API服务器
- 金字塔:金字塔-一个Python网络框架
- transfer-.meta-to-.pb:把模型的ckpt文件和meta文件转化成pb文件
- Tabs To Batch-crx插件
- Swift的XML / HTML解析器-Swift开发
- index.php_QQ浏览器压缩包.zip
- 参考资料-FR-NK0115资金审批单(加编号).zip