十年專注單片機方案開發的方案公司英銳恩,分享PIC單片機芯片晶振設計晶振設計。英銳恩現提供服務產品涉及主控芯片:8位單片機、16位單片機、32位單片機及各類運算放大器等。
是單片機應用設計的重要環節之一,因此很有必要了解晶振電路的特點,組成以及如何選用相關電子元件。 PIC單片機有四種振蕩方式可供選擇,振蕩方式經配置寄存器CONFIG的F0SC1,F0SC0位加以選擇,并在EPROM編程時寫入。 表1:振蕩器類型選擇
F0SC1 | F0SC0 | 振 蕩 方 式 |
0 | 0 | 低功耗振蕩LP(Low Power) |
0 | 1 | 標準晶體振蕩XT(Crystal/Resonator) |
1 | 0 | 高速晶體振蕩HS (High Speed) |
1 | 1 | 阻容振蕩 RC(Resistor/Capacitor) |
晶體振蕩器/陶瓷振蕩器: XT、LP、HS三種方式中,需一晶體或陶瓷諧振器連接到單片機的OSC1/CLKIN和OSC2/CLKOUT引腳上,以建立振蕩,如圖1所示。電阻RS常用來防止晶振被過分驅動。在晶體振蕩下,電阻RF≈10MΩ。對于32KHZ以上的晶體振蕩器,當VDD>4.5V時,建議C1=C2≈30PF。(C1:相位調節電容; C2:增益調節電容。)
外部晶體振蕩器電路: PIC芯片可以使用已集成在片內的振蕩器,亦可使用由TTL門電路構成的簡單振蕩器電路。當外接振蕩器時,外部振蕩信號)僅限于HS。XT。LP)從OSC1端輸入,OSC2端開路。
圖2所示的是典型的外部并行諧振振蕩電路,應用晶體的基頻來設計。74AS04反相器以來實現振蕩器所需的180°相移,4.7KΩ的電阻用來提供負反饋給反相器,10KΩ的電位器用來提供偏壓,從而使反相器74AS04工作在線性范圍內。圖3所示的是典型的外部串行諧振振蕩電路,亦應用晶體的基頻來設計。74AS04反相器用來提供振蕩器所需的180°相移, 330Ω的電阻用來提供負反饋,同時偏置電壓。
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分頻信號,該信號可用于測試或作為其它邏輯電路的同步信號。
常見問題分析 1:如何選擇晶體?對于一個高可靠性的系統設計,晶體的選擇非常重要,尤其設計帶有睡眠喚醒(往往用低電壓以求低功耗)的系統。這是因為低供電電壓使提供給晶體的激勵功率減少,造成晶體起振很慢或根本就不能起振。這一現象在上電復位時并不特別明顯,原因時上電時電路有足夠的擾動,很容易建立振蕩。在睡眠喚醒時,電路的擾動要比上電時小得多,起振變得很不容易。在振蕩回路中,晶體既不能過激勵(容易振到高次諧波上)也不能欠激勵(不容易起振)。晶體的選擇至少必須考慮:諧振頻點,負載電容,激勵功率,溫度特性,長期穩定性。 2:如何判斷晶振是否被過分驅動?電阻RS常用來防止晶振被過分驅動。過分驅動晶振會漸漸損耗減少晶振的接觸電鍍,這將引起頻率的上升??捎靡慌_示波器檢測OSC輸出腳,如果檢測一非常清晰的正弦波,且正弦波的上限值和下限值都符合時鐘輸入需要,則晶振未被過分驅動;相反,如果正弦波形的波峰,波谷兩端被削平,而使波形成為方形,則晶振被過分驅動。這時就需要用電阻RS來防止晶振被過分驅動。判斷電阻RS值大小的最簡單的方法就是串聯一個5k或10k的微調電阻,從0開始慢慢調高,一直到正弦波不再被削平為止。通過此辦法就可以找到最接近的電阻RS值。 3:如何選擇電容C1,C2?(1):因為每一種晶振都有各自的特性,所以最好按制造廠商所提供的數值選擇外部元器件。 (2):在許可范圍內,C1,C2值越低越好。C值偏大雖有利于振蕩器的穩定,但將會增加起振時間。 (3):應使C2值大于C1值,這樣可使上電時,加快晶振起振。PIC芯片晶振設計.