幾乎所有使用 MCU 的產品,外圍電路都離不開晶振電路設計,大多數電子設計人員從入門開始都會接觸到晶振電路,但實際上,很少有人真正了解晶振電路是如何工作的,在晶振出現問題之前,多數人不會付出太多精力去關注振蕩器電路設計是否合理,通常等到產品量產,由于晶振而導致的大面積宕機現象時,才開始注意到晶振電路設計是否合理。
晶振的全稱叫:石英晶體振蕩器。是利用石英晶體的壓電效應廠商高精度振蕩頻率的一種電子元件。查看維基百科,對于這種神奇的材料具體的講解是:
晶體是指其中的原子、分子、或離子以規(guī)則、重復的模式朝各方向延伸的一種固體。晶體與幾乎所有的彈性物質都具有自然共振頻率,透過適當的傳感器可加以利用。共振頻率取決于晶體的尺寸、形狀、彈性、與物質內的音速。高頻用的晶體通常是切成簡單的形狀,如方形片狀。運用石英晶體上的電極對一顆被適當切割并安置的石英晶體施以電場時,晶體會產生變形。這就是逆壓電效應。當外加電場移除時,石英晶體會恢復原狀并發(fā)出電場,因而在電極上產生電壓。這樣的特性造成石英晶體在電路中的行為,類似于某種電感器、電容器、與電阻器所組合成的 RLC 電路。組合中的電感電容諧振頻率則反映了石英晶體的實體共振頻率。
石英晶體等效模型:
Cp:等效電路中與串聯臂并接的電容(譯注:也叫并電容,靜電電容,其值一般僅與晶振的尺寸有關)。
Ls:(動態(tài)等效電感)代表晶振機械振動的慣性。
Cs:(動態(tài)等效電容)代表晶振的彈性。
Rs:(動態(tài)等效電阻)代表電路的損耗
了解晶振電路的設計,首先你要熟悉 Pierce(皮爾斯)振蕩器電路。該模型電路簡單,工作有效而且穩(wěn)定,因此現今幾乎所有的晶振電路設計都采用這個模型。如下,該設計包含一個反相器、一個電阻、一個石英晶體、兩個小電容。石英晶體在此扮演高選擇度的濾波元件:
Inv:內部反相器器,作用等同于放大器。
Q:石英或陶瓷晶振。
Rf:內部反饋電阻(譯注:它的存在使反相器工作在線性區(qū), 從而使其獲得增益,作用等同于放大器)。
RExt:外部限流電阻。
CL1 和 CL2:兩個外部負載電容。
Cs:由于 PCB 布線及連接等寄生效應引起的等效雜散電容(OSC_IN 和 OSC_OUT 管腳上)
接下來,我們重點關注內部反饋電阻 Rf、負載電容 Cl、外部限流電阻 Rext——
反饋電阻 Rf
皮爾斯振蕩器中,連接晶振的芯片內部是一個線性的運算放大器,由于運算放大器的電壓增益非常大,范圍從數百到數萬倍不等,因此通常使用運算放大器會將輸出端與反向輸入端連接形成一個負反饋組態(tài)(即閉環(huán)放大器)。皮爾斯振蕩器中的反饋電阻 Rf 可以看成是反相器的偏壓電阻,可以令反相器工作在線性區(qū)域而不至于由于增益過大而工作在完全導通或截止的狀態(tài)。
大多數情況下,Rf 是內嵌在芯片內部中,但不排除有些芯片的設計并未內嵌這個電阻,因此在這種情況下,你會看到有些晶振電路的外部并聯著一個電阻。不同頻率對應的反饋電阻參考值:
負載電容 CL
負載電容指連接到晶振上的終端電容,該終端電容包括:外部電容 CL1 和 CL2、印刷電路板上的雜散電容(Cs)。CL 的值是晶振本身決定,供應商會在規(guī)格書中給出,當晶振外部等效電容等于負載電容 CL 時,無源晶振輸出的頻率最準確。
CL=(CL1//CL2)+CS
?即:CL=[(CL1xCL2)/(CL1+CL2)]+CS
需要注意的是:電容具有充放電的功能,電容容值越大,放電越慢,電容容值越小,放電越快。因此實際調試中,如果測得的實際頻率比理論值偏小,說明振蕩器振蕩頻率偏慢,電容的放電太慢,等效電容大于負載電容,需要降低外部的匹配電容
外部電阻 Rext
在開始闡釋外部電阻之前,我們需要再了解兩個概念:振蕩器增益余量 gain、驅動級別 DL——
增益余量 gain:表征振蕩電路的放大能力
驅動級別 DL:表征晶振的驅動功耗
早在 1988 年, Eric Vittoz 發(fā)表了晶振 RLC 動態(tài)等效電路的相關理論研究,基于前人的理論,反相器跨導 gm 必須大于 gmcrit 才能滿足起振條件,為保證可靠性,還必須滿足至少 5 倍的關系;即:gmargin = gm / gmcrit
其中,gmcrit = 4 x ESR x (2πF)2 x (C0 + CL)2,ESR、C0、CL 都可以從晶振規(guī)格書中獲取,gm 從芯片規(guī)格書中獲得;
驅動級別 DL 描述的是晶振的功耗,晶振的功耗必須限制在一定范圍內,否則石英晶體可能會由于過度機械振動而導致不能正常工作。
DL = ESR x I2,其中 ESR 為晶振的等效串聯電阻,I 為流過晶振的電流的均方根有效值;
你必須讓 DL 值小于晶振規(guī)格書中限定的 DL 值,如果實際 DL 值較高,則需要 Rext 電阻對驅動功率進行限制。
對于 I 的測量需要電流探頭進行測量,而且由于驅動電流一般比較小,因此需要 1mA/mV 檔,實際操作中,你可能并沒有分辨率這么高的電流探頭,那么你可以通過觀測晶振引腳輸出波形的形狀進行確認,具體方法我們在下面講。
當你能耐心看到這里,對于晶振設計的基礎概念、計算已經都了解過,接下來,可以搬上我們最終的晶振設計步驟:
第一步:增益余量的計算
gmcrit = 4 x ESR x (2πF)2 x (C0 + CL)2,ESR、C0、CL 都可以從晶振規(guī)格書中獲取,gm 從芯片規(guī)格書中獲得;gmargin = gm / gmcrit ,
若 gmargin<5,說明這不是一個合格的晶振,你該去挑選一個更低 ESR 或 CL 值的晶振;
若 gmargin>5,進行第二步;
第二步:外部負載電容計算
CL=(CL1//CL2)+CS
?即:CL=[(CL1xCL2)/(CL1+CL2)]+CS
CL 為晶振規(guī)格書給出的負載電容,CL1,CL2 為所要計算的外部電容,CS 為雜散電容(可粗略使用 4pf 進行計算)
第三步:驅動級別和外部電阻的計算
用一臺示波器檢測 OSC 輸出腳,
如果檢測到非常清晰的正弦波,且正弦波的上限值和下限值都符合時鐘輸入需要,則晶振未被過分驅動;那么祝賀你,你找到了合適的晶振;
如果正弦波形的波峰,波谷兩端被削平,而使波形成為方形,則晶振被過分驅動。這時就需要用電阻 Rext 來防止晶振被過分驅動。判斷電阻 RD 大小的最簡單的方法就是串聯一個微調電阻,從 0 開始慢慢調高,一直到正弦波不在被削平為止,這時的電阻值為 Rext 值。此時,由于需要串聯 Rext,晶振模型的 ESR 已經發(fā)生了改變,因此你需要回到第一步計算 gmarin,如果 gmarin>5,那么你找到了合適的晶振,如果 gmarin<5,那么重新挑選另外一個晶振,重新回到第一步吧。。。