實時時鐘的縮寫是RTC(RealTime Clock)。RTC 是集成電路,通常稱為時鐘芯片。控制時鐘的芯片。一旦初始化后,它就會隨著現(xiàn)實的時鐘一直計數(shù)。
現(xiàn)在流行的串行時鐘電路很多,如DS1302、 DS1307、PCF8485等。這些電路的接口簡單、價格低廉、使用方便,被廣泛地采用。本文介紹的實時時鐘電路DS1302是DALLAS公司的一種具有涓細(xì)電流充電能力的電路,主要特點是采用串行數(shù)據(jù)傳輸,可為掉電保護電源提供可編程的充電功能,并且可以關(guān)閉充電功能。采用普通32.768kHz晶振。
DS1302 的主要技術(shù)性能與特點
(1) 內(nèi)含一個鈕電池,斷電情況下運行 10 年以上不丟失數(shù)據(jù)。
(2) 可計秒、 分、 時、 星期、 日、 月、 年,并有閏年補償功能,有效年份為 2100 年以前。
(3) 可選二進制碼或 BCD 碼表示時間、日歷,具有鬧鐘定時功能。
(4) 可選 12 小時或 24 小時制,12 小時時鐘模式帶有 PM 和 AM 指示,有夏令時功能。
(5) 簡單的3線接口。
DS1302 的引腳功能與封裝形式
圖4?1 DS1302 的引腳功能與封裝形式
在DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc≥2.5V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細(xì)說明。SCLK始終是輸入端。
RTC的晶振頻率為什么是32768Hz?
(1) RTC時間是以振蕩頻率來計算的。故它不是一個時間器而是一個計數(shù)器。而一般的計數(shù)器都是16位的。又因為時間的準(zhǔn)確性很重要,故震蕩次數(shù)越低,時間的準(zhǔn)確性越低。所以必定是個高次數(shù)。215 = 32768。
(2) 32768 Hz = 215 即分頻15次后為1Hz,周期 = 1s。
(3)經(jīng)過工程師的經(jīng)驗總結(jié)32768 Hz,時鐘最準(zhǔn)確。
(4)規(guī)范和統(tǒng)一。
DS1302 的內(nèi)部結(jié)構(gòu)
圖4?2 DS1302 的內(nèi)部結(jié)構(gòu)
DS1302的工作原理
控制字節(jié)
DS1302 的控制字符表示??刂?/span>字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果為0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。
輸入輸出
在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位到高位7。
寄存器
DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時間寄存器及其控制字見表1。
此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。
DS1302 的常見應(yīng)用原理圖
原理圖中典型應(yīng)用如下:
圖4?3 DS1302 的常見應(yīng)用原理圖
FPGA中的應(yīng)用:
CE I/O SCLK引腳只需要鏈接到FPGA的普通I/O引腳就可以,常見電路如下:
圖4?4 DS1302在FPGA中的應(yīng)用
CPU中的應(yīng)用:
在CPU中應(yīng)用時,首先要確定下CPU型號是什么。關(guān)鍵這個CPU有沒有SPI接口,如果有,將DS1302的CLK接SPI接口的SCK,將I/O接IIC接口的SDA,RST任意接CPU的IO口。注意IIC接口要有上拉電阻。倘若使用的CPU沒有IIC接口,比如STC單片機除最新的STC8以外的其他系列,則任意選擇通用IO口均可。
圖4?5 DS1302在CPU中的應(yīng)用
其他電路:
其他電路同上。
下一篇文章進行相關(guān)代碼設(shè)計及分析。