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