基于Motorola M12 GPS接收機實現(xiàn)繼電保護同步檢測
關(guān)鍵詞:GPS;單片機;串口通信
引言
美國東部時間2003年8月14日16時11分,其東北部和加拿大聯(lián)合電網(wǎng)發(fā)生大面積停電事故。負荷損失總計6180萬千瓦,停電范圍為9300多平方英里,受影響的居民約5000萬人。
這次事件造成了巨大的經(jīng)濟損失和社會影響,引起了世界各國的普遍關(guān)注。相關(guān)報告表明電網(wǎng)二次系統(tǒng)的配置及其協(xié)調(diào)存在明顯缺陷,功能不完善是這次事故爆發(fā)的主要原因之一。眾所周知,繼電保護裝置是電網(wǎng)二次系統(tǒng)重點建設的項目,為此開發(fā)了利用GPS定時模塊來縮小繼電保護檢測裝置在異地雙端試驗和雙端故障定位等方面的時間誤差,取得了預期目標。
硬件系統(tǒng)
該系統(tǒng)分為上位機和下位機兩大部分,M12作為定時模塊接入,其基本的框圖如圖1所示。
上位機是具有一定配置的PC機,AT89C58作為下位機主控CPU與上位機相連接,完成控制數(shù)據(jù)與信號數(shù)據(jù)的交互。與AT89C58相連的可以劃分為五個模塊,它們分別是:DDS(直接頻率合成)模塊,采用AD9852來實現(xiàn);電流電壓輸出模塊,采用TMS320VC5402定點DSP來實現(xiàn);同步定時模塊,采用M12 GPS接收器來實現(xiàn);開入動作變化量檢測模塊,采用AT89C2051來實現(xiàn);開出動作變化量計時模塊,采用8255定時器來實現(xiàn)。
本文主要介紹作為同步定時模塊的M12是如何與主控設備完成軟硬件連接,并且協(xié)調(diào)工作的。此處硬件的連接是通過標準異步串口來完成的,需要指出的是,M12的標準異步串行接口采用的是3V邏輯電平,而主控設備輸出的邏輯電平卻是5V,因此采用MAXIM公司生產(chǎn)的MAX3370作為邏輯電平轉(zhuǎn)換模塊,起到銜接的作用;主控設備與M12之間采用模擬串行通信。硬件連接簡單,主要功能由軟件來實現(xiàn)。M12的初始化編程以及定時數(shù)據(jù)的采集、比較、反饋的詳細過程見軟件實現(xiàn)。
模塊特點
M12接入系統(tǒng)如圖2所示。
該系統(tǒng)使用Motorola 公司生產(chǎn)的M21 GPS接收器作為定時源。M12接收器的并行通道已經(jīng)擴展到12個,提供碼跟蹤和載波輔助跟蹤,可同時跟蹤12顆衛(wèi)星,可串行輸出緯度、經(jīng)度、高度、速度、航向和時間信息。M12接收器的核心硬件MRFIC1504是基于MMC2003的32位RISC控制器。M12接收器提供2.75~3.2V的電壓,支持逆向差分,可以通過設置差分基站的方法來改良定位效果。支持RTCM SC-104(美國海用無線電技術(shù)委員會)格式的差分功能,NAEA 0183(美國國家海洋電子學會)格式輸出,雙通信串口,用戶可控制的速度濾波器和一個天線檢測回路。用戶還可以選擇使用垂直于電路板或者是平行于電路板的數(shù)據(jù)/電源連接器?;镜目刂屏鞒倘鐖D3所示。
在主控設備與M12通信過程中,建議采用其特有的Motorola二進制數(shù)據(jù)與指令格式,通信速率可以保證在9600bps(取決于M12),而采用NMEA-0183格式時,通信速率只有4800bps,同時在初始化GPS時還需要加入由Motorola二進制轉(zhuǎn)化為NMEA-0183的指令,相比之下較為繁瑣,而Motorola二進制是默認通信模式。
在此設計當中,關(guān)鍵的環(huán)節(jié)在于兩個方面,一是M12的初始化,二是主控設備與M12之間采用的模擬串口通信是否可靠。對于M12初始化而言,重點在于理解Motorola二進制數(shù)據(jù)格式的結(jié)構(gòu),其次是設置初始化時間。實時時鐘是M12的特征之一,它用于縮小TTFF(捕獲時間),在主電源被切斷而后備電源工作時,數(shù)據(jù)和時間信息將被存儲在RTC寄存器中。因此存在初始化在GPS鎖定第一顆衛(wèi)星之前,或是讓讓衛(wèi)星自動搜索兩種初始化時間信息的方式。實踐證明,第一種方案得到的TTFF較小,所以建議采用。GPS默認提供的是GMT(格林威治時間),因此用戶需要根據(jù)當?shù)氐那闆r設置時區(qū)的偏移量(中國為東8區(qū),+8)。具備以上知識后,就可以從數(shù)據(jù)包中提取時間信息。此處選用短位置消息。
@@Hbmdyyhmsffffaaaaoooohhhhmmmm VVvvhhddntssrrvvvvvvCCR>LF>
下面僅僅分析它有關(guān)定時信息的部分。
實例如下。
@@Hb021C07D4092D280001121A000000000000 00000000000000000000000000000000000000016088 0000503035463039
轉(zhuǎn)化成16進制的數(shù)是021C07D4092D280001,對應的時間是2.28.2004.9:45:40:0001。
對于模擬串口而言,首先應當明確采用哪一種執(zhí)行方式。其次,就是選定通信波特率。最后就是確定具體的硬件結(jié)構(gòu)。這里采用起始位為1bit,終止位為1bit,無奇偶校驗位,波特率為9600,晶振頻率為11.0592MHz。處理流程如圖4所示。
MRXD代表一個1比特的位地址,它用于檢測串口通信起始位,終止位的有效性;MTXD代表一個1比特的位地址,它用于發(fā)送串口通信所需的起始位,終止位;CONT代表一個計數(shù)器,用于控制所發(fā)比特的個數(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ù)幀,初始化時間偏移
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ù)幀,啟動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ī)定的時間相比較,相等時置中斷標志位
CLR A ;不相等時重新接收
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: ;接收程序,完成接收,校驗,置中斷標志位的功能
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;前兩個字節(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;置中斷標志位
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接收器來完成繼電保護檢測裝置的異地雙端同步試驗,該模塊大大提高了繼電保護測試水平和工作效率,并且有效減少了人為誤差,防止了繼電保護及其安全自動裝置的不正確動作。
評論