STM32F407时钟系统

1.1 什么是时钟

        时钟是具有周期性的脉冲信号,最常用的是占空比50%的方波。

1.2 认识时钟树

(1)外部高速晶振接口:OSC_OUTOSC_IN

(2)外部低速晶振接口:OSC32_IN、OSC32_OUT

    

备注:H:high   L:low.  S:speed    I:internal   E:external

对于正点原子DMF407开发板(主控芯片STM32F407IGT6,LQFP176),四个时钟源分别为:

(3)高速外部振荡器HSE:8MHz(晶体、陶瓷)

(4)低速外部振荡器LSE:32.768KHz(石英、陶瓷)

(5)高速内部振荡器HSI:16MHz(RC震荡器)

(6)低速内部振荡器LSI:32KHz(RC振荡器)
                                           

1.3 STM32F4时钟树

 图1 STM32F4时钟树简图   

 图2 STM32CubeMX时钟树(F407)

 图3 STM32F407样本时钟树

       锁相环是自动控制系统中常用的一个反馈电路,在STM32主控中,锁相环的作用主要有两部分:输入时钟净化和倍频。前者是利用锁相环电路的反馈机制实现,后者用于使芯片在更高且频率稳定的时钟下工作。

      HSE和HSI通过PLL时钟源选择器、HSE(HSI)分频器、PLL倍频系数得到SYSCLK(系统时钟)。STM32的系统时钟是可配置的,在STM32F4系列中,它可以为HSI、PLLCLK、HSE中的一个。

(1)SYSTCLK :168MHz(max)

(2)HCLK(AHB):APB1 max(42MHz)APB2 max(84MHz)

APB1_timer_clocks max:84MHz

APB2_timer_clocks max:168MHz

(3)LSI (32KHz、IWDG、RTC)

(4)LSE(32.768KHz、RTC)

时钟源、锁相环:HAL_RCC_OscConfig()

系统时钟、总线:HAL_RCC_ClockConfig()

使能外设时钟:__HAL_RCC_PPP_CLK_ENABLE()

扩展外设时钟(RTC、ADC、USB):HAL_RCCEx_PeriphCLKConfig()

2.1 系统时钟配置步骤

(1)配置HSE_VALUE

告诉HAL库外部晶振频率,stm32xxx_hal_config.h

(2)调用SystemInit()函数(可选)

在启动文件中调用,在system_stm32xxx.c定义

(3)选择时钟源,配置PLL

通过HAL_RCC_OscConfig()函数设置

(4)选择系统时钟源,配置总线分频器

通过HAL_RCC_ClockConfig()函数设置

(5)配置扩展外设时钟(可选)

通过HAL_RCCEx_PeriphCLKConfig()函数设置

3+4+5=sys_stm32_clock_init()

2.2 外设时钟使能和失能

要使用某个外设,必需先使能该外设时钟!

__HAL_RCC_GPIOA_CLK_ENABLE();使能

__HAL_RCC_GPIOA_CLK_DISABLE();失能

2.3 sys_stm32_clock_init()函数(F4)

(1)HAL_RCC_OscConfig()函数

(2)HAL_RCC_ClockConfig()函数

STM32F407时钟系统是非常复杂和强大的,它包含了多个时钟源和不同的时钟分频器,可以用来驱动各种外设和处理器核。下面是一个简要的概述: 1. 外部晶体/振荡器:STM32F407可以使用外部晶体或振荡器作为系统时钟源。这些外部时钟源可以提供更高的精度和稳定性。 2. 内部时钟源:STM32F407还集成了内部RC振荡器(HSI)和内部低速RC振荡器(LSI)。这些时钟源可以在没有外部晶体或振荡器的情况下使用。 3. PLL锁相环:PLL是STM32F407中一个重要的模块,可以将输入时钟源的频率倍增,从而得到更高的系统时钟频率。通过配置PLL的分频器和倍频器,可以实现不同的系统时钟频率。 4. AHB总线时钟(HCLK):AHB总线时钟用于驱动CPU、DMA控制器和高速外设,可以通过设置分频系数来调整其频率。 5. APB总线时钟(PCLK1和PCLK2):APB总线时钟用于驱动低速外设,包括UART、SPI、I2C等。它们也可以通过设置分频系数来调整其频率。 在配置时钟系统时,需要注意以下几点: 1. 选择合适的时钟源:根据应用需求和性能要求,选择适合的外部晶体/振荡器或内部时钟源。 2. 配置PLL:根据目标系统时钟频率,配置PLL的分频器和倍频器,确保得到准确的系统时钟频率。 3. 配置AHB和APB分频器:根据外设的要求和系统性能要求,配置适当的分频系数,确保AHB和APB总线时钟在合理范围内。 4. 时钟安全守卫(CSS):在一些应用场景中,可以使用时钟安全守卫功能来检测外部时钟源故障,并采取相应措施。 这只是对STM32F407时钟系统的简要介绍,实际的配置过程还涉及到其他细节和注意事项。对于更详细的信息,建议参考STM32F407的参考手册和时钟树配置工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值