什么是晶振
晶振一般叫做晶體諧振器,是一種機電器件,是用電損耗很小的石英晶體經精密切割磨削并鍍上電極焊上引線做成。
對于單片機來說晶振是很重要的,可以說是沒有晶振就沒有時鐘周期,沒有時鐘周期就無法執行程序代碼,那樣的話單片機就無法工作。接下來跟隨小編詳細的了解一下單片機晶振的電路原理及作用。
單片機晶振的必要性
單片機工作時,是一條一條地從ROM中取指令,然后一步一步地執行。單片機訪問一次存儲器的時間,稱之為一個機器周期,這是一個時間基準。一個機器周期包括12個時鐘周期。如果一個單片機選擇了12MHZ晶振,它的時鐘周期是1/12us,它的一個機器周期是12x(1/12)us,也就是1US。
MCS-51單片機的所有指令中,有一些完成得比較快,只要一個機器周期就行了,有一些完成得比較饅,得要2個機器周期,還有兩條指令要4個機器周期才行。為了衡量指令執行時間的長短,又引|入一個新的概念: 指令周期。所謂指令周期就是指執行條指令的時間。例如,當需要計算DJNZ指令完成所需要的時間時,首先必須要知道晶振的頻率,設所用晶振為12MHZ,則一個機器周期就是1US。而DJNZ指令是雙周期指令,所以執行一次要2US。如果該指令需要執行500次,正好1000us,也就是1ms。
機器周期不僅對于指令執打有著重要的意義,而且機器周期也是單片機定時器和計數器的時間基準。例如一個單片機選擇了12MHZ晶振,那么當定時器的數值加1時,實際經過的時間就是1us,這就是單片機的定時原理。
單片機晶振電路原理(51單片機)
XTAL1和XTAL2指的是8051系單片機上常見的用于接“晶振”(晶體諧振器-Crystal Resonator”)的兩個引腳。從原理上來說,這兩個引腳和MCU內部一個反相器相連接。這個反相器與外部的“晶振”組成一個構成一個皮爾斯振蕩器(Pierce oscillator)。因為這個振蕩器集成在器件內部的組件實在是不能更簡單啦,就一個反相器和一個電阻,非常合適于各種數字IC的設計制造流程。
深入地分析這個皮爾斯振蕩器的工作原理時,不妨把它表述成以下理想的電路形式:
模電知識告訴我們,當期望得到一個輸出信號頻率為的振蕩電路時,這個電路在必須滿足兩個條件:2kπ的環路相移閉環增益為1
在上面的皮爾斯振蕩器的電路原理圖中,不難發現反相器U1對任意的頻率分量均提供了180°,即的相移量。同時,反相器在輸入輸出之間可以看作是一個buffer,因此通過對反相器的輸出特性進行調教,較容易得到1的loop gain。
到這里有人會問了,相移量只有,上面的兩個條件連一個都沒達到,這哪能起振呢?問題的關鍵在于電路中的其它元件上。
首先,對電路中的一顆“晶振”來說,石英晶體本身具有壓電效應,對石英晶體進行適當處理后可以得到一種壓電諧振器件,這就是常見的石英晶體諧振器(以下簡稱QCR)。對QCR的物理特性進行分析,可以發現QCR的壓電諧振過程可以用以下的理想電路模型近乎完美地表示出來。
右圖的電路模型中,L1-C1-R1組成了一個RLC串聯諧振電路,再加上一個實際很小的C0,整個QCR電路模型有兩個很接近的諧振點。QCR在電路中與反相器并聯,充當的是一個選頻網絡的作用。整個振蕩電路在上電時可以看作是反相器的輸出端打進去了一個階躍信號,QCR把階躍中諧振點頻率的信號挑出來,其他沒用的踢掉,在環路增益為1的情況下整個電路趨于穩態平衡。
模電的知識告訴我們,在QCR // inverter的組合下,這個皮爾斯振蕩器已經具備了一個理想的振蕩電路中的兩大網絡(選頻+放大)。貌似振蕩器中的R1和C1//C2沒有什么卵用啊。且慢,這個R1和C1//C2,正是這個電路中最美妙的地方。
把R1與C1//C2單獨抽出來配合反相器的電路組合貌似并不好理解,假如我們換種方式呢?
(圖中引進R’是為了方便理解反相器中的loop voltage gain)
右邊的運放電路除了反相結構本身提供的-180°相移外,R-C組合也提供了額外的相位延遲。更加奇妙的是這個電路組合在設計得當的情況下能夠根據實際電路中各元件的誤差自動調整相移大小與反相結構相互匹配(當然了諧振頻率也會有少許改變),進而保證整個loop的相移滿足條件1。這個“自動調整”的過程推導起來很占篇幅,在這里略過不表。
在上面的圖中,還有一個很巧妙的地方,即R1是并聯在反相器的輸入輸出端的。這個小小的電阻和反相器構成了一個反饋通路,進而使得人們能將各種模擬電路的分析設計方法用在這樣一個邏輯門電路上,比如通過反饋的方法提高反相器的線性度。在這里將現實電路中反相器的非理想特性引入設計考慮的同時,卻又能使電路圖保持簡潔易懂。
實際的MCU振蕩電路是“Isolated” Pierce-Gate Oscillator,要考慮的因素比這個理論模型復雜得多,但根本原理都是一樣的。振蕩電路輸出的波形,通過下一級的時鐘發生電路(Clock Generator)進行整形調整后,得到具有穩定形狀的矩形信號并輸出至時鐘樹,作用于整個MCU的同步邏輯。
單片機晶振的作用
單片機晶振的作用是為系統提供基本的時鐘信號。通常一個系統共用一個晶振,便于各部分保持同步。有些通訊系統的基頻和射頻使用不同的晶振,而通過電子調整頻率的方法保持同步。
晶振通常與鎖相環電路配合使用,以提供系統所需的時鐘頻率。如果不同子系統需要不同頻率的時鐘信號,可以用與同一個晶振相連的不同鎖相環來提供。
在通常工作條件下,普通的晶振頻率絕對精度可達百萬分之五十。高級的精度更高。有些晶振還可以由外加電壓在一定范圍內調整頻率,稱為壓控振蕩器(VCO)。晶振用一種能把電能和機械能相互轉化的晶體在共振的狀態下工作,以提供穩定,精確的單頻振蕩。
單片機晶振常見問題
1、PIC單片機振蕩電路中如何選擇晶體?
對于一個高可靠性的系統設計,晶體的選擇非常重要,尤其設計帶有睡眠喚醒,往往用低電壓以求低功耗的系統,這是因為低供電電壓使提供給晶體的激勵功率減少,造成晶體起振很慢或根本就不能起振,這一現象在上電復位時并不特別明顯,原因時上電時電路有足夠的擾動,很容易建立振蕩,在睡眠喚醒時,電路的擾動要比上電時小得多,起振變得很不容易,在振蕩回路中,晶體既不能過激勵,容易振到高次諧波上,也不能欠激勵不容易起振,晶體的選擇至少必須考慮、諧振頻點、負載電容、激勵功率、溫度特性長期穩定性。
2、如何判斷電路中晶振是否被過分驅動?
電阻RS常用來防止晶振被過分驅動,過分驅動晶振會漸漸損耗減少晶振的接觸電鍍這將引起頻率的上升,可用一臺示波器檢測,OSC,輸出腳,如果檢測一非常清晰的正弦波且正弦波的上限值和下限值都符合時鐘輸入需要,則晶振未被過分驅動,相反,如果正弦波形的波峰,波谷兩端被削平,而使波形成為方形,則晶振被過分驅動,這時就需要用電阻RS來防止晶振被過分驅動,判斷電阻RS值大小的最簡單的方法就是串聯一個5k或10k的微調電阻,從0開始慢慢調高,一直到正弦波不再被削平為止,通過此辦法就可以找到最接近的電阻RS值。
3、晶振電路中如何選擇電容?
(1)C1,C21,因為每一種晶振都有各自的特性,所以最好按制造廠商所提供的數值選擇外部元器件。
(2)在許可范圍內,C1,C2值越低越好,C值偏大雖有利于振蕩器的穩定,但將會增加起振時間。
(3)應使C2值大于C1值,這樣可使上電時,加快晶振起振。
-
單片機
+關注
關注
6032文章
44525瀏覽量
633245 -
晶振
+關注
關注
34文章
2834瀏覽量
67919
發布評論請先 登錄
相關推薦
評論