历史上的今天
今天是:2024年10月15日(星期二)
2021年10月15日 | STM32时钟树解析
2021-10-15 来源:eefocus
本人之前其实也用STM32做过一些小东西,但因为时钟的初始化一般是直接在SystemInit时钟系统初始化函数里直接配置为72MHz,所以对于STM32的时钟框图并没有怎么理会,今天刚好有空就重新看了一下并写一篇博客记录一下吧,以免以后又忘了。
STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL。
①、HSI(High Speed Internal Clock signal)是高速内部时钟,RC振荡器,频率为8MHz,精度不高,受温度影响。
②、HSE(High Speed External Clock signal)是高速外部时钟,为外接晶振提供的时钟,晶振频率范围为4MHz~16MHz,常用8MHz的外部晶振。
③、LSI(Low Speed Internal Clock signal)是低速内部时钟,RC振荡器,频率为40kHz,可配置为RTC的时钟来源,但RTC时钟对时钟精度要求较高,故较少用于RTC,常用于独立看门狗时钟。
④、LSE是低速外部时钟,接频率为32.768kHz的外部晶振,用于RTC时钟。
⑤、PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。 倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。我们常用8M的外部晶振的9倍频,即72MHz作为系统时钟(SYSCLK)。

如图,
红框1中的OSC_OUT和OSC_IN接外部8M晶振(范围为4到16MHz)作为HSE(外部高速时钟),通过PLLXTPRE位可控制选择器②是输出HSE还是HSE/2,选择器①通过PLLSRC位控制,用来选择是HSI/2还是选择器②的输出作为倍频锁相环(PLLMUL控制倍频的倍数)的输入,我们一般都是(系统默认)配置为8Mhz的HSE作为倍频器的输入并选择9倍频产生72MHz的时钟PLLCLK作为系统时钟(SYSCLK),系统时钟经AHB预分频器(默认分频系数为1)得到HCLK,可作为部分外设的时钟,如SDIO,FSMC等,再经APB1,APB2预分频器可得到PCLK1、PCLK2。
PCLK1:APB1低速总线时钟,最高为36M。为APB1总线时钟的外设提供时钟。但又经过2倍频作为定时器2~7的时钟,所以定时器2~7即使是在APB1下,也为72M的时钟。
PCLK2:APB2高速总线时钟,最高为72M。为APB2总线时钟的外设(包含定时器1和8)提供时钟。
PCLK2经ADC预分频器(/2,4,6,8)作为ADCCLK(最大为14M),我们常选择6分频(72/6=12M)

(上图看看到挂载在APB1,2下的外设)
红框2表示RTC的时钟来源为:①HSE/128;②LSE;③LSI。我们通常选择LSE(频率为32.768KHz的外部晶振),而LSI精度较低,并不太适合RTC时钟,而常作为独立看门狗的时钟。
红框3表示STM32可以选择一个时钟信号输出到MCO脚(PA8)上,可以选择为PLL 输出的2分频、HSI、HSE、或者系统时钟。
上面还漏了一点,关于CSS,CSS为时钟安全系统,在STM32参考手册6.2.7小节有提到,开发者可以通过CSS中断设置HSE故障后的系统时钟,比如HSI/2(4MHz)的16倍频,如果开发者未开启CSS中断或者在中断中没有进行相应
配置,则硬件默认使用HSI(8MHz)作为系统时钟。

另外关于如何配置以上所讲的时钟,可以看STM32参考手册6.3小节RCC寄存器描述。
史海拾趣
|
作为局域网的主要连接设备,以太网交换机成为应用普及最快的网络设备之一,同时,也是随着这种快速的发展,交换机的功能不断增强,随之而来则是交换机端口的更新换代以及各种特殊设备连接端口不断的添加到交换机上,这也使得交换机的接口类型变得非 ...… 查看全部问答> |
|
客户包括微软、苹果及百事可乐等业界巨头的顶尖创意管理公司IDEO的执行长兼总裁布朗(Tim Brown)把问题看得比答案更重要。 他回忆自己的第一份专业设计工作是在英格兰北部的一家小公司,那是一家从工业大革命时期开始营运,生产木工机械的老公司 ...… 查看全部问答> |
|
公司要做个项目,现在在确定平台,是使用windows mobile还是wince,主要是从研发周期和成本方面考虑,恳请大家给点建议。 目前只知道用mobile需要微软评估,另外开发工具费用、授权费用都很贵,但具体成本是多少没有概念;而用wince相对便宜些,网 ...… 查看全部问答> |
|
最近开始学习STM32,手头也有块板。 昨天晚上跑了下demo测试程序,用的是IAR4.42编译软件(第一次用IAR,不熟悉)。 现在问题是:跑原demo程序....debug....没问题; 但是在原demo上修改下程序后:rebuild all 没反应。 今天在 ...… 查看全部问答> |
|
https://home.eeworld.com.cn/my/link.php?url=https://bbs.eeworld.com.cn%2Fviewthread.php%3Ftid%3D326670%26amp%3Bpage%3D1%26amp%3Bextra%3D%23pid1306641 由于原帖不可以再编辑了,重开一个贴! 用这个板子有问题的可以看看我的原帖,有可 ...… 查看全部问答> |




