設(shè)備發(fā)生告警,特別是長時間無人值守的設(shè)備,需要自動記錄告警信息及其發(fā)生時間。記錄和分析這些信息,對設(shè)備的故障診斷和迅速恢復(fù)正常運行具有重要作用。采用單片機記錄的傳統(tǒng)信息記錄方式需要采用計數(shù)器,設(shè)置中斷、查詢等,占用硬件資源。而采用實時時鐘/日歷器件DSl511則能解決這些問題。
2 DSl511簡介
DSl511是美國DALLAS公司推出的一款高性能、兼容Y2K的實時時鐘/日歷器件(real—time clock and calendar,簡稱RTC),它內(nèi)置有RTC報警器、看門狗定時器、上電復(fù)位電路、電池監(jiān)控器、SRAM、32.768 kHz方波輸出電路、晶體振蕩器和電池等。它可以以世紀、年、月、日、星期、時、分和秒計時,按月修正日期,且具有閏年自動調(diào)整功能,工作電壓為+3.3 V或+5.0 V。用戶可通過5位地址接口和8位數(shù)據(jù)接口靈活訪問DS1511內(nèi)的所有寄存器。DSl5ll內(nèi)部有256字節(jié)的非易失性SRAM存儲器。為保證可靠供電,DSl5ll除內(nèi)置電池外,還具有直流電源和輔助電池輸入引腳。
2.1 引腳功能
DSl511采用28引腳EDIP封裝.其引腳功能描述為:
PWR:上電輸出端;
RST:復(fù)位輸出端:
IRQ:中斷輸出端;
A0~A4:地址輸入端,用于選擇片內(nèi)寄存器;
DQ0~DQ7:數(shù)據(jù)輸入/輸出端;
CE:器件使能輸入端;
OE:輸出使能輸入端,用于使能DQ0~DQ7的數(shù)據(jù)輸出;
SQW:方波輸出端,輸出32.768kHz的方波;
KS:喚醒輸入端,用于從一個外部事件喚醒系統(tǒng),無連接時應(yīng)接地;
VBAUX:輔助電池輸入端。不連接時應(yīng)接地;
WE:寫使能輸入端,用于使能DQ0~DQ7的數(shù)據(jù)輸入。
2.2 工作原理
DSl511的內(nèi)部結(jié)構(gòu)如圖l所示。它主要由晶體、振蕩器、時鐘報警器和看門狗、時鐘和控制寄存器、SRAM、保護電路及電池構(gòu)成。
DSl511的工作原理可概括為:訪問寄存器、讀操作、寫操作。通過設(shè)置DSl511內(nèi)部寄存器實現(xiàn)其具體操作。首先通過地址端口A0~A4輸入需要訪問的寄存器地址碼;其次進行尋址以找到目標寄存器;最后通過數(shù)據(jù)端口DQ0~DQ7對目標寄存器進行相應(yīng)的讀/寫操作。表1給出DSl511的主要寄存器。其中,月寄存器的EOSC位控制振蕩器的啟動,停止;E3
2K=0,SQW端輸出32.768 kHz的方波。AMl~AM4和Dy/Dt位控制報警器的觸發(fā)條件??刂艫寄存器的BLFl,BLF2位分別表示內(nèi)置電池和外置輔助電池的電壓狀態(tài);PRS、PAB位控制PWR端的輸出;TDF位表示當(dāng)前時刻是否與設(shè)定的告警時間相符;WDF=1表示處理器未在規(guī)定時間內(nèi)向看門狗寄存器寫數(shù)據(jù)。對DSl5ll而言,控制B寄存器的晶體選擇位CS應(yīng)始終為0;若用戶需要使用看門狗功能,則要將看門狗使能位WDE置1。需要說明的是,在每次訪問DSl5ll前都應(yīng)先設(shè)置表l中相關(guān)寄存器的控制位。
在CE和OE都是低電平,且WE為高電平時,可從數(shù)據(jù)端口DQ0~DQ7讀取數(shù)據(jù)。在CE和WE都是低電平,而OE為任意電平時,可向數(shù)據(jù)口DQO—DQ7寫入數(shù)據(jù)。
3 典型應(yīng)用設(shè)計
3.1 硬件電路設(shè)計
圖2是DSl511用于某系統(tǒng)信息記錄的電路圖。
3.1.1 電源供電和電源檢測的實現(xiàn)
設(shè)計中,未使用VBAUX供電,而采用VCC和內(nèi)置電池供電。當(dāng)VCC高于電池電壓時,供電由VCC提供;當(dāng)VCC低于電池電壓時,則切換至電池供電。
由于DSl511具有上電復(fù)位功能.故無需再使用專門的電源檢測器件。用戶僅需將DSl511的RST端與MCU的RESET端相連,且采用同一電源向DSl511和MCU供電。借助DSl51l的上電復(fù)位功能,檢測電源掉電或故障,以確保MCU處于安全的復(fù)位狀態(tài)直到正常電源恢復(fù)且達到穩(wěn)定。對于需要使用看門狗定時器的系統(tǒng)設(shè)計,可將表1中的控制B寄存器的WDE位置l,即可使用DSl511自帶的看門狗定時器功能。
3.1.2 晶體和電池選擇
使用常規(guī)RTC必須選擇晶體和電池。而DSl511卻是例外,因為它具有內(nèi)置晶體和電池。對于有振動要求的系統(tǒng)設(shè)計,采用DSl511可解決晶體和電池的抗振防護問題。
3.1.3 存儲器選擇
采用易失性RAM雖然存取速度較快,但由于其掉電易失性,設(shè)計時還需考慮數(shù)據(jù)掉電保護問題。傳統(tǒng)的數(shù)據(jù)掉電保護是掉電檢測電路。當(dāng)發(fā)生掉電時,向MCU發(fā)出中斷,響應(yīng)中斷后,在中斷服務(wù)程序中完成數(shù)據(jù)存儲。而用于數(shù)據(jù)存儲的RAM需要加備用電池。因此采用易失性RAM需大量占用硬件資源。而采用非易失性PROM雖然省去了備用電池,但存在使用壽命短、寫入時間長的問題。由于寫入時間長,還需考慮電路中的大電容,以提供必要的寫入電壓。如果電壓下降到系統(tǒng)無法工作時,數(shù)據(jù)還沒有寫完,那么數(shù)據(jù)存儲就會出錯。這將產(chǎn)生數(shù)據(jù)存儲不可靠的問題。而DSl511內(nèi)置SRAM是一種靜態(tài)RAM,可反復(fù)讀/寫操作,掉電后與時鐘共用內(nèi)置電池以確保數(shù)據(jù)不丟失。用其存儲數(shù)據(jù)既可省去掉電檢測電路和備用電池,又保證存取速度,而且使用壽命長。
3.2 軟件程序設(shè)計
圖3給出應(yīng)用DSl511實現(xiàn)某系統(tǒng)信息記錄的主程序流程圖。對DSl511的讀/寫操作只需按照其相關(guān)時序即可實現(xiàn)。需要強調(diào)的是,初始化DSl51l時應(yīng)根據(jù)實際需求設(shè)置寄存器,這樣做可減少初始化時間、提高程序執(zhí)行效率。
4 結(jié)語
將DSl511應(yīng)用于信息記錄,其軟硬件設(shè)計簡單,時間記錄準確,給長時間連續(xù)正常工作的設(shè)備和故障診斷帶來方便。目前,采用DSl511設(shè)計的信息記錄模塊已在某系統(tǒng)中通過調(diào)試,并取得了良好的效果。在實際應(yīng)用中借助于DSl511的時鐘報警器、SRAM,還可以實現(xiàn)時間鎖定和密碼保護等功能。