下面就以STM32開(kāi)發(fā)板中最常見(jiàn)的STM32F103系列芯片的時(shí)鐘為例,介紹一下STM32中的時(shí)鐘。
時(shí)鐘作用
說(shuō)到時(shí)鐘,你一定會(huì)問(wèn),這是用來(lái)計(jì)時(shí)的嗎?沒(méi)錯(cuò),是用來(lái)計(jì)時(shí)的,但這只是它在STM32中的一項(xiàng)功能而已,下面就為你列出了時(shí)鐘的具體功能。
計(jì)時(shí)作用(供給某些計(jì)數(shù)器統(tǒng)計(jì)時(shí)間);
控制時(shí)序(串口數(shù)據(jù)的傳輸,只能一位一位的傳輸);
控制信號(hào)(將時(shí)鐘的上升下降沿作為獨(dú)特的控制標(biāo)志)。
STM32時(shí)鐘模型

STM32內(nèi)部時(shí)鐘樹(shù)

時(shí)鐘源
時(shí)鐘源就是產(chǎn)生時(shí)鐘的電路啦,我們來(lái)一起看一下,什么樣的電路可以產(chǎn)生時(shí)鐘。
STM32中的時(shí)鐘源分為以下五種:
低速內(nèi)部時(shí)鐘LSI:頻率為40kHz ;
高速內(nèi)部時(shí)鐘HSI :頻率為8MHz ;
低速外部時(shí)鐘OSC_32:頻率為32.7678kHz ;
高速外部時(shí)鐘OSC:頻率范圍4-16MHz ;
時(shí)鐘輸出MCO:為其他設(shè)備提供時(shí)鐘源。
在對(duì)時(shí)鐘頻率要求不高的情況下,我們可以選擇內(nèi)部RC振蕩器時(shí)鐘作為單片機(jī)工作的時(shí)鐘源。如果對(duì)時(shí)鐘精度要求較高,我們要選擇外部石英晶體振蕩器(晶振),作為單片機(jī)的時(shí)鐘源,因?yàn)閮?nèi)部時(shí)鐘用的是模擬電路組成的振蕩器,誤差較大,在實(shí)時(shí)性要求比較高的場(chǎng)合(串口通信、IIC通信等)容易造成不可預(yù)知的錯(cuò)誤。
時(shí)鐘相對(duì)復(fù)雜的意義主要是為不同外設(shè)提供合適的時(shí)鐘頻率,主要目的是為了節(jié)能、低功耗。
高速時(shí)鐘:用于高速外設(shè)I/O、串口通信、SPI等等;
低速時(shí)鐘:用于低速外設(shè)RTC看門狗 ;
倍頻器:時(shí)鐘與外設(shè)進(jìn)行時(shí)鐘適配。
相關(guān)寄存器講解
PLLSRC鎖相環(huán)倍頻器時(shí)鐘源選擇內(nèi)部高速時(shí)鐘2分頻外部高速時(shí)鐘
PLLMUL鎖相環(huán)時(shí)鐘倍頻器將PLLSRC選擇的時(shí)鐘進(jìn)行倍頻,最大不能超過(guò)72MHz
PLLXTPRE鎖相環(huán)時(shí)鐘選擇選擇外部時(shí)鐘作為鎖相環(huán)倍頻器時(shí)鐘源選擇外部時(shí)鐘2分頻后作為鎖相環(huán)倍頻器時(shí)鐘源
SW系統(tǒng)時(shí)鐘選擇選擇內(nèi)部高速時(shí)鐘作為系統(tǒng)時(shí)鐘選擇鎖相環(huán)倍頻時(shí)鐘作為系統(tǒng)時(shí)鐘選擇外部高速時(shí)鐘作為系統(tǒng)時(shí)鐘
AHB系統(tǒng)時(shí)鐘分頻器
CSS時(shí)鐘安全監(jiān)測(cè)單元當(dāng)外部時(shí)鐘意外故障,CSS在短時(shí)間內(nèi)切換到內(nèi)部高速時(shí)鐘使單片機(jī)工作不中斷
RTCCLK實(shí)時(shí)時(shí)鐘時(shí)鐘源選擇選擇鎖相環(huán)倍頻器時(shí)鐘源128分頻作為實(shí)時(shí)時(shí)鐘時(shí)鐘源選擇外部低速時(shí)鐘作為實(shí)時(shí)時(shí)鐘時(shí)鐘源選擇內(nèi)部低俗時(shí)鐘作為實(shí)時(shí)時(shí)鐘時(shí)鐘源
MCO時(shí)鐘輸出控制鎖相環(huán)時(shí)鐘2分頻輸出內(nèi)部低俗時(shí)鐘輸出內(nèi)部高速時(shí)鐘輸出系統(tǒng)時(shí)鐘輸出
關(guān)于APB1、APB2時(shí)鐘
STM32單片機(jī)外設(shè)掛接在APB1、APB2兩個(gè)橋上,但兩個(gè)橋允許的始終最大頻率不相同,APB2最大允許72MHz,APB1最大只允許36MHz,在使用外設(shè)時(shí)應(yīng)格外注意時(shí)鐘,例如串口一掛接在APB2上,其余串口掛接在APB1上,在串口配置時(shí)應(yīng)注意失蹤頻率的不同造成的波特率配置問(wèn)題(庫(kù)函數(shù)開(kāi)發(fā)忽略此項(xiàng)內(nèi)容)。
外部時(shí)鐘晶體振蕩器最好選擇8MHz晶振,無(wú)論是庫(kù)函數(shù),還是Keil默認(rèn)配置啟動(dòng)文件時(shí)鐘配置均是按照外部晶體振蕩器8MHz來(lái)進(jìn)行的配置,系統(tǒng)時(shí)鐘72MHz,如果采用其他型號(hào)的晶體震蕩器振還需要自己配置時(shí)鐘樹(shù),對(duì)于新手來(lái)說(shuō)可能存在一定的困難。
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7339瀏覽量
94829 -
STM32
+關(guān)注
關(guān)注
2310文章
11167瀏覽量
373625 -
時(shí)鐘
+關(guān)注
關(guān)注
11文章
1980瀏覽量
135047
原文標(biāo)題:STM32中的時(shí)鐘
文章出處:【微信號(hào):mcugeek,微信公眾號(hào):MCU開(kāi)發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
時(shí)鐘緩沖器與時(shí)鐘發(fā)生器各自優(yōu)勢(shì)介紹
LAT1599_STM32G0 系列 CSS 功能及應(yīng)用問(wèn)題
LAT1180+STM32L4R9 的 QuadSPI Flash 通訊速率不理想應(yīng)用筆記
LAT1215+如何讓 STM32WB 在沒(méi)有 LSE 時(shí)運(yùn)行 BLE 應(yīng)用程序
CW32時(shí)鐘運(yùn)行中失效檢測(cè)的流程是什么?CW32時(shí)鐘運(yùn)行中失效檢測(cè)注意事項(xiàng)有哪些呢?
Proteus中配置STM32外部時(shí)鐘HSE如何配置
時(shí)鐘設(shè)計(jì)優(yōu)化實(shí)戰(zhàn)
時(shí)鐘同步在低空經(jīng)濟(jì)中的典型應(yīng)用及發(fā)展方向
時(shí)鐘緩沖器在現(xiàn)代化建設(shè)中的作用
AMD Vivado Design Tool綜合中的門控時(shí)鐘轉(zhuǎn)換
電容在時(shí)鐘電路中的應(yīng)用有哪些
FPGA時(shí)序約束之設(shè)置時(shí)鐘組
STM32中的時(shí)鐘
評(píng)論