如何使用振(zhen)蕩器(qi)和(he)時(shi)(shi)鐘在微控制(zhi)器(qi)中產生可靠的(de)時(shi)(shi)序
時間:2025-01-17 來源:華(hua)清(qing)遠見
在微控(kong)制器中,可(ke)靠的(de)時序是確保系(xi)統(tong)(tong)功(gong)能正確執(zhi)行的(de)關鍵因素。時鐘和振蕩器是生成時序信號(hao)的(de)基(ji)本組件,它們提供了系(xi)統(tong)(tong)中所(suo)有時間控(kong)制的(de)基(ji)礎。
本文以(yi)華清遠見的STM32G030及U575開發板為例,主(zhu)要對如何使用振(zhen)蕩器(qi)和時(shi)鐘在微控制(zhi)器(qi)中產生可靠時(shi)序進(jin)行詳細(xi)分析。


1. 概述
振(zhen)蕩器(Oscillator) 是(shi)一個電子(zi)電路,用于生成連續的周期(qi)性信號,通常是(shi)正(zheng)弦(xian)波或方波。這個信號作為時鐘(zhong)源,驅動微控制器的時序操作。
時(shi)鐘(Clock) 是(shi)一種周期性(xing)變化的信號(hao),通常由振蕩器提供。時(shi)鐘信號(hao)的周期決定了系(xi)統(tong)操作(zuo)的速度(du)。
關聯與區別
關(guan)聯:振蕩(dang)器(qi)是時(shi)(shi)鐘信號的(de)主要來源(yuan)之一。時(shi)(shi)鐘信號是振蕩(dang)器(qi)輸出的(de)周期(qi)性電信號的(de)一種(zhong)具體應用。
區別(bie):振(zhen)蕩器是(shi)一個電(dian)路或設備,而(er)時(shi)鐘(zhong)信(xin)號(hao)(hao)是(shi)一種電(dian)信(xin)號(hao)(hao)。振(zhen)蕩器可以產(chan)生多種波形(xing)和頻(pin)率(lv)的信(xin)號(hao)(hao),而(er)時(shi)鐘(zhong)信(xin)號(hao)(hao)通常指(zhi)具有特定頻(pin)率(lv)和波形(xing)的周期性信(xin)號(hao)(hao)。
振(zhen)蕩器作(zuo)為時鐘信號(hao)的生成器,為系(xi)統(tong)提(ti)供(gong)了穩定(ding)、準確的周期性(xing)信號(hao);而時鐘信號(hao)則作(zuo)為系(xi)統(tong)的“心跳”,協調和控制(zhi)著系(xi)統(tong)的各種操作(zuo)。
2. 振蕩器的類型及其工作原理
振(zhen)蕩(dang)器是(shi)能夠生成穩定、周期(qi)性(xing)(xing)波形的電子電路。它(ta)的輸出(chu)波形通常是(shi)正弦(xian)波或(huo)方波。振(zhen)蕩(dang)器的關鍵特性(xing)(xing)是(shi)振(zhen)蕩(dang)頻率和穩定性(xing)(xing),影響系統的時序精(jing)度。
常見(jian)的振蕩器類型(xing)
1. 晶體振蕩器(Crystal Oscillator)

利用石英晶體的機械(xie)振動特(te)性來產生時(shi)鐘信號。
原理(li):石(shi)英(ying)晶(jing)體在受到(dao)外部(bu)電場激勵時會發生機械振動,振動的頻率非(fei)常穩定,因此可以用來生成精(jing)確的時鐘信(xin)號。
優點(dian):高精(jing)度、高穩定性,適合需要精(jing)確時序的應(ying)用。
缺點:成本較(jiao)(jiao)高,體(ti)積(ji)較(jiao)(jiao)大(da),對溫度、濕度敏感。

2. RC振蕩器(Resistor-Capacitor Oscillator)


由電(dian)阻和電(dian)容的(de)組合構成,通過(guo)電(dian)容的(de)充放電(dian)過(guo)程(cheng)產生時鐘信號(hao)。
原理:電(dian)阻和(he)電(dian)容的充放電(dian)過(guo)程會產生周期性(xing)的電(dian)壓波(bo)動,這(zhe)種波(bo)動就可(ke)以轉化(hua)為時鐘信號。
優(you)點:設(she)計簡單、成本低、體積(ji)小。
缺點:時鐘精度差(cha),易受溫度、電源等因(yin)素(su)影響。
3. LC振蕩器(Inductor-Capacitor Oscillator)

通過(guo)電(dian)感和電(dian)容(rong)的組(zu)合產生時鐘信號。
原理:電感和電容的組(zu)合會(hui)形成一個LC回路(lu),在該回路(lu)中,電流(liu)和電壓會(hui)進(jin)行(xing)周期性的變化,從而(er)產(chan)生穩(wen)定(ding)的時鐘(zhong)信(xin)號。
優點:比RC振蕩器(qi)更精確,適用于較(jiao)高頻率的(de)應用。
缺點:對電源噪聲、溫度等(deng)比較(jiao)敏感。
1. 陶瓷振蕩器(Ceramic Oscillator)
類(lei)似于晶體振蕩器,但使用陶瓷材料來產(chan)生(sheng)振蕩信號。
優(you)點:相對于晶體振蕩器(qi),成本(ben)更(geng)低、體積更(geng)小。
缺(que)點:精度(du)和(he)穩(wen)定性(xing)較差,通(tong)常僅用(yong)于低精度(du)的應用(yong)。
選擇振蕩器的標準
1. 精度(du)要(yao)求:如果系統對時序要(yao)求很(hen)高,通常(chang)需要(yao)選擇晶體振蕩(dang)器或陶瓷振蕩(dang)器。
2. 穩定(ding)性(xing)要求(qiu):如果(guo)微控制器(qi)需要在不同(tong)的(de)(de)環(huan)境條件下運行,選擇具有較高溫度(du)穩定(ding)性(xing)的(de)(de)振蕩器(qi)(如晶體振蕩器(qi))是一個更好(hao)的(de)(de)選擇。
3. 功耗要求:低功耗應用通常使用內部RC振(zhen)蕩器(qi)或陶瓷(ci)振(zhen)蕩器(qi)。
3. 時鐘源的選擇與配置
微控制器(qi)通常有(you)多種(zhong)時鐘(zhong)源(yuan)的選擇,可(ke)以使(shi)用內部(bu)時鐘(zhong)源(yuan)(內部(bu)RC振(zhen)蕩器(qi))或外(wai)部(bu)時鐘(zhong)源(yuan)(外(wai)部(bu)晶(jing)體振(zhen)蕩器(qi))。
時鐘源配置
內部時鐘源:
特點:集(ji)成在微控(kong)制器內(nei),通常為RC振蕩器或高(gao)速內(nei)部(bu)PLL(鎖相環(huan))。配置簡單,不需(xu)要外部(bu)組件。
優點:成本(ben)低、體積(ji)小、設計簡(jian)單、啟(qi)動快。
缺點(dian):精度差、穩定性差,通(tong)常受溫度、電源波(bo)動影響較大。
適用場景:低(di)(di)精度、低(di)(di)成本(ben)要求的應用,或對時鐘要求不高的系統(tong)。



外部時鐘源:
特點:通過外部連接的晶體振(zhen)蕩器、陶瓷振(zhen)蕩器或其他穩定的時(shi)鐘源來提供時(shi)鐘信(xin)號。
優點:可以提(ti)供更(geng)高精度和更(geng)好(hao)的穩定性,適(shi)合需要長時間(jian)可靠運行的系(xi)統。
缺點(dian):成本較(jiao)高、系(xi)統設(she)計復(fu)雜,可能(neng)需要更多(duo)的外圍組件。
適用場景(jing):需要高精度、高穩(wen)定性的應(ying)用,如通(tong)信、精密計時等。



時鐘源的選擇依據
1. 精(jing)度(du):外部晶體振蕩器和陶瓷(ci)振蕩器提供更(geng)高的時鐘精(jing)度(du)。內(nei)部時鐘源適(shi)用(yong)于(yu)精(jing)度(du)要求不高的場(chang)合。
2. 功耗:內(nei)部(bu)時鐘源(yuan)一(yi)般功耗較低,適合低功耗應用。
3. 成(cheng)本和體積:內部時鐘源(yuan)不需(xu)要額外的(de)(de)組(zu)件,因此具有較低的(de)(de)成(cheng)本和更小的(de)(de)體積。
4. 環境適應性(xing)(xing):如果系統需要在溫度變化較大的環境中工作(zuo),選擇外部晶體振蕩器可以提(ti)供更好的穩定性(xing)(xing)。
時鐘配置和調整
微控制器的時鐘(zhong)系統(tong)不僅(jin)依賴于時鐘(zhong)源(yuan)的選擇,還需要通過(guo)一些配置來(lai)優化系統(tong)性能。

1. 時鐘分頻器(qi)(Prescaler)
時(shi)鐘(zhong)(zhong)(zhong)分(fen)頻(pin)器的作用(yong)是將輸入時(shi)鐘(zhong)(zhong)(zhong)信號的頻(pin)率(lv)降低,得到所(suo)需的時(shi)鐘(zhong)(zhong)(zhong)頻(pin)率(lv)。例如(ru),系統時(shi)鐘(zhong)(zhong)(zhong)頻(pin)率(lv)可能過(guo)高或過(guo)低,需要通過(guo)分(fen)頻(pin)器來調整。
應用:如果系統(tong)需(xu)要不(bu)同(tong)的外設工作在不(bu)同(tong)的時(shi)鐘頻率下(xia),可以通過時(shi)鐘分頻器(qi)對時(shi)鐘信號(hao)進行調整(zheng)。
微控制(zhi)器(qi)的(de)支持:如STM32系列微控制(zhi)器(qi)中,用戶可以(yi)通過(guo)修改RCC寄存器(qi)配置時鐘(zhong)分頻器(qi),以(yi)便為不(bu)(bu)同的(de)外設提供不(bu)(bu)同的(de)時鐘(zhong)頻率。
2. 鎖相環(PLL, Phase-Locked Loop)
PLL 是一種頻(pin)率合成(cheng)技術,能夠(gou)通過(guo)倍頻(pin)將輸(shu)入時鐘信號的(de)頻(pin)率提高到所(suo)需(xu)的(de)水平。 PLL對于需(xu)要高頻(pin)時鐘的(de)應(ying)用尤為(wei)重要。
功能:PLL 將外(wai)部低頻(pin)(pin)時(shi)鐘信號(如(ru)低精度的(de)晶體振蕩器信號)倍頻(pin)(pin)后(hou)產(chan)生一個更高(gao)頻(pin)(pin)率(lv)的(de)時(shi)鐘信號。
應(ying)用(yong)場景(jing):在微控制器中,PLL常用(yong)于提高系統時鐘頻率,以獲得更高的(de)處(chu)理(li)速度。
3. 時(shi)鐘源(yuan)切換(Clock Switching)
動(dong)(dong)態(tai)時鐘切(qie)換:可以在(zai)正常運行(xing)模(mo)(mo)式(shi)和低功耗模(mo)(mo)式(shi)之間動(dong)(dong)態(tai)切(qie)換時鐘源(yuan)。在(zai)低功耗模(mo)(mo)式(shi)下,微控(kong)制(zhi)器可能使(shi)用內部(bu)低速時鐘源(yuan),而在(zai)全(quan)速模(mo)(mo)式(shi)下則使(shi)用外部(bu)高精度時鐘源(yuan)。
4. 如何保障時鐘可靠性
影響因素
溫度變化
1. 溫度對晶體振蕩(dang)器的(de)頻(pin)率(lv)影響較小,一般情(qing)況下(xia),溫度每(mei)變(bian)化1℃,振蕩(dang)器頻(pin)率(lv)會偏移幾(ji)PPM(百萬分之一)。
2. 對(dui)于RC振(zhen)蕩(dang)器(qi)和LC振(zhen)蕩(dang)器(qi),溫度(du)變(bian)化的影響更加顯著,頻率漂移可能達到幾十到幾百PPM。因此(ci),在溫度(du)變(bian)化較大(da)的環境中(zhong),選(xuan)擇晶體振(zhen)蕩(dang)器(qi)會更有優勢。
電源波動
1. 電(dian)源電(dian)壓(ya)的波(bo)動(dong)會直接影響(xiang)振蕩器(qi)的工作狀(zhuang)態,特別是RC和LC振蕩器(qi)對電(dian)壓(ya)變化非常(chang)敏感(gan)。
2. 在電(dian)源不穩定(ding)的情(qing)況下,使(shi)用(yong)(yong)外部穩定(ding)的電(dian)源模塊(kuai)或穩壓器來確(que)保時(shi)鐘信號的穩定(ding)性,尤(you)其是(shi)在高精(jing)度應(ying)用(yong)(yong)中至關重要。
電磁干擾(rao)(EMI)
1. 時(shi)(shi)鐘信(xin)號(hao)是高頻信(xin)號(hao),容易受到外部電磁干擾。電磁干擾會導致時(shi)(shi)鐘信(xin)號(hao)的(de)相位抖動,進而影(ying)響時(shi)(shi)序的(de)準確性。
2. 可(ke)以通過PCB設(she)計(ji)中的電(dian)源隔離、接地平面(mian)設(she)計(ji)、濾波電(dian)容(rong)等措施來減少電(dian)磁干擾的影響。
老化效應
1. 振(zhen)蕩(dang)器(qi)的(de)(de)精度隨(sui)時間變化(hua)會逐漸(jian)下降(jiang),這種(zhong)效應通(tong)常被稱為老化(hua)。對于晶體振(zhen)蕩(dang)器(qi),隨(sui)著使用時間的(de)(de)延長,頻率(lv)會發(fa)生微小(xiao)變化(hua)。為了減少老化(hua)效應的(de)(de)影響,一些高精度的(de)(de)振(zhen)蕩(dang)器(qi)會在出廠時進(jin)行(xing)補償。
2. 外(wai)部噪聲與振蕩器的精度
3. 振蕩器(qi)常(chang)常(chang)受外(wai)(wai)部噪聲(sheng)源(yuan)影響,特別是對于低(di)頻和低(di)精度的時(shi)鐘源(yuan)。使用低(di)噪聲(sheng)電(dian)源(yuan)和過濾技術,減少外(wai)(wai)部噪聲(sheng)源(yuan)的影響,可以提高時(shi)鐘系統的精度。
解決措施
為了確保時(shi)鐘系統在微(wei)控制(zhi)器中產(chan)生(sheng)可(ke)靠時(shi)序,可(ke)以(yi)采取以(yi)下措(cuo)施:
1. 使用高(gao)穩定性振(zhen)蕩器(qi):選擇高(gao)精(jing)(jing)度和高(gao)穩定性的振(zhen)蕩器(qi)(如晶(jing)體振(zhen)蕩器(qi)),特別是在(zai)對(dui)時(shi)鐘精(jing)(jing)度要求較高(gao)的系統(tong)中。
2. 電(dian)源和時鐘隔離:使(shi)用獨立的電(dian)源和接地(di)系統(tong)來隔離時鐘信號,減少電(dian)源噪聲和電(dian)磁干擾的影響。
3. 溫度補償:一些(xie)高(gao)精(jing)度振蕩器支持溫度補償功能,能夠在不同(tong)溫度條(tiao)件下保持穩(wen)定的輸(shu)出(chu)頻(pin)率。
4. 時(shi)(shi)鐘監(jian)控(kong)和自校準(zhun):通(tong)過內建(jian)的時(shi)(shi)鐘監(jian)控(kong)機制或外部(bu)設備對(dui)時(shi)(shi)鐘信號進(jin)行監(jian)控(kong),及時(shi)(shi)發現時(shi)(shi)鐘偏移并進(jin)行校準(zhun)。
5. 時鐘配置實例
以 STM32 微控制器(qi)為例,以下是配置時鐘的一(yi)些步驟:
1. 選擇時鐘(zhong)(zhong)源:選擇使(shi)用外(wai)部(bu)晶體振蕩器或(huo)內部(bu)時鐘(zhong)(zhong)源。可以通(tong)過配置(zhi) RCC(時鐘(zhong)(zhong)控制寄存器)來選擇。


2. 配(pei)置(zhi) PLL:如果需要更高的系統時(shi)鐘頻率,可以啟用(yong) PLL,將輸入時(shi)鐘倍(bei)頻后輸出到系統時(shi)鐘。

3. 分頻(pin)器設置(zhi):使用分頻(pin)器調整外設時鐘頻(pin)率,以適應不(bu)同的工作(zuo)要求。

4.時(shi)(shi)鐘切(qie)(qie)換:可(ke)以在運行(xing)時(shi)(shi)根據需要切(qie)(qie)換時(shi)(shi)鐘源,例如從高精(jing)度時(shi)(shi)鐘切(qie)(qie)換到低功耗(hao)時(shi)(shi)鐘。
6. 如何確保時序可靠性
1. 使用(yong)外(wai)(wai)部時鐘(zhong)源:對(dui)于高精度要(yao)求的系統,優先使用(yong)外(wai)(wai)部晶體振蕩器。
2. 合(he)理配置分(fen)頻器(qi)和PLL:根(gen)據應用需求選擇合(he)適的時(shi)鐘頻率,避免時(shi)鐘頻率過高導(dao)致(zhi)功耗增加(jia)或過低導(dao)致(zhi)性能下降(jiang)。
3. 校(xiao)準時鐘:某些微(wei)控制器提(ti)供時鐘校(xiao)準功能,可以(yi)(yi)根(gen)據(ju)實(shi)際運(yun)行(xing)情況進行(xing)微(wei)調,以(yi)(yi)提(ti)高(gao)時鐘的準確性。
4. 添(tian)加濾(lv)波電(dian)路:為了減(jian)少(shao)電(dian)源噪聲對時鐘的影響,可(ke)以在時鐘輸入端添(tian)加濾(lv)波電(dian)路。
綜(zong)上所述,使用振蕩(dang)器(qi)和(he)時(shi)(shi)鐘在微控(kong)制器(qi)中產生可(ke)靠(kao)的時(shi)(shi)序,需要選擇合適的振蕩(dang)器(qi)和(he)時(shi)(shi)鐘頻率、優(you)化時(shi)(shi)鐘電路布局、利用微控(kong)制器(qi)的時(shi)(shi)鐘分(fen)頻和(he)倍(bei)頻功能、編寫(xie)可(ke)靠(kao)的時(shi)(shi)序控(kong)制程(cheng)序,并進行充分(fen)的測(ce)試和(he)驗證。

