干貨 | 晶振電路設計訣竅
在單片機中晶振是普遍存在的。晶振為什么如此必要,原因在于單片機能否正常工作的必要條件之一就是時鐘電路。晶振好比單片機的心臟,如果沒有心臟起跳,單片機無法工作。當然,電子電路設計并非速度越快越好,實際上是速度夠用就好,速度越快越容易受干擾,也容易成為影響外界的干擾源。

晶 振 為 何 要 接?兩 個 電 容?
晶振,全稱是石英晶體振蕩器,是一種高精度和高穩(wěn)定度的振蕩器。石英晶片所以能做振蕩電路(諧振)是基于它的壓電效應。當在晶振極板間施加交變電壓時,就會迫使晶振產生機械變形振動,同時晶振的機械變形振動又會反過來產生交變電場。當外加交變電壓的頻率與晶片的固有頻率(決定于晶片的尺寸)相等時,晶振及電路產生穩(wěn)定的機械諧振和電氣諧振。其特點是頻率穩(wěn)定度很高。
在電氣上晶振可以等效成一個電容和一個電阻并聯再串聯一個電容的二端網絡,電工學上這個網絡有兩個諧振點,以頻率的高低分其中較低的頻率是串聯諧振,較高的頻率是并聯諧振。

由于晶體自身的特性致使這兩個頻率的距離相當的接近,在這個極窄的頻率范圍內,晶振呈現為感性,簡單理解就是等效為一個電感,所以只要晶振的兩端并聯上合適的電容它就會組成并聯諧振電路。這個并聯諧振電路加到一個負反饋電路中就可以構成正弦波振蕩電路,由于晶振等效為電感的頻率范圍很窄,所以即使其他元件的參數有變化,這個振蕩器的頻率也能保持相對的穩(wěn)定,展現出高Q值。晶振在通過一定的外接電路生成頻率和峰值穩(wěn)定的正弦波,該正弦波在單片機內部調理電路整形下成為方波,作為單片機內部時序電路工作的時鐘信號。
晶 振 電 路 常 用 設 計 方 法
晶振電路有多種設計方法,在單片機設計電路經常使用的是皮爾斯振蕩電路,具體電路如下圖所示。

晶振有一個重要的參數,那就是負載電容值,選擇與負載電容值相等的并聯電容,就可以得到晶振標稱的諧振頻率。
我們在設計的時候經常會看見MCU的管腳有OSC1和OSC2,一般會連兩個電容CL1和CL2,CL1和CL2是否就是負載電容呢?其實它們只是負載電容的一部分,而且大家要注意到,CL1和CL2從晶振來看它們是串聯的,只不過它們之間有一個公共點接地。真正的負載是CL1和CL2,MCU OSC1/OSC2這兩個管腳自身對地的寄生電容COSC1,COSC2,MCUOSC1/OSC2這兩個管腳之間的雜散電容CS,還有一個是晶振本身的C0,這幾部分共同組成了真正的負載,如下圖所示(只在此圖中畫出COSC1,COSC2,CS,其他圖中就不再詳細畫出這幾個電容了)。

并聯COSC1,COSC2一般在3~5pf,CS?有1~5pf(和PCB制造相關),C0也有1~2pf,也就是說,即使不連接CL1和CL2晶振電路的拓撲也是完整的,而且已經有了一定的電容負載,這也就是用戶會發(fā)現即使沒有連接CL1和CL2,電路往往也是能起振的原因。如果晶振總體負載容值偏差大了會怎樣呢?會帶來兩個問題,一個是影響穩(wěn)定裕量,另一個是影響晶振的精度。?
我們在電路設計時,要盡量使整個晶振電路靠近MCU,同時要盡量避免在晶振電路旁有其他高頻信號、大電流的信號,以及有較長走線的信號,從而保證晶振工作時有較小的負載、正確的拓撲,和相對穩(wěn)定的電磁工作環(huán)境。在電路設計中有很多規(guī)則,而且這些規(guī)則往往是不可能同時滿足的,需要特別注意的是,晶振電路的設計規(guī)則應該被優(yōu)先保證。?
振蕩器電路設計的一個關鍵點是要晶振能夠穩(wěn)定工作。STM32有相關文檔來講解晶振裕量是如何計算的,文檔里有很多公式,但在實際使用中可能無法通過公式準確計算,因為許多參數例如雜散電容無法真正測量出來,生產的工藝、制造的水準及器件本身的離散性都導致這些公式只具有理論指導性意義。?
但一個簡單的結論需要了解:同等條件下,增大電容負載,會降低裕量;提高反向放大器的跨導,會增大裕量;晶振內阻越大,裕量越小。反之亦然。?
在真實的大規(guī)模生產中,最常用的測試裕量的方法是負阻測試,如下圖所示。在晶振支路上串聯一個電阻,這個阻值的大小一般為3到5倍的晶振內阻(如果是醫(yī)療或汽車級別的應用,這個阻值應為5到10倍的晶振內阻),當加入這個負載電阻后,如果整個晶振電路還是可以正常起振,我們就基本上可以判定這個晶振拓撲是穩(wěn)定的。要注意這個負載電阻僅僅是用于裕量測試的,不可以存在于正式生產時的電路板上。

當系統(tǒng)通過了負阻測試,但發(fā)現晶振的振幅很小,會有影響嗎?振幅小沒關系,晶振電路內部都有放大器,會保證晶振電路的可靠穩(wěn)定工作。但如果在晶振管腳上看到了飽和的現象,這時候就需要進行調整。
?
晶振電路內部是一個反相器,反相器工作在放大區(qū),同時放大器的內部還并聯一個電阻,這個電阻構成了反饋電路,同時也是用來調整晶振的工作點的。一般情況下用戶不需要在外部電路再加入OSC1和OSC2的并聯電阻,但還是可以在需要的情況下通過在外部并聯電阻(一般來說阻值為M級)來對放大器的工作點進行微調。還有一個方法是在晶振的放大器輸出管腳上串一個電阻。這個電阻一般有兩個作用,一個作用是用來做選頻,另一個作用是限制晶振驅動電路的輸出電流,保證晶振工作在一個穩(wěn)定的頻點上,不會把晶振燒壞。
