DS12887在數據采集與監控中的應用
0 引言
低壓配電數據采集與監控系統由現場(chǎng)變壓器遠程數據采集終端和監控中心兩大部分組成?,F場(chǎng)變壓器遠程數據采集終端安裝在變壓器現場(chǎng),通過(guò)RS485通訊接口采集多功能電能表的數據,對變壓器的電氣參數進(jìn)行數據處理并存儲數據,再通過(guò)RS232通訊接口控制GPRS通訊模塊實(shí)現遠程無(wú)線(xiàn)數據的采樣監測,監控中心的服務(wù)器主機上,安裝了低壓配電網(wǎng)臺區實(shí)時(shí)監測軟件,通過(guò)GPRS Modem即可與數據采集終端進(jìn)行通信。數據采集終端采用了定時(shí)、實(shí)時(shí)、故障三種數據傳輸模式,其中的定時(shí)和實(shí)時(shí)數據采集模式主要是通過(guò)實(shí)時(shí)時(shí)鐘DS12887來(lái)實(shí)現的。對實(shí)時(shí)數據采集模式是利用DS12887的分鐘寄存器的刷新來(lái)采集多功能電能表的當前數據;對定時(shí)數據采集模式是利用DS12887的分鐘寄存器是否為零來(lái)判斷每小時(shí)是否來(lái)到,每天采集存貯24組數據,產(chǎn)生一個(gè)數據包。數據采集終端根據時(shí)、分是否為零,判斷每天是否來(lái)到,從而給新的一天數據存貯單元清零;數據采集終端根據DS12887日期的變化,存貯7天的數據。上述數據采集功能的實(shí)現與DS12887的時(shí)鐘和日歷分不開(kāi)的,時(shí)鐘和日歷貫穿于整個(gè)數據采集中,起著(zhù)至關(guān)重要的作用。具有定時(shí)精度高、掉電保護、功能強大、使用靈活等優(yōu)點(diǎn),因此實(shí)時(shí)時(shí)鐘DS12887日益受到用戶(hù)的青睞。
1 DS12887的結構和功能特點(diǎn)
DS12887美國DALLAS公司推出的8位并行接口實(shí)時(shí)時(shí)鐘/日歷芯片,利用CMOS技術(shù)制成。采用24引腳雙列直插式封裝,是由振蕩電路、分頻電路、周期中斷/方波選擇電路、14字節時(shí)鐘和控制單元、114字節的用戶(hù)非易失性RAM、十進(jìn)制/二制累加器、總線(xiàn)接口電路、內部鋰電池等部分組成?;贒S12887的內部電路結構,其主要功能特點(diǎn)如下:
⑴ 內置一個(gè)鋰電池,斷電后能運行十年以上而不丟失數據。
⑵ 具有計秒、分、時(shí)、日、月、年、星期信息,并有閏年補償功能。
⑶ 可編程用二進(jìn)制碼或BCD碼來(lái)表示時(shí)間、日歷和鬧鐘。
⑷ 可編程設置時(shí)間是12小時(shí)制或24小時(shí)制。
⑸ 具有Motorola和intel兩種總線(xiàn)時(shí)序選擇方式。
⑹ 具有128字節RAM,其中10個(gè)時(shí)鐘寄存器,4個(gè)控制寄存器和114字節的通用RAM單元,所有RAM單元都具有掉電保護功能,可用作非易失性RAM。
⑺ 可編程方波信號輸出。
⑻ 具有定鬧中斷、周期性中斷、時(shí)鐘更新周期結束中斷,三個(gè)中斷源可分別由軟件屏蔽。
2 DS12887的4個(gè)控制寄存器的使用方法
2.1 寄存器A(除D7位只為讀外,其它位均可讀寫(xiě)),如表1所列。
表1 寄存器A (table 1 a register)
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
UIP | DV2 | DV1 | DV0 | RS3 | RS2 | RS1 | RS0 |
UIP:刷新標志。 UIP=1,表示正在進(jìn)行刷新; UIP=0,表示刷新在244μs內不會(huì )發(fā)生,此時(shí)可對RAM區進(jìn)行讀寫(xiě)操作。
DV2 DV1 DV0=010時(shí),打開(kāi)晶振,并允許時(shí)鐘開(kāi)始計時(shí)。
RS3 RS2 RS1 RS0用于選擇周期中斷或輸出方波頻率,當其分別為0111、1000、1001、1010、1011、1100、1101、1110、1111時(shí),對應輸出頻率為512Hz、256Hz、128Hz、64Hz、32Hz、16Hz、8Hz、4Hz、2Hz。當RS3 RS2 RS1 RS0=0000時(shí),禁止周期中斷和方波輸出。
2.2 寄存器B(可讀寫(xiě)),如表2所列。
表2 寄存器B(table 2 b register)
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
SET | PIE | AIE | UIE | SQWE | DM | 24/12 | DSE | |
SET=0,每秒計數一次;SET=1,禁止刷新。
PIE、AIE、VIE位均為1時(shí),分別表示允許周期中斷、報警中斷和時(shí)鐘數據刷新結束中斷;
均為0時(shí),表示禁止中斷產(chǎn)生。
SQWE=1,SQW端輸出由RS3~RS0位所設定的方波頻率信號;SQWE=0,SQW端保持低電平。
DM=1,日歷時(shí)鐘選用二進(jìn)制形式;DM=0,選用BCD碼形式。
24/12=1,時(shí)間模式選用24小時(shí)制;24/12=0,選用12小時(shí)制。
DSE=1,允許夏時(shí)制發(fā)生;DSE=0,禁止。
2.3 寄存器C(只讀),如表3所列。
表3 寄存器C(table 3 c register)
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
IRQF | PF | AF | UF | 0 | 0 | 0 | 0 |
PF、AF、UF位均為1時(shí),分別表示有周期中斷、報警中斷和刷新結束中斷產(chǎn)生;均為0時(shí),表示無(wú)中斷產(chǎn)生。
IRQF:中斷請求標志位。IRQF=PF×PIE+AF×AIE+UF×UIE
IRQF=0,無(wú)中斷請求產(chǎn)生;IRQF=1,有中斷請求產(chǎn)生。IRQ端輸出低電平,讀寄存器C或
復位之后其所有標志位均被清零。
2.4 寄存器D(只讀), 如表4所列。
表4 寄存器D(table 4 d register)
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
VRT | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
VRT=0,表示DS12887芯片內部鋰電池已耗盡,時(shí)間和RAM區信息無(wú)效;
VRT=1,信息有效。
3 硬件接口電路
DS12887在數據采集終端應用中的結構框圖如圖1所示。使用W77E58帶雙串口的高性能單片機,其中一個(gè)串口采用MAX487來(lái)實(shí)現與多功能電能表的RS485接口,獲取低壓配電參數的數據;另一個(gè)串口采用MAX232來(lái)實(shí)現與GPRS Modem通訊,實(shí)現遠程數據的收和發(fā)。
AT28C256 EEPROM實(shí)現對歷史數據的存貯。8255并行擴展接口用于功能擴展備用以及實(shí)現正常工作指示、備用電源指示、正在數據采集指示、正在遠程通訊指示、事件報警指示。
圖1 數據采集終端的硬件結構框圖
4 接口軟件
下面為DS12887時(shí)鐘芯片和77E58單片機的接口軟件,采用匯編語(yǔ)言編寫(xiě)。低壓配電數據采集與監控系統使用DS12887具有以下四種功能:一是以時(shí)間來(lái)存貯歷史數據,如存貯某年、某月、某日開(kāi)始的歷史數據,可以連續保存7天的數據,第8天則把最前面的一天的數據覆蓋掉;二是以小時(shí)的變化來(lái)實(shí)現定點(diǎn)數據采集;三是以分鐘的變化來(lái)實(shí)現當前數據采集;四是以某日是否變化來(lái)判斷新的一天是否來(lái)到。如某日變化則表明新的一天來(lái)到,則對新的一天中AT28C256對應的RAM單元初始化。
4.1 有關(guān)的常量定義和RAM單元注釋
;;;;;; 13H ……當前分鐘值(BCD碼)
SZ_addm equ 0f700H ;秒寄存器地址
SZ_addf equ 0f702H ;分寄存器地址
SZ_adds equ 0f704H ;時(shí)寄存器地址
SZ_addr equ 0f707H ;日寄存器地址
SZ_addy equ 0f708H ;月寄存器地址
SZ_addn equ 0f709H ;年寄存器地址
SZ_adda equ 0f70aH ;A寄存器地址
SZ_addb equ 0f70bH ;B寄存器地址
SZ_addc equ 0f70cH ;C寄存器地址
SZ_addd equ 0f70dH ;D寄存器地址
4.2 初始化時(shí)鐘芯片或時(shí)鐘設置
在低壓配電數據采集與監控系統中,具有通過(guò)GPRS Modem遠程通訊對DS12887進(jìn)行初始化設置時(shí)鐘功能或讀時(shí)鐘等功能。單片機接收到的年、月、日、時(shí)、分、秒數據分別存于21H、22H、23H、24H、25H、26H RAM內存單元中。
初始化時(shí)鐘設置子程序:
MOV DPTR,#SZ_addb ;寄存器B的SET置“1”,禁止芯片內部的刷新周期
MOV A ,#82H ;
MOVX @DPTR,A ;
MOV DPTR,#SZ_addn ;寫(xiě)入年寄存器的數據
MOV A , 21H ;
MOVX @DPTR,A ;
MOV DPTR,#SZ_addy ;寫(xiě)入月寄存器的數據
MOV A , 22H ;
MOVX @DPTR,A ;
MOV DPTR,#SZ_addr ;寫(xiě)入日寄存器的數據
MOV A , 23H ;
MOVX @DPTR,A ;
MOV DPTR,#SZ_adds ;寫(xiě)入時(shí)寄存器的數據
MOV A , 24H ;
MOVX @DPTR,A ;
MOV DPTR,#SZ_addf ;寫(xiě)入分寄存器的數據
MOV A , 25H ;
MOVX @DPTR,A ;
MOV DPTR,#SZ_addm ;寫(xiě)入秒寄存器的數據
MOV A , 26H ;
MOVX @DPTR,A ;
MOV DPTR,#SZ_adda ;初始化寄存器A,打開(kāi)晶振開(kāi)始計時(shí),禁止中斷,
MOV A , #20H ;禁止方波輸出。
MOVX @DPTR,A ;
MOV DPTR,#SZ_addb ;寄存器B的SET置“0”,
MOV A , #02H ;BCD碼格式,24小時(shí)制,允許時(shí)間刷新。
MOVX @DPTR,A ;
RET ;
4.3 從DS12887中讀取數據
讀數據子程序: MOV DPTR,#SZ_adda ;讀出寄存器A中的內容
MOVX A, @DPTR ;查詢(xún)VIP位,判斷芯片是否處于更新周期
JB ACC.7 ,XIN ;
MOV DPTR,#SZ_addf ;讀分寄存器的值
MOVX A, @DPTR ;
CJNE A, 13H,SAMPLE ;判斷時(shí)間分寄存器是否更新,即1分鐘到否?
SJMP XIN ;未到
SAMPLE: 。。。。。。 ;到了,開(kāi)始采集多功能表的數據
5 結束語(yǔ)
本文從實(shí)時(shí)時(shí)鐘DS12887結構原理入手,講述了該芯片的功能特點(diǎn),使用方法。重點(diǎn)以DS12887與單片機77E58的硬件接口電路和軟件編程兩個(gè)方面為例,講述了DS12887在低壓配電數據采集與監控系統中是如何實(shí)現了定時(shí)和當前數據采集功能的, 它應用于江西省2002年省教育廳科技項目計劃課題《單相袖珍式多功能現場(chǎng)校驗儀》中, 課題編號為贛教科技[2002]01號1901,基金項目經(jīng)費為1萬(wàn)元,已于2005年6月完成科技成果鑒定。本文的創(chuàng )新點(diǎn)是巧妙地利用了DS12887時(shí)鐘芯片的功能,以實(shí)時(shí)運行的時(shí)間為準則, 實(shí)現了瞬時(shí)、定點(diǎn)、一天、歷史數據的采集與存儲,并且通過(guò)GPRS網(wǎng)絡(luò )實(shí)現了遠程監測。該系統經(jīng)供電局安裝運行證明,運行可靠,它能實(shí)現遠程抄收電廠(chǎng)變壓器電能表的各種數據,值得推廣。
參考文獻
1 鄭仲明.利用DS12887設計的利率顯示屏[J].國外電子元器件,2002,10:17-19。
2 張松波,張東升.實(shí)時(shí)時(shí)鐘12887在嵌入式系統中的應用[J]. 電測與儀表,2004,8:54-56。
3 李 濤,徐建政.基于GPRS無(wú)線(xiàn)技術(shù)的配電變壓器監測系統[J].電測與儀表,2004,6:55-57。
4朱杰斌,余紅粒,潘自強.時(shí)鐘芯片在電壓監測儀校驗裝置中的應用[J]. 微計算機信息,
2006年12月上旬:288-290。
電能表相關(guān)文章:電能表原理
評論