3.时间树简介(!!!)
在stm32中有五个时间器,分别为:
3-1.HSI(high speed inter) 高速内部时钟
采用RC振荡器,频率为8mhz
3-2.HSE(high speed extern) 高速外部时钟
可以接石英或者陶瓷谐振器,或者接上外界的时钟源,频率为4mhz到16mhz
3-3.LSI(low speed inter) 低速内部时钟
采用RC振荡器,频率为40khz,可作为看门狗系统的时钟源和RTC(real time clock实时时钟)的时钟源
3-4.LSE(low speed extern)低速外部时钟
接32.768khz的石英晶体,主要作为RTC的时钟源
3-5.PLL:锁环器
实现倍频的功能(从频率*2到*16),通过控制相关寄存器实现,但是输出的频率不能大于72MHZ
4.时间树的一些基础原件
4-1:MCO
MCO是STM32的一种时间输出IO口(PA8),可以选择一个时钟信号输出(PLL的二分频,HSI HSE SYSCLK)
4-2:RTC
RTC作为实时时钟,可以提供一个准确的实时时间
4-3:USBCLK
在使用usb时,一定要让PLL作为时钟源,并且使能为48mhz或者72mhz
4-4:SYSCLK(系统时钟)
1.ABPI分频器:上面连接着一些低速外设(CAN,USB,,UART2.......)
2.ABP2分频器:上面连接着一些高速外设(UART1,Timer1,所有的普通io口(PA到PE)第二功能IO口)
5.简单介绍一下配置:(基于库函数)
1.初始化时间系统
system_stm32f10x.c中的SystemInit()函数中;
2.其他的配置在stm32f10x_rcc.c中 STM32为了实现低功耗,而设计的功能完善构成复杂的时钟系统,称之时钟树。使外设功能的时钟可自配置。因为STM32外设众多,而不同的项目用到的外设参差不齐,所以可控的时钟可以实现降低产品功耗。
所有的外设在使用之前都必须设置时钟信号,才可以正常工作。以STM32F103C8T6时钟树为例,如下图所示:
图7和图8道理一样的,看官觉得那个容易理解就看那个图
图8
STM32的四个时钟源
外部时钟
<1>高速外部时钟(HSE):外部时钟源,晶振频率可取范围为4~16MHz,我们一般采用8MHz的晶振。 <2>低速外部时钟(LSE):外部时钟源,主要提供给实时时钟模块,所以一般采用32.768KHz。 内部时钟
<3>高速内部时钟(HSI):由内部RC振荡器产生,频率为8MHz,但不稳定。 <4>低速内部时钟(LSI):由内部RC振荡器产生,也主要提供给实时时钟模块,频率大约为40KHz。 以最常用的高速外部时钟(HSE)为例
<1>左边红色框框1 两个外部引脚接8M晶振的两端。 <2>8M时钟遇到第一个分频器PLLXTPRE,也就是HSE后面的第一个节点,我们不分频。 <3>时钟来到PLL Source Mux,可选输入的时钟信号有外部高速时钟(HSE)和内部高速时钟(HSI),选择HSE。 <4>接着信号走到锁相环PLL,具有倍频作用,我们选择倍频因子(PLL Mul),可取值2,3,...14,15,16,我们选择9倍频。现在时钟信号为8*9=72M。 <5>来到系统时钟源输入选择,可选时钟有HSE(8M)、HSI(8M)和经过倍频的PLL CLK(72M),选择PLL CLK作为系统时钟,此时系统时钟为72M。 <6>系统时钟(SYSCLK)来到AHB预分频器,可选分频系数:1,2,4,8,16,32,64,128,256。选择不分频,直接来到挂载低速外设的(APB1)PCLK1和挂载高速外设的(APB2)PCLK2。 <7>PCLK1低速外设时钟的最大频率为36M,所以最低进行2分频。PCLK2高速外设时钟的最大频率是72M,可选择不分频。
完整的Word格式文档51黑下载地址(内含大图):
STM32笔记.doc
(297.5 KB, 下载次数: 21)
|