正文
時鐘電路在單片機小系統中很常見,今天我們就探討下單片機外部石英晶體振蕩器電路的構成、特點和器件參數,本文內容選自龍順宇老師的新書《深入淺出STC8增強型51單片機進階攻略》。
我記得小學的時候最喜歡做眼保健操,跟著旋律“1234,2234”,這旋律控制著我的每一個動作,踩著節拍完成了整個過程。細細想來,單片機的工作也是一樣,在一定的“節拍”下鎖存和處理數據,產生不同的狀態和時序,完成不同的功能。如果沒有這個節拍,單片機就無法執行程序和體現功能,這里的“節拍”就是時鐘信號,好比是單片機系統中的“心臟”。
在早期的51單片機產品中,時鐘信號一般是由外部振蕩電路產生,所以很多經典的單片機原理類書籍也將時鐘電路當作最小系統的必要組成之一,隨著單片機技術的不斷發展,為了進一步降低產品的EMI電磁干擾(Electro Magnetic Interference),很多單片機在晶圓設計時內置了時鐘源,片內RC時鐘源的頻率還支持多種選擇,這樣一來開發人員就可以省去外部時鐘電路,單片機的時鐘輸入/輸出的引腳也可以節省出來當普通I/O引腳使用。
但是話又說回來,片上時鐘源和外部時鐘源還是有區別的,一般來說片上時鐘源的啟動速度快,功耗適中,但是容易受到溫度的影響產生頻率偏差,若頻率偏差嚴重就會影響程序運行(特別是通信類程序)。還有就是片上時鐘的一致性難以保證,根據批次不一樣或者制造上的差異性會導致芯片時鐘頻率不盡相同,但是對于要求不高的場合,使用內部時鐘源倒也無妨。外部時鐘源的啟動需要一個穩定的時間,功耗也相對大一些,但是產生的時鐘精度較高,不管是用無源石英晶體還是有源晶振,其信號的穩定度都較好,在持續性的通信應用上還是推薦外部時鐘源作為單片機工作時鐘。
有的朋友可能會有疑惑,為什么小宇老師剛剛說到“無源石英晶體”而不是“無源晶振”呢?我們平時將無源石英晶體說成“晶振”其實并不準確,無源晶體其實就是在石英晶片上電鍍引出了電極,一般是兩個腳,不用區分正反,在晶體結構外面裝上了金屬外殼,然后再在外殼上激光打字。無源晶體要想起振,一般還需要輔助外圍電路才行。真正意義上的“晶振”是在晶體的基礎之上額外添加了振蕩、放大和整形電路后所形成的單元,常見的是4個腳,需要為其供電,然后從一個腳輸出穩定可靠的時鐘信號,這種就是我們說的有源晶振。
說了這么多,我們也不知道用于產生時鐘信號的“心臟”長什么樣子,接下來我們回到《電子工藝》課程,看看如圖1所示的幾個常用于產生時鐘信號的器件實物。
圖1 常見時鐘產生類元器件實物圖
先來認識第一行的器件,從左至右首先是直插式圓柱狀無源晶體,常見大小有2*6mm和3*8mm,常用于體積受限的場合,如U盤;接著是直插式HC-49S無源晶體,這種晶體外形最為常見;然后是直插式HC-49U無源晶體;最后是貼片式HC-49S無源晶體。第二行從左至右首先是貼片式晶振,單從樣式上看是無法區分有源和無源的,用戶需查閱產品手冊后加以區分,這種貼片式晶振常見2腳和4腳的,常用的器件體積有3225、3215、5032等;接著是MC-306封裝的晶振,常用的還有長條形的MC-146;然后是溫補晶振TCXO,其體積稍大,內部設計有溫度補償電路和微調窗口,因其溫度特性好、頻率偏差小,價格也稍微貴一些,類似的還有恒溫晶振OCXO,價格就比TCXO還要貴一些;最后是SiTime公司推出的可編程晶振,該器件有別于傳統器件,用戶可以通過編程修改振蕩頻率,支持1MHz到725MHz范圍內的頻率調整,在一些特殊的應用場合會非常適用。
說到這兒,我就忍不住要問:石英晶體內部長什么樣子呢?要解決這個問題很簡單,我們干脆動手拆解一個直插式HC-49U無源晶體吧!朋友們是不是感覺有點“殘忍”啊?那我們就選一個實驗室里放了N多年且引腳發生嚴重氧化的晶體來做實驗,拆解的過程如圖2所示,首先打開晶體的金屬外殼后發現了內部有一層網狀隔片,目的是為了讓晶體與外部金屬殼絕緣和防震,拆除這層隔片后就看到核心石英晶體和電極了,用手輕輕一掰,“咔”的一聲就碎了,真是“嘎嘣脆,雞肉味兒”。通過這個破壞性實驗我們學到了什么呢?那就是晶體元器件在保存和使用時要避免磕碰,以免損壞內部石英晶體,焊接的時候也不要持續高溫,以免晶體引腳升溫太快引起內部電極與石英晶體片之間的碎裂,所以說石英晶體這種器件是外表看著“皮實”,但“內心”脆弱的器件。
圖2 HC-49U無源晶體拆解過程
拆解完了晶體,心里就非常痛快了,接下來我們再看看振蕩電路的相關知識。單一的石英晶體無法產生穩定的振蕩信號,必須輔助相關電路,常見的晶體振蕩電路可以用皮爾斯振蕩電路、考畢茲振蕩電路和克拉普振蕩電路。而用在單片機的電路幾乎都是皮爾斯振蕩器(Pierce Oscillator)結構。哦!這個人我知道,就是那個打NBA的保羅·皮爾斯對吧?錯!這里的“皮爾斯”是喬治·皮爾斯。他發明了一種電子振蕩電路,特別適用于配合石英晶體振蕩以產生振蕩信號。皮爾斯振蕩器衍生自考畢茲振蕩器,其電路構成十分簡單,我們自己也可以動手搭建,其電路原理如圖3(a)所示,用示波器測量“OUT”電氣網絡的輸出波形如圖3(b)所示。
圖3 皮爾斯振蕩器電路原理及輸出波形圖
分析該電路,電路采用單極性5V供電,U1所選型號為CD4069,該芯片是一款CMOS電平輸入/輸出的高速反相器(內含6個反相器單元),反相器在電路中等效于一個較大增益的放大器單元,在整個電路中只用了CD4069中的2個反相器單元,也就是1A、1Y、2A、和2Y這4個功能引腳,其它的功能引腳都做了接地處理。
Y1就是無源的石英晶體,這里選擇的是標稱振蕩頻率為16MHz的HC-49S晶體。R1是反饋電阻,通常取值都在兆歐級別,有了這個電阻就可以使反相器在晶振振蕩初始時處于線性工作區,可以幫助晶體起振。R2可以調整驅動電位,以防止晶振被過分驅動而加速老化和造成晶體損壞。這兩個電阻的取值非常關鍵,一旦取值不當就會產生高次諧波(一般是3次諧波,即Y1為xMHz時輸出信號為3xMHz),建議朋友們在搭建電路時合理考慮。
C1、C2為負載電容,它們可以幫助起振,一般選用20至30pF且頻率特性較好的電容(如瓷片電容、獨石電容或CBB電容),其取值大小對振蕩頻率有微調作用(所以晶體的實際起振頻率一般都不是絕對準確的標稱頻率),負載電容的取值受兩個方面影響,一是晶體器件實際的電容參數,二是受PCB布線、焊盤和板層厚度等參數間接引入的寄生電容或雜散電容影響。所以朋友們在進行實際電容選取時不一定要與晶體器件數據手冊中的負載電容參數完全等值,可以按照實際參數去做調整(順便一說,有的單片機芯片時鐘引腳單元內部甚至自帶了不同檔位的負載電容,比如TI公司生產的MSP430x2xxx系列單片機,該系列產品內部就支持1pF、6pF、10pF和12.5pF的四檔負載電容可選,這種單片機時鐘引腳上只接個晶體就行,無需外圍輔助電路也能正常工作)。
經過電路搭建,CD4069芯片的第4腳輸出的“OUT”就是時鐘信號,原則上一個石英晶體振蕩出的波形可以同時供給很多芯片使用,不一定是一個單片機就需要一個晶振,當然了,也要考慮輸出信號的負載驅動能力,還得考慮PCB上時鐘走線帶來的干擾。
學完皮爾斯振蕩器的簡單電路后,有的朋友又會產生更大的疑惑,大家會想STC單片機的時鐘電路根本不用CD4069啊?哪兒來的什么R1和R2啊?我一般都是接個晶體和兩個負載電容就行了啊?確實如此,一般來說XTAL1和XTAL2是STC系列單片機的振蕩信號接入引腳(也可以僅由XTAL2單端接入時鐘信號)。其模型仍然是皮爾斯振蕩器,只不過將振蕩所需的反相器和相關電阻內置到了單片機內部罷了,其電路結構如圖4所示。
圖4 單片機時鐘單元內/外結構
皮爾斯振蕩器因結構簡單,非常適用于各種數字IC的設計制造。很多IC在設計的時候就內建了高速反相器與電阻,只要在外部加上石英晶體與負載電容就可以工作。由于石英晶體頻率穩定,故而電路成本較低,因此廣泛用于各種消費電子產品之中。
電路講完了我們就來看看“時鐘信號”到底有什么作用?之前我們說了單片機是工作在一定“節拍”下的,最快最直接的“節拍”就是由外部晶體振蕩電路或者內部RC振蕩器提供的時鐘源頻率,這個時鐘我們稱之為“振蕩周期”,在此基礎之上還有狀態周期、機器周期(CPU周期)和指令周期,所以“振蕩周期”越小,則完成一條指令所需的時間就越短,簡單來說就是給的“節拍”越快,單片機工作的處理速度就越高。但是時鐘頻率也要有個“度”,受限于單片機內部電路的電氣指標和門電路的動態特性,單片機時鐘頻率一般都有個范圍,例如STC8H系列單片機可以支持4MHz至45MHz工作頻率。
必須說明的是晶體的標稱頻率不能隨意選擇,有些應用中對振蕩頻率是有要求的。舉個例子吧!有個朋友做51單片機串口通信程序的時候用的是外部石英晶體振蕩電路,石英晶體選擇的是12MHz,波特率是9600bps,上電后單片機可以正常工作,串口助手也能連續收到單片機的字符數據,但是奇怪的是接收數據開始的時候是正常的,慢慢的就開始亂碼,到后面居然不能正常接收了,他趕緊問小宇老師,這是為啥呢?我讓他微調了程序并把晶振換成11.0592MHz后通信正常了!咦~這是為啥?按理說12MHz晶體產生的振蕩周期是1us,而11.0592MHz晶體產生的振蕩周期是1.085us,這兩個周期相差根本就不大,并不會過多影響單片機的執行速度,他們的主要差異是用在串口通信時,12MHz作為數值帶入波特率計算后得到的偏差較大,在持續性通信過程中容易造成時鐘的“累積誤差”,每次都“慢半拍”持續下去的話就不止“半拍”了。
所以在特殊的應用中產生了看似奇怪的石英晶體標稱頻率,相似的還有用在DTMF(雙音多頻)編/解碼上的3.579545MHz,又有用在RTC(實時時鐘)上的32.768kHz,還有用在HF頻段RFID(射頻識別)上的13.56MHz等等,這些頻率值看似“怪異”實則有特殊的適用。所以啊,選擇合適的晶體或者晶振非常重要,選型的時候一定要考慮好封裝尺寸、負載電容、標稱頻率、溫度范圍、頻率偏移、頻率老化時長等參數。
審核編輯 :李倩
-
單片機
+關注
關注
6037文章
44569瀏覽量
636201 -
振蕩器
+關注
關注
28文章
3833瀏覽量
139153 -
時鐘電路
+關注
關注
10文章
237瀏覽量
50748
原文標題:只會純硬件,讓我很慌。
文章出處:【微信號:gh_a6560e9c41d7,微信公眾號:硬件筆記本】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論