当前位置:首页 > 单片机 > 单片机
[导读]时钟分类stm32f4的时钟有很多分支,主要分为主系统的时钟和一些外设时钟,主系统的时钟又通过AHB分频,分出了HCLK到AHB总线内核的时钟,cortex系统定时器时钟,FLCK自由运行时钟。PHY以太网和USB和看门狗RTC时钟不使

时钟分类

stm32f4的时钟有很多分支,主要分为主系统的时钟和一些外设时钟,主系统的时钟又通过AHB分频,分出了HCLK到AHB总线内核的时钟,cortex系统定时器时钟,FLCK自由运行时钟。PHY以太网和USB和看门狗RTC时钟不使用主系统的时钟,都是独立的使用一个内部或外部时钟源。

主要时钟源

stm32f4有一个内部16M高速时钟HSI和内部32K低速时钟LSI,系统时钟源可以选用外部的高速时钟源也可以使用内部的高速时钟HSI,当外部高速时钟不可用时,内部高速时钟会默认设置为系统时钟保证系统的运行。内部低速时钟用来当做看门狗和RTC时钟的主时钟源。stm32f4还有两个时钟输出引脚,这两个引脚通过芯片内部的时钟输出到其他需要时钟驱动的芯片上,这样可以利用芯片内部的时钟,减少晶振的使用。


时钟的输入过程


stm32的时钟可以选择外部高速时钟源HSE和内部高速时钟HSI,当外部时钟故障是会切换至内部的时钟,系统默认使用内部的高速时钟,由于内部时钟的精度不够,通常是使用外部的时钟做系统的时钟源。

系统时钟的输入过程是:内部和外部时钟首先会通过分频M分频,到PLL锁相环后通过倍频因子N进行倍频,PLL再通过P,Q,R分频输出。经过分频因子P分频后输出到系统时钟选择器,然后经过AHB PRESC 分频时钟提供给HCLK时钟,系统定时器,FLCK时钟,和APB2,APB2再通过分频输出时钟给APB1,所以stm32f4的APB2时钟时比APB的时钟要快。

例如:25M的外部晶振 -> M分频25分频-> 1M -> PLL锁相环倍频N,360倍频 -> 260M -> 锁相环分频P,2分频 -> 180M -> 系统时钟



时钟输出

stm32f4有连个引脚MCO1,MCO2用来输出芯片的内部时钟,外部的芯片可以利用stm32的时钟来做时钟源。输出时钟的时钟源可以选择,HSE外部时钟,HSI内部时钟,PLL锁相环P输出的时钟,内部低速时钟LSE,I2S的时钟 和系统时钟。输出时可以对时钟来源分频。


时钟的初始化过程

首先开启外部时钟HSE,并等待时钟稳定,然后先对AHB,APB的分频因子配置,在配置PLL锁相环的时钟输入源,选择HSE还是HSI,配置PLL锁相环的倍频因子N,和P,Q,R,然后使能PLL锁相环,下一步切换系统的时钟为锁相环时钟,等待系统时钟切换完成。在使能系统时钟前必须先配置分频因子和相关寄存器,如果先开启系统时钟再配置分频因子和相关寄存器,在时钟脉冲来临时切换状态会几个周期的不稳定,所以在使能PLL或切换系统时钟前先配置分频因子,和相关寄存器。

相关寄存器

1,RCC_CR 时钟控制寄存器

2,RCC_PLLCFGR 锁相环配置寄存器

3,RCC_CFGR 时钟配置寄存器

RCC_CR寄存器主要是HSE,HSI,PLL,PLLI2S,css的使能控制,和一些状态位,当时钟使能成功是对应的状态位会置1。


RCC_PLLCFGR 寄存器是锁相环的配置寄存器,主要是设置分频M的值,倍频N和输出的P,Q,R的值。

RCC_CFGR 寄存器主要是设置系统时钟的时钟源,和AHB的分频因子的值,以及输出时钟和RTC的分频因子的值。

系统在初始化完系统时钟后就可以正常运行程序了,不过stm32的所以外设时钟默认是不开启的,所以在使用IO引脚或者是外设功能时,需要开启相应的时钟,配置相应的时钟频率,外设才能正常工作。不开起时钟外设是不工作的,只要设置对应的RCC寄存器就可以了。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

基于ARM® Cortex®-M4的STM32F4 MCU系列采用了意法半导体的NVM工艺和ART Accelerator™,在高达180 MHz的工作频率下通过闪存执行时其处理性能达到225 DMIPS/608 Cor...

关键字: stm32f4 ARM

stm32f4和f1都有哪些区别?除了需要的头文件不一样,管脚配置什么的有区别么?

关键字: stm32f4 f1 比较

STM32F407VET6引脚图及中文资料

关键字: stm32f4 引脚图

比较F1的片子对于F4的RTC来说有很大提升,F4的RTC提供了日历时钟和两个可编程闹钟中断,一个周期性可编程唤醒标志。这样很方便设置系统时间,并不会像F1的RTC那样要自己计算年月日时分秒。F4的RTC是一个独立的BC...

关键字: rtc stm32f4

【实验目的】输出7路占空比不同的PWM信号是各个版本ST库必备的例子。本实验的主要目的不是表现ST芯片PWM功能的强大,而是要完成输出的精确计算。【实验内容】输出7路PWM信号,并用示波器测量输出。【实验原理】1、时

关键字: pwm stm32f4 tim1 信号输出

STM32F4的随机数发生器RNG,以环境噪声为种子,产生32位随机数供主机使用。【主要特性】1、产生32位随机数 2、两次转换时间间隔40PLL48CLK 3、随机数熵检测以发现不正常位,以产生稳定序列 3、可被关闭以...

关键字: stm32f4 随机数发生器

书接上文,开始折腾ADC的DMA传输。因为大家都在说DMA,就连ST的例子里边也是使用DMA的。 ADC采集到的数据都存储在一个固定的寄存器中。当常规采样方式采样多个通道时候,使用DMA可以较好地避免将采集到的数据...

关键字: adc dma stm32f4 数据传输 采集数据

为了提搞系统的可靠性,STM32F4系列MCU有一个独立看门狗(IWDG)和一个窗口看门狗(WWDG)。今天做的实验是关于独立看门狗的。独立看门狗使用的时钟源是内部低速振荡器LSI。因为LSE可能没接,HSE可能坏点,H...

关键字: iwdg stm32f4 独立看门狗

对于串口就不多罗嗦了, 虽然串口是一种比较古老的接口, 速度较慢, 在计算机上早已淘汰, 但是由于它结构简单, 使用方便, 或许也由于在计算机上使用过有基础支撑(单片机就是在走曾经电脑走过的路), 在嵌入式系统中依然

关键字: stm32f4 usart配置

Ⅰ、概述STM32的TIM定时器分为三类:基本定时器、通用定时器和高级定时器。从分类来看就知道STM32的定时器功能是非常强大的,但是,功能强大了,软件配置定时器就相对复杂多了。很多初学者甚至工作了一段时间的人都不

关键字: stm32f4 tim 基本延时 计数原理
关闭
关闭