STM32F4xx学习笔记 时钟配置 STM32F407最高层是SYSCLK系统时钟,由其生成了 AHB时钟,再由AHB时钟生成APB时钟。 系统时钟的来源: 系统时钟有三个来源: 内部告诉晶体(16MHZ)。 外部告诉晶体(4-26MHZ)。 PLL输出(PLLCLK)。 STM32F4xx系列微控制器是意法半导体(STMicroelectronics)推出的一款基于ARM Cortex-M4内核的高性能MCU。在这个学习笔记中,我们将深入探讨STM32F4xx的时钟配置以及相关的一些关键概念。 STM32F4xx的时钟系统是整个处理器工作的心脏,它决定了所有外设和内核的速度。最高层级的系统时钟(SYSCLK)是系统的主时钟源,它为高级总线矩阵(AHB)提供时钟,进而生成外围总线(APB)时钟。SYSCLK可以有三个不同的来源: 1. **内部高速晶振(HSI)**:一个16MHz的内置振荡器,可直接作为系统时钟,但通常用于快速启动和备份操作。 2. **外部高速晶振(HSE)**:用户可以安装一个4-26MHz的外部晶体振荡器,提供更精确的时钟信号。 3. **锁相环(PLL)输出**:通过调整PLL参数,可以将HSI或HSE的频率提升至更高的值,以满足更高的系统时钟需求。 PLL时钟的计算公式为: \[ F_{VCOclk} = \frac{F_{pll input}}{M} \times N \] 其中,\( F_{pll input} \)是输入到PLL的时钟频率,\( M \)是分频系数,\( N \)是倍频系数。然后,PLL生成的时钟输出(Fpll generate clk output)由以下公式决定: \[ F_{pll generate clk output} = \frac{F_{VCOclk}}{P} \] \( P \)是PLL的输出分频系数。 在STM32F4xx的时钟配置中,还有几个关键步骤和模块值得注意: 1. **启动文件(startup_stm32f4xx.s)**:这是微控制器的汇编语言启动代码,负责设置堆栈指针(SP),程序计数器(PC),中断向量表地址,配置时钟,设置堆栈,以及调用`main()`函数前的初始化操作。 2. **系统配置控制模块(SYSCFG)**:这个模块允许用户配置外部中断连接,启用I/O补偿单元,以及进行存储器重映射。在操作SYSCFG模块的寄存器之前,需要先开启SYSCFG的时钟。 - **外部中断配置**:使用`SYSCFG_EXTILineConfig()`函数,可以将外部中断连接到特定的GPIO引脚。 - **I/O补偿单元**:当GPIO速度超过50MHz时,使用`SYSCFG_CompensationCellCmd()`启用补偿单元,降低电源噪声。 - **存储器重映射**:`SYSCFG_MemoryRemapConfig()`函数允许用户选择启动模式,如从主闪存、系统存储器或SRAM启动。 3. **启动模式**:STM32F4xx可以通过BOOT[1:0]引脚的配置选择三种启动模式。在系统复位后,这些引脚的值会被锁存,并决定CPU从哪个地址开始执行代码。例如,从主闪存、系统存储器或SRAM启动。 时钟配置对于优化STM32F4xx的性能至关重要,因为它直接影响到处理器的运行速度和功耗。通过适当调整PLL参数,可以在满足系统性能要求的同时,尽可能减少能源消耗。此外,理解启动过程和存储器映射对开发固件和调试至关重要,因为它涉及到程序的入口点和中断服务例程的位置。 在实际应用中,开发者需要根据具体需求,灵活选择和配置这些时钟源,以实现最佳的系统性能和功耗平衡。STM32F4xx系列的丰富时钟管理特性,使得它成为各种嵌入式应用的理想选择,无论是实时控制还是高性能数据处理。
剩余8页未读,继续阅读
- 那时花开19872014-05-22不错的资料,谢谢分享
- 抢光你的骄傲2013-11-10里面时钟介绍的很详细,
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Cisco 思科 CP-7945g 7965g sip模式固件 9.4.2
- 贪吃蛇方案设计的方法.zip
- 微信支付账单(20240731-20240731).zip
- minio20240920.tar
- 集成供应链(Integrated Supply Chain,ISC)核心业务流程再造,华为的最佳实践
- zabbix-server-pgsql-7.0-centos-latest.tar
- zabbix-web-apache-pgsql-7.0-centos-latest.tar
- Altium Designer 24.9.1 Build 31 (x64)
- 基于JAVA的人机对弈的一字棋系统设计与实现课程设计源代码,极大极小搜索和α-β搜索算法
- 电子回单_2024092100085000842531409053050071685353.pdf