時鐘芯片DS1302可靠起振的方法
簡介 在 DS1302的實際使用中,采用輔助電容法,可以解決 DS1302 在應(yīng)用中由于晶振的負(fù)載電容不匹配而引起的停振問題。 概述 DS1302 是 Dallas 公司生產(chǎn)的一種實時時鐘芯片。它通過串行方式與單片機(jī)進(jìn)行數(shù)據(jù)傳送,能夠向單片機(jī)提供包括秒、分、時、日、月、年等在內(nèi)的實時時 間信息,并可對月末日期、 閏年天數(shù)自動進(jìn)行調(diào)整;它還擁有用于主電源和備份電 源的雙電源引腳,在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。另外,它還 能提供 31 字節(jié)的用于高速數(shù)據(jù)暫存的 RAM. 鑒于上述特點,DS1302 已在許多單片 機(jī)系統(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 與單片機(jī)系統(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é)。因此,其與單片機(jī)之間的數(shù)據(jù)傳送是十分容易實現(xiàn)的。 二、 時鐘的產(chǎn)生及存在的問題 ?。?) 在實際使用中,我們發(fā)現(xiàn) DS1302 的工作情況不夠穩(wěn)定,主要表現(xiàn)在實時 時間的傳送有時會出現(xiàn)誤差,有時甚至整個芯片停止工作。 我們對 DS1302 的工作 電路進(jìn)行了分析,其與單片機(jī)系統(tǒng)的連接如圖 2 所示。從圖中可以看出,DS1302 的外部電路十分簡單,惟一外接的元件是 32768Hz 的晶振。通過實驗我們發(fā)現(xiàn): 當(dāng)外接晶振電路振蕩時,DS1302 計時正確;當(dāng)外接晶振電路停振時,DS1302 計時 停止。因此,我們認(rèn)為 32768Hz 晶振是造成 DS1302 工作不穩(wěn)定的主要原因。 圖 2 DS1302 與單片機(jī)系統(tǒng)的連接圖 ?。?) 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 不一致時,就會影響晶振的起振或?qū)е抡袷庮l率的偏移,出現(xiàn)上述在應(yīng)用中 的問題。 三、 利用輔助電容實現(xiàn)負(fù)載匹配 ?。?) 當(dāng)所選的晶振負(fù)載電容不是 6pF 時,可以采用增加輔助電容的方法提 高或降低 DS1302 振蕩器的電容性負(fù)載,使之與晶體所需的電容值匹配。 如果已知 晶體的負(fù)載電容為 CI,若 CI6pF,則可以增加一個并聯(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 在使用中對晶振的條件要求,增強(qiáng)了 DS1302 在工作中的穩(wěn)定性,對 DS1302 更廣泛 地應(yīng)用具有積極的意義。
評論