下面就以STM32開發(fā)板中最常見的STM32F103系列芯片的時(shí)鐘為例,介紹一下STM32中的時(shí)鐘。
時(shí)鐘作用
說到時(shí)鐘,你一定會(huì)問,這是用來計(jì)時(shí)的嗎?沒錯(cuò),是用來計(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í)鐘源就是產(chǎn)生時(shí)鐘的電路啦,我們來一起看一下,什么樣的電路可以產(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)行倍頻,最大不能超過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)注意失蹤頻率的不同造成的波特率配置問題(庫函數(shù)開發(fā)忽略此項(xiàng)內(nèi)容)。
外部時(shí)鐘晶體振蕩器最好選擇8MHz晶振,無論是庫函數(shù),還是Keil默認(rèn)配置啟動(dòng)文件時(shí)鐘配置均是按照外部晶體振蕩器8MHz來進(jìn)行的配置,系統(tǒng)時(shí)鐘72MHz,如果采用其他型號(hào)的晶體震蕩器振還需要自己配置時(shí)鐘樹,對(duì)于新手來說可能存在一定的困難。
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7102瀏覽量
89283 -
STM32
+關(guān)注
關(guān)注
2270文章
10915瀏覽量
356755 -
時(shí)鐘
+關(guān)注
關(guān)注
11文章
1740瀏覽量
131630
原文標(biāo)題:STM32中的時(shí)鐘
文章出處:【微信號(hào):mcugeek,微信公眾號(hào):MCU開發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論