stm32f030系列时钟介绍

描述

时钟是微处理器的驱动力,类似人的心脏,只有不停地跳动系统才能正常运行。Stm32不同系列的时钟基本结构类似,就是外设有些差别。这里以stm32f030系列为例来介绍。

在参考手册中,时钟树如下所示:

STM32F030

图中红色块表示时钟源,这里一共有5个时钟源。

1、8M HSI RC,这是芯片内部的RC时钟

2、4-32M HSE OSC,这是外部时钟,可以输入外部时钟或者晶振,精度高

3、32.7689k LSE OSC,这是RTC外部晶振时钟

4、40K LSI RC,这是内部低速RC振荡器时钟

5、14M HSI14RC,这是专门给ADC用的内部14M RC晶振

根据自己的需求和硬件设计,选择打开对应的时钟源,不用的就不要打开,可以减少功耗。

紫色线表示Flash的时钟,可以看到它的时钟源是内部的8M RC振荡器,从这里可以推测内部这个8M的时钟基本在一直工作,因为程序运行时需要不断地访问flash。

实际在系统复位后,会默认使用这个内部的8M RC时钟,而想要关掉它必须保证没有任何设备直接或者间接使用它。

中间红绿蓝三条通路是系统时钟的三种可选项。可以直接使用内部的8M RC时钟,可以直接使用外部HSE OSC时钟,或者通过PLL倍频后的时钟。

走PLL那条路需要:

1、 时钟源分频

2、 选择PLL时钟源

3、 PLL倍频

4、 选择PLL作为SYSCLK

只有通过PLL才能达到最高的工作频率。

黄色块是AHB分频,青色块是APB分频,这俩上接了很多外设。

STM32F030

要访问这些外设的寄存器,首先必须打开对应的时钟。APB分成了两组,需要在对应的寄存器中进行配置。

实际写代码的时候,使能一个时钟以后要等待其稳定,每个时钟源都有专门的寄存器位指示是否ready。另外,HSI 8M和HSI14M可以修正,以排除制造、温度和干扰的影响。

STM32F030

至此系统的时钟就搞定了,以后使用某个外设前,只需要使能对应的时钟即可。

STM32F030

!!!:不同的处理器其细节可能会有些许差别,具体的情况还需要查阅参考手册。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分