3.時間樹簡介(。。。
在stm32中有五個時間器,分別為:
3-1.HSI(high speed inter) 高速內(nèi)部時鐘
采用RC振蕩器,頻率為8mhz
3-2.HSE(high speed extern) 高速外部時鐘
可以接石英或者陶瓷諧振器,或者接上外界的時鐘源,頻率為4mhz到16mhz
3-3.LSI(low speed inter) 低速內(nèi)部時鐘
采用RC振蕩器,頻率為40khz,可作為看門狗系統(tǒng)的時鐘源和RTC(real time clock實時時鐘)的時鐘源
3-4.LSE(low speed extern)低速外部時鐘
接32.768khz的石英晶體,主要作為RTC的時鐘源
3-5.PLL:鎖環(huán)器
實現(xiàn)倍頻的功能(從頻率*2到*16),通過控制相關(guān)寄存器實現(xiàn),但是輸出的頻率不能大于72MHZ
4.時間樹的一些基礎(chǔ)原件
4-1:MCO
MCO是STM32的一種時間輸出IO口(PA8),可以選擇一個時鐘信號輸出(PLL的二分頻,HSI HSE SYSCLK)
4-2:RTC
RTC作為實時時鐘,可以提供一個準(zhǔn)確的實時時間
4-3:USBCLK
在使用usb時,一定要讓PLL作為時鐘源,并且使能為48mhz或者72mhz
4-4:SYSCLK(系統(tǒng)時鐘)
1.ABPI分頻器:上面連接著一些低速外設(shè)(CAN,USB,,UART2.......)
2.ABP2分頻器:上面連接著一些高速外設(shè)(UART1,Timer1,所有的普通io口(PA到PE)第二功能IO口)
5.簡單介紹一下配置:(基于庫函數(shù))
1.初始化時間系統(tǒng)
system_stm32f10x.c中的SystemInit()函數(shù)中;
2.其他的配置在stm32f10x_rcc.c中 STM32為了實現(xiàn)低功耗,而設(shè)計的功能完善構(gòu)成復(fù)雜的時鐘系統(tǒng),稱之時鐘樹。使外設(shè)功能的時鐘可自配置。因為STM32外設(shè)眾多,而不同的項目用到的外設(shè)參差不齊,所以可控的時鐘可以實現(xiàn)降低產(chǎn)品功耗。
所有的外設(shè)在使用之前都必須設(shè)置時鐘信號,才可以正常工作。以STM32F103C8T6時鐘樹為例,如下圖所示:
圖7和圖8道理一樣的,看官覺得那個容易理解就看那個圖
圖8
STM32的四個時鐘源
外部時鐘
<1>高速外部時鐘(HSE):外部時鐘源,晶振頻率可取范圍為4~16MHz,我們一般采用8MHz的晶振。 <2>低速外部時鐘(LSE):外部時鐘源,主要提供給實時時鐘模塊,所以一般采用32.768KHz。 內(nèi)部時鐘
<3>高速內(nèi)部時鐘(HSI):由內(nèi)部RC振蕩器產(chǎn)生,頻率為8MHz,但不穩(wěn)定。 <4>低速內(nèi)部時鐘(LSI):由內(nèi)部RC振蕩器產(chǎn)生,也主要提供給實時時鐘模塊,頻率大約為40KHz。 以最常用的高速外部時鐘(HSE)為例
<1>左邊紅色框框1 兩個外部引腳接8M晶振的兩端。 <2>8M時鐘遇到第一個分頻器PLLXTPRE,也就是HSE后面的第一個節(jié)點,我們不分頻。 <3>時鐘來到PLL Source Mux,可選輸入的時鐘信號有外部高速時鐘(HSE)和內(nèi)部高速時鐘(HSI),選擇HSE。 <4>接著信號走到鎖相環(huán)PLL,具有倍頻作用,我們選擇倍頻因子(PLL Mul),可取值2,3,...14,15,16,我們選擇9倍頻,F(xiàn)在時鐘信號為8*9=72M。 <5>來到系統(tǒng)時鐘源輸入選擇,可選時鐘有HSE(8M)、HSI(8M)和經(jīng)過倍頻的PLL CLK(72M),選擇PLL CLK作為系統(tǒng)時鐘,此時系統(tǒng)時鐘為72M。 <6>系統(tǒng)時鐘(SYSCLK)來到AHB預(yù)分頻器,可選分頻系數(shù):1,2,4,8,16,32,64,128,256。選擇不分頻,直接來到掛載低速外設(shè)的(APB1)PCLK1和掛載高速外設(shè)的(APB2)PCLK2。 <7>PCLK1低速外設(shè)時鐘的最大頻率為36M,所以最低進行2分頻。PCLK2高速外設(shè)時鐘的最大頻率是72M,可選擇不分頻。
完整的Word格式文檔51黑下載地址(內(nèi)含大圖):
STM32筆記.doc
(297.5 KB, 下載次數(shù): 21)
2019-2-28 11:44 上傳
點擊文件名下載附件
很輕松看懂時鐘樹
|