参照STM32时钟树配置STM32CubeMX Clock Configuration(STM32L011G4U6为例)
微控制器(處理器)的運(yùn)行必須要依賴周期性的時(shí)鐘脈沖來(lái)驅(qū)動(dòng)——往往由一個(gè)外部晶體振蕩器提供時(shí)鐘輸入為始,最終轉(zhuǎn)換為多個(gè)外部設(shè)備的周期性運(yùn)作為末,這種時(shí)鐘“能量”擴(kuò)散流動(dòng)的路徑,猶如大樹的養(yǎng)分通過主干流向各個(gè)分支,因此常稱之為“時(shí)鐘樹”。在一些傳統(tǒng)的低端8位單片機(jī)諸如51,AVR,PIC等單片機(jī),其也具備自身的一個(gè)時(shí)鐘樹系統(tǒng),但其中的絕大部分是不受用戶控制的,亦即在單片機(jī)上電后,時(shí)鐘樹就固定在某種不可更改的狀態(tài)(假設(shè)單片機(jī)處于正常工作的狀態(tài))。比如51單片機(jī)使用典型的12MHz晶振作為時(shí)鐘源,則外設(shè)如IO口、定時(shí)器、串口等設(shè)備的驅(qū)動(dòng)時(shí)鐘速率便已經(jīng)是固定的,用戶無(wú)法將此時(shí)鐘速率更改,除非更換晶振。
而STM32微控制器的時(shí)鐘樹則是可配置的,其時(shí)鐘輸入源與最終達(dá)到外設(shè)處的時(shí)鐘速率不再有固定的關(guān)系,本文將詳細(xì)解析STM32微控制器的時(shí)鐘樹和STM32CubeMX?Clock Configuration的配置關(guān)系。
STM32時(shí)鐘樹中有6種時(shí)鐘源,如下所示:
- HSE:高速外部時(shí)鐘;
- LSE:低速外部時(shí)鐘;
- HSI:高速內(nèi)部時(shí)鐘;
- LSI:低速內(nèi)部時(shí)鐘;
- MSI:多速內(nèi)部時(shí)鐘;
- PLLCLK:鎖相環(huán)倍頻輸出。
以STM32L011G4U6微控制器為例,時(shí)鐘樹如下,左側(cè)為6種時(shí)鐘源時(shí)鐘,經(jīng)過一些運(yùn)算和轉(zhuǎn)換到達(dá)右邊的系統(tǒng)時(shí)鐘和外設(shè)時(shí)鐘。
時(shí)鐘樹并不難讀懂,沿著導(dǎo)線耐心一步步可以很快理解,例如系統(tǒng)時(shí)鐘可支持MSI、HSI16、HSE和PLLCLK四種時(shí)鐘源配置,其中HSI16時(shí)鐘源可支持倍頻器分頻(1倍和4倍),PLLCLK鎖相環(huán)倍頻輸出可支持HSI16和HSE時(shí)鐘源兩種時(shí)鐘源配置,并且進(jìn)行倍頻輸出(預(yù)分頻寄存器和時(shí)鐘倍頻寄存器配置)。
此時(shí)打開STM32CubeMX,選擇STM32L011G4U6微控制器,打開Clock Configuration,可以發(fā)現(xiàn)和STM32L011G4U6時(shí)鐘樹基本一致,選擇合適的時(shí)鐘源和倍頻,即可便捷快速實(shí)現(xiàn)相關(guān)配置(時(shí)鐘頻率越低,功耗越小,過低可能部分外設(shè)無(wú)法驅(qū)動(dòng))。
需要注意,部分配置不可選是由于沒開啟相關(guān)的IO配置,例如HSE時(shí)鐘源。
開啟相關(guān)IO配置即可。
總結(jié)
以上是生活随笔為你收集整理的参照STM32时钟树配置STM32CubeMX Clock Configuration(STM32L011G4U6为例)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NB-IoT模组低功耗设计:DRX、eD
- 下一篇: GitHub开源:狗屁不通文章生成器