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