PIC單片機外部振蕩電路設計
晶振設計是單片機應用設計的重要環節之一,因此很有必要了解晶振電路的特點,組成以及如何選用相關電子元件。
PIC單片機有四種振蕩方式可供選擇,振蕩方式經配置寄存器CONFIG的F0SC1,F0SC0位加以選擇,並在EPROM編程時寫入。
晶體振蕩器/陶瓷振蕩器:
XT、LP、HS三種方式中,需一晶體或陶瓷諧振器連接到單片機的OSC1/CLKIN和OSC2/CLKOUT引腳上,以建立振蕩,如圖1所示。電阻RS常用來防止晶振被過分驅動。在晶體振蕩下,電阻RF≈10MΩ。對於32KHZ以上的晶體振蕩器,當VDD>4.5V時,建議C1=C2≈30PF。(C1:相位調節電容;C2:增益調節電容。)
表1:振蕩器類型選擇F0SC1F0SC0振蕩方式
00低功耗振蕩LP(Low Power)
01標準晶體振蕩XT(Crystal/Resonator)
10高速晶體振蕩HS(High Speed)
11阻容振蕩RC(Resistor/Capacitor
常見問題分析
1:如何選擇晶體?
對於一個高可靠性的系統設計,晶體的選擇非常重要,尤其設計帶有睡眠喚醒(往往用低電壓以求低功耗)的系統。這是因為低供電電壓使提供給晶體的激勵功率減少,造成晶體起振很慢或根本就不能起振。這一現象在上電複位時並不特別明顯,原因時上電時電路有足夠的擾動,很容易建立振蕩。在睡眠喚醒時,電路的擾動要比上電時小得多,起振變得很不容易。在振蕩迴路中,晶體既不能過激勵(容易振到高次諧波上)也不能欠激勵(不容易起振)。晶體的選擇至少必須考慮:諧振頻點,負載電容,激勵功率,溫度特性,長期穩定性。
2:如何判斷晶振是否被過分驅動?
電阻RS常用來防止晶振被過分驅動。過分驅動晶振會漸漸損耗減少晶振的接觸電鍍,這將引起頻率的上升。可用一台示波器檢測OSC輸出腳,如果檢測一非常清晰的正弦波,且正弦波的上限值和下限值都符合時鐘輸入需要,則晶振未被過分驅動;相反,如果正弦波形的波峰,波谷兩端被削平,而使波形成為方形,則晶振被過分驅動。這時就需要用電阻RS來防止晶振被過分驅動。判斷電阻RS值大小的最簡單的方法就是串聯一個5k或10k的微調電阻,從0開始慢慢調高,一直到正弦波不再被削平為止。通過此辦法就可以找到最接近的電阻RS值。
外部晶體振蕩器電路:
PIC晶元可以使用已集成在片內的振蕩器,亦可使用由TTL門電路構成的簡單振蕩器電路。當外接振蕩器時,外部振蕩信號)僅限於HS。XT。LP)從OSC1端輸入,OSC2端開路。
圖2所示的是典型的外部並行諧振振蕩電路,應用晶體的基頻來設計。74AS04反相器以來實現振蕩器所需的180°相移,4.7KΩ的電阻用來提供負反饋給反相器,10KΩ的電位器用來提供偏壓,從而使反相器74AS04工作在線性範圍內。
3:如何選擇電容C1,C2?
(1):因為每一種晶振都有各自的特性,所以最好按製造廠商所提供的數值選擇外部元器件。(2):在許可範圍內,C1,C2值越低越好。C值偏大雖有利於振蕩器的穩定,但將會增加起振時間。(3):應使C2值大於C1值,這樣可使上電時,加快晶振起振。
圖2
圖3
圖4
RC振蕩:
RC振蕩適合於對時間精度要求不高的低成本應用。RC振蕩頻率隨著電源電壓VDD,RC值及工作環境溫度的變化而變化。同時由於工藝參數的差異,對不同晶元其振蕩器頻率將不同。另外,當外接電容CEXT值較小時,對振蕩器頻率的影響更大,當然,我們也應考慮電阻電容本身的容差對振蕩器頻率的影響。
圖4所示的是RC振蕩電路,如果REXT低於2.2KΩ,振蕩器將處於不穩定工作狀態,甚至停振。而REXT大於1M[時,振蕩器又易受雜訊、濕度、漏電流的干擾。因此,電阻REXT取值最好在3KΩ~100KΩ範圍內。在不接外部電容時,振蕩器仍可工作,但為了抗干擾及保證穩定性,建議接一20PF以上的電容。
PIC單片機片內有一4分頻電路,從OSC1/CLKIN引腳輸入或RC振蕩器產生的振蕩頻率fOSC經4分頻後從OSC2/CLKOUT引腳輸出4分頻信號,該信號可用於測試或作為其它邏輯電路的同步信號。
圖3所示的是典型的外部串列諧振振蕩電路,亦應用晶體的基頻來設計。74AS04反相器用來提供振蕩器所需的180°相移,330Ω的電阻用來提供負反饋,同時偏置電壓.
擴展閱讀:
推薦閱讀:
※模擬電路的設計的藝術:LM331—電壓頻率轉換電路
※PCB設計大講堂:產品內部的EMC設計技巧
※直流斬波電路(DC/DC)之LV1,buck電路
※加州理工錢璐璐團隊最新突破,AI 編入合成生物分子電路將可行