基于Motorola M12 GPS接收機(jī)實(shí)現(xiàn)繼電保護(hù)同步檢測
掃描二維碼
隨時(shí)隨地手機(jī)看文章
關(guān)鍵詞:GPS;單片機(jī);串口通信
引言
美國東部時(shí)間2003年8月14日16時(shí)11分,其東北部和加拿大聯(lián)合電網(wǎng)發(fā)生大面積停電事故。負(fù)荷損失總計(jì)6180萬千瓦,停電范圍為9300多平方英里,受影響的居民約5000萬人。
這次事件造成了巨大的經(jīng)濟(jì)損失和社會(huì)影響,引起了世界各國的普遍關(guān)注。相關(guān)報(bào)告表明電網(wǎng)二次系統(tǒng)的配置及其協(xié)調(diào)存在明顯缺陷,功能不完善是這次事故爆發(fā)的主要原因之一。眾所周知,繼電保護(hù)裝置是電網(wǎng)二次系統(tǒng)重點(diǎn)建設(shè)的項(xiàng)目,為此開發(fā)了利用GPS定時(shí)模塊來縮小繼電保護(hù)檢測裝置在異地雙端試驗(yàn)和雙端故障定位等方面的時(shí)間誤差,取得了預(yù)期目標(biāo)。
硬件系統(tǒng)
該系統(tǒng)分為上位機(jī)和下位機(jī)兩大部分,M12作為定時(shí)模塊接入,其基本的框圖如圖1所示。
上位機(jī)是具有一定配置的PC機(jī),AT89C58作為下位機(jī)主控CPU與上位機(jī)相連接,完成控制數(shù)據(jù)與信號(hào)數(shù)據(jù)的交互。與AT89C58相連的可以劃分為五個(gè)模塊,它們分別是:DDS(直接頻率合成)模塊,采用AD9852來實(shí)現(xiàn);電流電壓輸出模塊,采用TMS320VC5402定點(diǎn)DSP來實(shí)現(xiàn);同步定時(shí)模塊,采用M12 GPS接收器來實(shí)現(xiàn);開入動(dòng)作變化量檢測模塊,采用AT89C2051來實(shí)現(xiàn);開出動(dòng)作變化量計(jì)時(shí)模塊,采用8255定時(shí)器來實(shí)現(xiàn)。
本文主要介紹作為同步定時(shí)模塊的M12是如何與主控設(shè)備完成軟硬件連接,并且協(xié)調(diào)工作的。此處硬件的連接是通過標(biāo)準(zhǔn)異步串口來完成的,需要指出的是,M12的標(biāo)準(zhǔn)異步串行接口采用的是3V邏輯電平,而主控設(shè)備輸出的邏輯電平卻是5V,因此采用MAXIM公司生產(chǎn)的MAX3370作為邏輯電平轉(zhuǎn)換模塊,起到銜接的作用;主控設(shè)備與M12之間采用模擬串行通信。硬件連接簡單,主要功能由軟件來實(shí)現(xiàn)。M12的初始化編程以及定時(shí)數(shù)據(jù)的采集、比較、反饋的詳細(xì)過程見軟件實(shí)現(xiàn)。
模塊特點(diǎn)
M12接入系統(tǒng)如圖2所示。
該系統(tǒng)使用Motorola 公司生產(chǎn)的M21 GPS接收器作為定時(shí)源。M12接收器的并行通道已經(jīng)擴(kuò)展到12個(gè),提供碼跟蹤和載波輔助跟蹤,可同時(shí)跟蹤12顆衛(wèi)星,可串行輸出緯度、經(jīng)度、高度、速度、航向和時(shí)間信息。M12接收器的核心硬件MRFIC1504是基于MMC2003的32位RISC控制器。M12接收器提供2.75~3.2V的電壓,支持逆向差分,可以通過設(shè)置差分基站的方法來改良定位效果。支持RTCM SC-104(美國海用無線電技術(shù)委員會(huì))格式的差分功能,NAEA 0183(美國國家海洋電子學(xué)會(huì))格式輸出,雙通信串口,用戶可控制的速度濾波器和一個(gè)天線檢測回路。用戶還可以選擇使用垂直于電路板或者是平行于電路板的數(shù)據(jù)/電源連接器?;镜目刂屏鞒倘鐖D3所示。
在主控設(shè)備與M12通信過程中,建議采用其特有的Motorola二進(jìn)制數(shù)據(jù)與指令格式,通信速率可以保證在9600bps(取決于M12),而采用NMEA-0183格式時(shí),通信速率只有4800bps,同時(shí)在初始化GPS時(shí)還需要加入由Motorola二進(jìn)制轉(zhuǎn)化為NMEA-0183的指令,相比之下較為繁瑣,而Motorola二進(jìn)制是默認(rèn)通信模式。
在此設(shè)計(jì)當(dāng)中,關(guān)鍵的環(huán)節(jié)在于兩個(gè)方面,一是M12的初始化,二是主控設(shè)備與M12之間采用的模擬串口通信是否可靠。對(duì)于M12初始化而言,重點(diǎn)在于理解Motorola二進(jìn)制數(shù)據(jù)格式的結(jié)構(gòu),其次是設(shè)置初始化時(shí)間。實(shí)時(shí)時(shí)鐘是M12的特征之一,它用于縮小TTFF(捕獲時(shí)間),在主電源被切斷而后備電源工作時(shí),數(shù)據(jù)和時(shí)間信息將被存儲(chǔ)在RTC寄存器中。因此存在初始化在GPS鎖定第一顆衛(wèi)星之前,或是讓讓衛(wèi)星自動(dòng)搜索兩種初始化時(shí)間信息的方式。實(shí)踐證明,第一種方案得到的TTFF較小,所以建議采用。GPS默認(rèn)提供的是GMT(格林威治時(shí)間),因此用戶需要根據(jù)當(dāng)?shù)氐那闆r設(shè)置時(shí)區(qū)的偏移量(中國為東8區(qū),+8)。具備以上知識(shí)后,就可以從數(shù)據(jù)包中提取時(shí)間信息。此處選用短位置消息。
@@Hbmdyyhmsffffaaaaoooohhhhmmmm VVvvhhddntssrrvvvvvvC<CR><LF>
下面僅僅分析它有關(guān)定時(shí)信息的部分。
實(shí)例如下。
@@Hb021C07D4092D280001121A000000000000 00000000000000000000000000000000000000016088 0000503035463039
轉(zhuǎn)化成16進(jìn)制的數(shù)是021C07D4092D280001,對(duì)應(yīng)的時(shí)間是2.28.2004.9:45:40:0001。
對(duì)于模擬串口而言,首先應(yīng)當(dāng)明確采用哪一種執(zhí)行方式。其次,就是選定通信波特率。最后就是確定具體的硬件結(jié)構(gòu)。這里采用起始位為1bit,終止位為1bit,無奇偶校驗(yàn)位,波特率為9600,晶振頻率為11.0592MHz。處理流程如圖4所示。
MRXD代表一個(gè)1比特的位地址,它用于檢測串口通信起始位,終止位的有效性;MTXD代表一個(gè)1比特的位地址,它用于發(fā)送串口通信所需的起始位,終止位;CONT代表一個(gè)計(jì)數(shù)器,用于控制所發(fā)比特的個(gè)數(shù)。
源代碼。
PCON EQU 87H
HEAD EQU 20H
INT_OK BIT 08H
ORG 0000H
LJMP START
ORG 0023h
LJMP RECIEVE
ORG 0100H
START: MOV PSW,#00H
MOV SP,#70H
MOV TMOD,#20H
MOV TH1,#0FAH
MOV TL1,#0FAH
MOV PCON.#80H
SETB EA
SETB TR1
SETB ES
SETB P1.0
CLR INT_OK
MOV SCON,#70H
MOV DPTR,#TAB1
MOV R7,#11H
SEND1: CLR A
MOVC A,@A+DPTR
MOV SBUF,A
SWAIT1: ;發(fā)送@@Gb數(shù)據(jù)幀,初始化時(shí)間偏移
JNB TI,SWAIT1
CLR TI
INC DPTR
DJNZ R7,SEND1
MOV DPTR,#TAB2
MOV R7,#08H
SEND2: CLR A
MOVC A ,@A+DPTR
MOV SBUF,A
SWAIT2: ;發(fā)送@@Hb數(shù)據(jù)幀,啟動(dòng)GPS
JNB TI,SWAIT2
CLR TI
INC DPTR
DJNZ R7,SEND2
MOV R5,#00H
STOP_HERE: ;檢測接收到的數(shù)據(jù)幀是否有效
JNB INT_OK,STOP_HERE
MOV DPTR,#TAB3
MOV RO,#65H
MOV R7,#03H
TIME_1: ;與規(guī)定的時(shí)間相比較,相等時(shí)置中斷標(biāo)志位
CLR A ;不相等時(shí)重新接收
MOVC A ,@A+DPTR
MOV @RO,A
INC RO
INC DPTR
DJNZ R7,TIME_1
MOV RO,#36H
MOV R1,#65H
MOV R7,#03H
ACALL CMP
CJNE A ,#00H,WAIT
CPL P1.0
WAIT: CLR INT_OK
AJMP STOP_HERE
RECIEVE: ;接收程序,完成接收,校驗(yàn),置中斷標(biāo)志位的功能
PUSH PSW
PUSH ACC
CLR ES
CLR RI
MOV PSW,#08H
MOV A,SBUF
CJNE A ,#40H,STOP
RR1: JNB RI,RR1
CLR RI
MOV A ,SBUF
CJNE A ,#40H,STOP;前兩個(gè)字節(jié)若為@@繼續(xù),
否則,跳出
MOV RO,#30H
MOV R7,#34H
RR2: JNB RI,RR2
CLR RI
MOV A ,SBUF
MOV @RO,A
INC RO
DJNZ R7,RR2
MOV RO,#30H
MOV R7,#30H
ACALL TEST
MOV A,@RO
CJNE A ,20H,STOP
SETB INT_OK;置中斷標(biāo)志位
STOP: POP ACC
POP PSW
SETB ES
RETI
TEST: MOV A,@RO
MOV 20H,A
INC RO
TT1: MOV A,@RO
XRL 20H,A
INC RO
DJNZ R7,TT1
RET
CMP: MOV A ,@RO
MOV B,A
MOV A,@R1
CJNE A ,B,CMP1
INC R0
INC R1
DJNZ R7,CMP
MOV A,#00H
LJMP CMP3
CMP1: JC CMP2
MOV A,#OFFH
LJMP CMP3
CMP2: MOV A,#01H
CMP3: RET
TAB1: DB
40H,40H,47H,62H,01H,01H,07H,0D4H,0CH,00H,00H,00H,08H, 00H,0D9H,0DH.0AH
TAB2: DB 40H,40H,48H,62H,01H,2BH.0DH,0AH
TAB3: DB 0BH,10H,01H
END
總結(jié)
本文主要介紹了如何使用Motorola公司生產(chǎn)的M12 GPS接收器來完成繼電保護(hù)檢測裝置的異地雙端同步試驗(yàn),該模塊大大提高了繼電保護(hù)測試水平和工作效率,并且有效減少了人為誤差,防止了繼電保護(hù)及其安全自動(dòng)裝置的不正確動(dòng)作。