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