【導(dǎo)讀】很多MCU開發(fā)者對MCU晶體兩邊要各接一個對地電容的做法表示不理解,因為這個電容有時可以去掉。筆 者參考了很多書籍,卻發(fā)現(xiàn)書中講解的很少,提到最多的往往是:對地電容具穩(wěn)定作用或相當于負載電容等,都沒有很深入地去進行理論分析。
很多MCU開發(fā)者對MCU晶體兩邊要各接一個對地電容的做法表示不理解,因為這個電容有時可以去掉。筆 者參考了很多書籍,卻發(fā)現(xiàn)書中講解的很少,提到最多的往往是:對地電容具穩(wěn)定作用或相當于負載電容等,都沒有很深入地去進行理論分析。而另外一方面,很多 愛好者都直接忽略了晶體旁邊的這兩個電容,他們認為按參考設(shè)計做就行了。但事實上,這是MCU的振蕩電路,又稱“三點式電容振蕩電路”,如圖1所示。
圖1:MCU的三點式電容振蕩電路
其中,Y1是晶體,相當于三點式里面的電感;C1和C2是電容,而5404和R1則實現(xiàn)了一個NPN型三極管(大家可以對照高頻書里的三點式電容振蕩電路)。
接下來將為大家分析一下這個電路:首先,5404必需搭一個電阻,不然它將處于飽和截止區(qū),而不是放大區(qū),因為R1相當于三極管的偏置作用,能讓5404處于放大區(qū)域并充當一個反相器,從而實現(xiàn)NPN三極管的作用,且NPN三極管在共發(fā)射極接法時也是一個反相器。
其次將用通俗的方法為大家講解一下這個三點式振蕩電路的工作原理。眾所周知,一個正弦振蕩電路的振蕩條件為:系統(tǒng)放大倍數(shù)大于1,這個條件較容易實現(xiàn);但另 一方面,還需使相位滿足360°。而問題就在于這個相位:由于5404是一個反相器,因此已實現(xiàn)了180°移相,那么就只需C1、C2和Y1再次實現(xiàn) 180°移相就可以了。恰好,當C1、C2和Y1形成諧振時,就能實現(xiàn)180移相;最簡單的實現(xiàn)方式就是以地作為參考,諧振的時候,由于C1、C2中通過 的電流相同,而地則在C1、C2之間,所以恰好電壓相反,從而實現(xiàn)180移相。
再則,當C1增大時,C2端的振幅增強;當C2降低時,振幅也增強。有時即使不焊接C1、C2也能起振,但這種現(xiàn)象不是由不焊接C1、C2的做法造成的,而是由芯片引腳的分布電容引起,因為C1、C2的電容值本來就不需要很大,這一點很重要。
那么,這兩個電容對振蕩穩(wěn)定性到底有什么影響呢?由于5404的電壓反饋依靠C2,假設(shè)C2過大,反饋電壓過低,這時振蕩并不穩(wěn)定;假設(shè)C2過小,反饋電壓 過高,儲存能量過少,則容易受外界干擾,還會輻射影響外界。而C1的作用與C2的則恰好相反。在布板的時候,假設(shè)為雙面板且比較厚,那么分布電容的影響則 不是很大;但假設(shè)為高密度多層板時,就需要考慮分布電容,尤其是VCO之類的振蕩電路,更應(yīng)該考慮分布電容。
因此, 那些用于工控的項目,筆者建議最好不要使用晶體振蕩,而是直接接一個有源的晶振。很多時候大家會采用32.768K的時鐘晶體來做時鐘,而不是通過單片機 的晶體分頻來做時鐘,其中原因想必很多人也不明白,其實上這是和晶體的穩(wěn)定度有關(guān):頻率越高的晶體,Q值一般難以做高,頻率穩(wěn)定度也比較差;而 32.768K晶體在穩(wěn)定度等各方面的性能表現(xiàn)都不錯,還形成了一個工業(yè)標準,比較容易做高。另外值得一提的是,32.768K是16 bit數(shù)據(jù)的一半,預(yù)留最高1 bit進位標志,用作定時計數(shù)器內(nèi)部數(shù)字計算處理也非常方便。