簡介 在DS1302的實際使用中,采用輔助電容法,可以解決DS1302在應(yīng)用中由于晶振的負(fù)載電容不匹配而引起的停振問題。
關(guān)鍵詞 時鐘 負(fù)載電容 匹配
概述
DS1302是Dallas公司生產(chǎn)的一種實時時鐘芯片。它通過串行方式與單片機進(jìn)行數(shù)據(jù)傳送,能夠向單片機提供包括秒、分、時、日、月、年等在內(nèi)的實 時時間信息,并可對月末日期、閏年天數(shù)自動進(jìn)行調(diào)整;它還擁有用于主電源和備份電源的雙電源引腳,在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。另外, 它還能提供31字節(jié)的用于高速數(shù)據(jù)暫存的RAM。鑒于上述特點,DS1302已在許多單片機系統(tǒng)中得到應(yīng)用,為系統(tǒng)提供所需的實時時鐘信息。
一、 DS1302的主要特性
1. 引腳排列
圖1 DS1302引腳排列圖
DS1302的引腳排列如圖1所示,各引腳的功能如下:
X1,X2——32768Hz晶振引腳端;
RST——復(fù)位端;
I/O——數(shù)據(jù)輸入/輸出端;
SCLK——串行時鐘端;
GND——地;
VCC2,VCC1——主電源與后備電源引腳端。
2. 主要功能
DS1302時鐘芯片內(nèi)主要包括移位寄存器、控制邏輯電路、振蕩器、實時時鐘電路以及用于高速暫存的31字節(jié)RAM。DS1302與單片機系統(tǒng)的數(shù)據(jù)傳 送依靠RST,I/O,SCLK三根端線即可完成。其工作過程可概括為:首先系統(tǒng)RST引腳驅(qū)動至高電平,然后在作用于SCLK時鐘脈沖的作用下,通過I /O引腳向DS1302輸入地址/命令字節(jié),隨后再在SCLK時鐘脈沖的配合下,從I/O引腳寫入或讀出相應(yīng)的數(shù)據(jù)字節(jié)。因此,其與單片機之間的數(shù)據(jù)傳送 是十分容易實現(xiàn)的。
二、 時鐘的產(chǎn)生及存在的問題
(1) 在實際使用中,我們發(fā)現(xiàn)DS1302的工作情況不夠穩(wěn)定,主要表現(xiàn)在實時時間的傳送有時會出現(xiàn)誤差,有時甚至整個芯片停止工作。我們對DS1302的工作 電路進(jìn)行了分析,其與單片機系統(tǒng)的連接如圖2所示。從圖中可以看出,DS1302的外部電路十分簡單,惟一外接的元件是32768Hz的晶振。通過實驗我 們發(fā)現(xiàn):當(dāng)外接晶振電路振蕩時,DS1302計時正確;當(dāng)外接晶振電路停振時,DS1302計時停止。因此,我們認(rèn)為32768Hz晶振是造成 DS1302工作不穩(wěn)定的主要原因。
圖2 DS1302與單片機系統(tǒng)的連接圖
(2) DS1302時鐘的產(chǎn)生基于外接的晶體振蕩器,振蕩器的頻率為32768Hz。該晶振通過引腳X1、X2直接連接至DS1302,即DS1302是依靠 外部晶振與其內(nèi)部的電容配合來產(chǎn)生時鐘脈沖的。由于DS1302在芯片本身已經(jīng)集成了6pF的電容,所以,為了獲得穩(wěn)定可靠的時鐘,必須選用具有6pF負(fù) 載電容的晶振。
然而,許多人在選用晶振時僅僅注意了晶振的額定頻率值,而忽視了晶振的負(fù)載電容大小,甚至連許多經(jīng)銷商也不能提供所 售晶振的負(fù)載電容。所以即使在使用中選用了符合32768Hz的晶振,但如果該晶振的負(fù)載電容與DS1302提供的6pF不一致時,就會影響晶振的起振或 導(dǎo)致振蕩頻率的偏移,出現(xiàn)上述在應(yīng)用中的問題。
三、 利用輔助電容實現(xiàn)負(fù)載匹配
?。?) 當(dāng)所選的晶振負(fù)載電容不是6pF時,可以采用增加輔助電容的方法提高或降低DS1302振蕩器的電容性負(fù)載,使之與晶體所需的電容值匹配。如果已知晶體的 負(fù)載電容為CI,若CI<6pF,則可以增加一個并聯(lián)電容CS以產(chǎn)生所需的總負(fù)載電容CI,即CI=6pF+CS;若CI>6pF,則可以在 晶體的一端增加一個串聯(lián)電容CS,以產(chǎn)生所需的負(fù)載電容CI,即1/CI=1/6pF+1/CS,通過計算即可得出應(yīng)增加的輔助電容大小。輔助電容的接法 如圖3所示。
圖3 CS連接電路圖
?。?) 在使用前對晶體的負(fù)載電容并不知道的情況下,通過測定晶體振蕩頻率的方法可以確定該晶體的負(fù)載電容。
對于晶體振蕩器來說,其振蕩頻率與負(fù)載電容之間的關(guān)系是確定的。以本文討論的DS1302使用的32768Hz晶振為例:當(dāng)它工作于所要求的負(fù)載電容 時,能較準(zhǔn)確地產(chǎn)生 32768Hz的頻率;當(dāng)它的負(fù)載電容小于6pF時,其振蕩頻率會正向偏移;當(dāng)它的負(fù)載電容大于6pF時,其振蕩頻率就會負(fù)向偏移。因此,對于未知負(fù)載電 容的晶體應(yīng)首先采用實驗的方法,在其兩端加入輔助電容使晶體起振,然后用頻率計測出振蕩頻率。若測得頻率大于32768Hz,說明負(fù)載電容偏小;若測得頻 率小于32768Hz,說明負(fù)載電容偏大。對輔助電容逐步調(diào)整,最終使振蕩頻率盡可能接近32768Hz,則此時晶體端所接負(fù)載電容的總和就是適合該晶體 的負(fù)載電容。
結(jié)論
以上方法經(jīng)我們在實際工作中多次使用,證明確實有效。它放寬了DS1302在使用中對晶振的條件要求,增強了DS1302在工作中的穩(wěn)定性,對DS1302更廣泛地應(yīng)用具有積極的意義。
參考文獻(xiàn)
1 TI最新特低功耗微控制器系列資料. P&S武漢力源電子股份有限公司,2000(3)
2 崔惠柳. 單片機應(yīng)用技術(shù)選編:串行時鐘芯片DS1302在汽車智能記錄儀中的應(yīng)用.北京:北京航空航天大學(xué)出版社,1999