在單片機中,比如我們常用的STM32是有五個時鐘源的,分別是:HSI,LSI,HSE,LSE,PLL。
這些時鐘源都體現(xiàn)在時鐘樹,我們知道每個型號的單片機手冊都有時鐘樹的展示,這樣讓我們能清楚知道應用到的外設是通過哪個時鐘源分頻或倍頻得來的。我們以ST推出的STM32G030為例來看下:
1、HSI是高速內(nèi)部時鐘,RC振蕩器,頻率為16MHz。
2、LSI是低速內(nèi)部時鐘,RC振蕩器,頻率為32KHz。
3、HSE是高速外部時鐘,可接晶體/陶瓷振蕩器,或者接外部時鐘源(Bypass模式),頻率范圍是4-48MHz。
4、LSE是低速外部時鐘,接頻率為32.768KHz的石英或諧振器,或者使用旁路模式引入外部時鐘源。
5、PLL為鎖相環(huán)倍頻輸出,其時鐘輸入源可選擇為HSE、HSI。倍頻可選擇為1~8倍,但是其輸出頻率最大不得超過64MHz(注意單片機的最大頻率)。
我們看到LSI(32KHz)供獨立看門狗IWDG使用,另外它還可以被選擇為實時時鐘RTC的時鐘源。
當然我們看到RTC的時鐘源還可以選擇LSE,或者是HSE的32分頻。當然選擇哪個作為最終的時鐘源就是通過寄存器來配置了。
這個LSI(低速內(nèi)部時鐘)可以用于除Shutdown和VBAT模式之外的所有模式。
系統(tǒng)時鐘是可以提供絕大部分工作的時鐘源,是可以通過LSE、LSI、HSE、PLL、HSI分頻獲得。系統(tǒng)時鐘可以分頻給到總線去分到各個外設上,還可以直接提供給外設,比如ADC和I2S。系統(tǒng)時鐘、AHB總線的最大時鐘可以是64MHz(單片機支持最大頻率)。
HSI時鐘可以衍生HSISYS,HSISYS這個可以從Stop0和Stop1模式喚醒后被選為時鐘源,也可以當做備份時鐘源。
I2C、UART、LPUART在Stop模式下如果探測到了從Stop模式下喚醒的序列則能夠自動使能HSI16時鐘。(HSI16時鐘在Stop模式下保持關閉的狀態(tài),除非探測到了外設喚醒序列)
HSE的時鐘安全系統(tǒng)(CSS),自動檢測到HSE失效時切換到HSI16。
LSE的時鐘安全系統(tǒng)適用于除了Shutdown和VBAT模式之外的所有模式,在復位狀態(tài)下仍然有效。
LSE可用于RTC, U(S)ARTs, LPUART, LPTIMs.
PLL可以給到三路輸出,是可以獲得的最大頻率不一樣,給到的外設不一樣,PLLPCLK是最大頻率可以做到122MHz,可以給到ADC或者I2S。PLLQCLK最大頻率是112MHz,是應用到定時器的。PLLRCLK最大頻率是56MHz,主要是給到系統(tǒng)時鐘。
多個時鐘源的好處是在選擇時鐘源的時候具有高度的靈活性,可滿足功耗和精度的要求。
許多獨立的外設時鐘允許在不影響通信波特率的情況下調(diào)整功耗,并在低功耗模式下保持一些外設有效。
現(xiàn)在很多單片機都考慮到了低功耗,自然時鐘也是其中很重要的部分了。
對于應用外設時鐘這塊還是很重要的,需要會看時鐘樹,會對應用需要的時鐘進行配置,這個就顯得很重要了,比如想要高速時鐘需要倍頻,如果是低功耗需要分頻,首先還是需要去看時鐘的分布,才好再去應用的。
編輯:jq
-
單片機
+關注
關注
6037文章
44558瀏覽量
635353 -
rc振蕩器
+關注
關注
3文章
48瀏覽量
9563
原文標題:單片機的時鐘源
文章出處:【微信號:gh_e7f294a514ca,微信公眾號:單片機匠人】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論