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)
2019-2-28 11:44 上傳
點擊文件名下載附件
很輕松看懂時鐘樹
|