相信很多剛剛接觸單片機的朋友都被前輩們前輩告誡過,對于單片機晶振電路電容,不是使用22pf,就是使用30pf。但為什么要這樣使用?其中的道理是什么?卻很少有人了解。本文就將通過實例的方式為大家分析單片機晶振電路中的取值作用。
本文的實例采用了一個ATMEGAL16單片機的溫度采集系統(tǒng),焊接之后事實卻并不容易,即便使用萬用表也無法發(fā)現錯誤,之后懷疑是不是單片機鎖死,在更換了幾塊單片機后情況也并未得到改善。經過仔細排查才發(fā)現有兩個0.1uf的電容焊在了晶振電路中,導致晶振不起振所以整個電路就表現異常,再換成22pf的電容便馬上正常。
所以究竟是什么原因造成了異常呢?
圖1
其實單片機和其他一些IC的振蕩電路的真名叫“三點式電容振蕩電路”,如圖1。
Y1是晶體,相當于三點式里面的電感,C1和C2就是電容,5404非門和R1實現一個NPN的三極管,接下來分析一下這個電路。
5404必需要一個電阻,否則它會處于飽和截止區(qū)而不是放大區(qū)。R1相當于三極管的偏置作用,讓5404處于放大區(qū)域,那么5404就是一個反相器,實現了NPN三極管的作用,NPN三極管在共發(fā)射極接法時也是一個反相器。
一個正弦振蕩電路要振蕩的條件是系統(tǒng)放大倍數大于1。這個容易實現,相位滿足360度,與晶振振蕩頻率相同的很小的振蕩就被放大了。接下來主要講解相位問題:
5404因為是反相器,也就是說實現了180°移相,那么就需要C1,C2和Y1實現180°移相就可以,恰好,當C1,C2,Y1形成諧振時,能夠實現180移相,這個大家可以解方程等,把Y1當作一個電感來做。也可以用電容電感的特性,比如電容電壓落后電流90°,電感電壓超前電流90°來進行分析都是可以的。當C1增大時,C2端的振幅增強,當C2降低時,振幅也增強。
有些時候C1、C2不焊也能起振,這個不是說沒有C1、C2,而是因為芯片引腳的分布電容引起的,因為本來C1、C2就不需要很大,所以這一點很重要。接下來分析這兩個電容對振蕩穩(wěn)定性的影響。
因為5404的電壓反饋是靠C2的,假設C2過大,反饋電壓過低。假設C2過小,反饋電壓過高,儲存能量過少容易受外界干擾,也會輻射影響外界。C1的作用對C2恰好相反。因為布板的時候,假設雙面板比較厚,那么分布電容的影響不是很大,假設在高密度多層板時,就需要考慮分布電容。
這里需要特別說明并需要引起大家注意的是,有些將來是要用于工控的設計,這些設計建議不要用無源單片機晶振的方法來起振,而是直接接有源晶振。也是主要由于無源晶振需要起振的原因,而工控項目要求穩(wěn)定性要好,所以會直接用有源晶振。在有頻率越高的頻率的晶振,穩(wěn)定度不高,所以在速度要求不高的情況下會使用頻率較低的晶振。