第一節(jié) 概述
時(shí)鐘樹的概念可以類比于人體的心臟和血液循環(huán)系統(tǒng)。就像心臟通過(guò)周期性的收縮將血液泵向身體各處一樣,MCU的運(yùn)行依賴于周期性的時(shí)鐘脈沖來(lái)驅(qū)動(dòng)。這些脈沖通常由外部晶體振蕩器提供時(shí)鐘輸入,并最終轉(zhuǎn)換為多個(gè)外部設(shè)備的周期性運(yùn)作。這種時(shí)鐘“能量”的傳遞路徑類似于大樹的養(yǎng)分由主干流向各個(gè)分支,因此被稱為時(shí)鐘樹。
STM32內(nèi)部也是由多種多樣的電路模塊組合在一起實(shí)現(xiàn)的。當(dāng)一個(gè)電路越復(fù)雜,在達(dá)到正確的輸出結(jié)果前,它可能因?yàn)檠訒r(shí)會(huì)有一些短暫的中間狀態(tài),而這些中間狀態(tài)有時(shí)會(huì)導(dǎo)致輸出結(jié)果會(huì)有一個(gè)短暫的錯(cuò)誤,這叫做電路中的“毛刺現(xiàn)象”,如果電路需要運(yùn)行得足夠快,那么這些錯(cuò)誤狀態(tài)會(huì)被其它電路作為輸入采樣,最終形成一系列的系統(tǒng)錯(cuò)誤。為了解決這個(gè)問題,在單片機(jī)系統(tǒng)中,設(shè)計(jì)時(shí)以時(shí)序電路控制替代純粹的組合電路,在每一級(jí)輸出結(jié)果前對(duì)各個(gè)信號(hào)進(jìn)行采樣,從而使得電路中某些信號(hào)即使出現(xiàn)延時(shí)也可以保證各個(gè)信號(hào)的同步,可以避免電路中發(fā)生的“毛刺現(xiàn)象”,達(dá)到精確控制輸出的效果。
由于時(shí)序電路的重要性,因此在MCU設(shè)計(jì)時(shí)就設(shè)計(jì)了專門用于控制時(shí)序的電路,在芯片設(shè)計(jì)中稱為時(shí)鐘樹設(shè)計(jì)。由此設(shè)計(jì)出來(lái)的時(shí)鐘,可以精確控制我們的單片機(jī)系統(tǒng)。對(duì)于STM32WLE5,正常工作的主頻可以達(dá)到48Mhz,但并不是所有外設(shè)都需要系統(tǒng)時(shí)鐘這么高的頻率,比如看門狗以及RTC只需要幾十Khz的時(shí)鐘即可。同一個(gè)電路,時(shí)鐘越快功耗越大,同時(shí)抗電磁干擾能力也會(huì)越弱,所以對(duì)于較為復(fù)雜的MCU一般都是采取多時(shí)鐘源的方法來(lái)解決這些問題。
STM32本身非常復(fù)雜,外設(shè)非常的多,為了保持低功耗工作,STM32的主控默認(rèn)不開啟這些外設(shè)功能。用戶可以根據(jù)自己的需要決定STM32芯片要使用的功能,這個(gè)功能開關(guān)在STM32主控中也就是各個(gè)外設(shè)的時(shí)鐘。
第二節(jié) 時(shí)鐘源
對(duì)于STM32,輸入時(shí)鐘源主要包括HSI,HSE,LSI,LSE。其中,從時(shí)鐘頻率來(lái)分可以分為高速時(shí)鐘源和低速時(shí)鐘源,其中HSI和HSE是高速時(shí)鐘,LSI和LSE 是低速時(shí)鐘。從來(lái)源可分為外部時(shí)鐘源和內(nèi)部時(shí)鐘源,外部時(shí)鐘源就是從外部通過(guò)接晶振的方式獲取時(shí)鐘源,其中HSE和LSE是外部時(shí)鐘源;其他是內(nèi)部時(shí)鐘源,芯片上電即可產(chǎn)生,不需要借助外部電路。兩個(gè)外部時(shí)鐘源建議使用外部晶振產(chǎn)生,這樣的時(shí)鐘精度高且穩(wěn)定。
以下是各時(shí)鐘源的說(shuō)明:
1,高速外部振蕩器HSE (High Speed External Clock signal):外接石英/陶瓷諧振器,頻率為4MHz~32MHz。
2,低速外部振蕩器LSE (Low Speed External Clock signal):外接32.768kHz石英晶體,主要作用于RTC和IWDG的時(shí)鐘源。
3,高速內(nèi)部振蕩器HSI(High Speed Internal Clock signal):由內(nèi)部RC振蕩器產(chǎn)生,頻率為16MHz。
4,低速內(nèi)部振蕩器LSI(Low Speed Internal Clock signal):由內(nèi)部RC振蕩器產(chǎn)生,頻率為31~32kHz。
芯片上電時(shí)默認(rèn)由內(nèi)部的HSI時(shí)鐘啟動(dòng),如果進(jìn)行了硬件和軟件的配置,芯片才會(huì)根據(jù)配置調(diào)試嘗試切換到對(duì)應(yīng)的時(shí)鐘源
第三節(jié) 鎖相環(huán)
鎖相環(huán)是自動(dòng)控制系統(tǒng)中常用的一個(gè)反饋電路,在STM32主控中,鎖相環(huán)的作用主要有兩個(gè)部分:輸入時(shí)鐘凈化和倍頻。前者是利用鎖相環(huán)電路的反饋機(jī)制實(shí)現(xiàn),后者我們用于使芯片在更高且頻率穩(wěn)定的時(shí)鐘下工作。如圖所示:
PLL時(shí)鐘的時(shí)鐘源要先經(jīng)過(guò)一個(gè)分頻系數(shù)為PLLM的分頻器,然后經(jīng)過(guò)倍頻系數(shù)為N的倍頻器出來(lái)之后的時(shí)候還需要經(jīng)過(guò)一個(gè)分頻系數(shù)為P或者Q或者R的分頻器分頻之后,最后才生成最終的主PLL時(shí)鐘。
例如我們的外部晶振選擇32MHz。同時(shí)我們?cè)O(shè)置相應(yīng)的分頻器PLLM=8,倍頻器倍頻系數(shù)N=6,分頻器分頻系數(shù)R=2,那么PLL輸出高速時(shí)鐘PLLP為:32MHZ/2*6/2,即48MHZ。
第四節(jié) 系統(tǒng)時(shí)鐘
STM32的系統(tǒng)時(shí)鐘SYSCLK為整個(gè)芯片提供了時(shí)序信號(hào)。講解PLL作為系統(tǒng)時(shí)鐘時(shí),講到了如何把主頻通過(guò)PLL設(shè)置為48MHz。從時(shí)鐘樹圖可知,AHB、APB1、APB2、內(nèi)核時(shí)鐘等時(shí)鐘通過(guò)系統(tǒng)時(shí)鐘分頻得到。根據(jù)得到的這個(gè)系統(tǒng)時(shí)鐘,下面我們結(jié)合外設(shè)來(lái)看一看各個(gè)外設(shè)時(shí)鐘源:
可以看到,系統(tǒng)時(shí)鐘輸入源可選時(shí)鐘信號(hào)有外部高速時(shí)鐘HSE32、內(nèi)部高速時(shí)鐘HSI16、經(jīng)過(guò)倍頻的PLLCLK和MSI。這里選擇PLLCLK作為系統(tǒng)時(shí)鐘,此時(shí)系統(tǒng)時(shí)鐘的頻率為48MHz。之后變成APB1,APB2和APB3。
第五節(jié) 時(shí)鐘輸出
MCO時(shí)鐘輸出的作用是為外部器件提供時(shí)鐘。STM32允許通過(guò)設(shè)置,通過(guò)MCO引腳輸出一個(gè)穩(wěn)定的時(shí)鐘信號(hào)。
MCO時(shí)鐘輸出的時(shí)鐘來(lái)源從上向下依次為:LSE,LSI,HSE,HSI,PLLCLK,SYSCLK,MSI,PLLP和PLLQ。
-
mcu
+關(guān)注
關(guān)注
146文章
17269瀏覽量
352055 -
STM32
+關(guān)注
關(guān)注
2270文章
10918瀏覽量
356890 -
時(shí)鐘樹
+關(guān)注
關(guān)注
0文章
55瀏覽量
10784
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論