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