打造国内最大的IC交易平台
技术资料 行业资讯 PDF资料 IC价格 IC替换 缩略语 IC供应 IC采购
基于Motorola M12 GPS接收机实现继电保护同步检测(图)
类别:电子综合  
 
引言

美国东部时间2003年8月14日16时11分,其东北部和加拿大联合电网发生大面积停电事故。负荷损失总计6180万千瓦,停电范围为9300多平方英里,受影响的居民约5000万人。

这次事件造成了巨大的经济损失和社会影响,引起了世界各国的普遍关注。相关报告表明电网二次系统的配置及其协调存在明显缺陷,功能不完善是这次事故爆发的主要原因之一。众所周知,继电保护装置是电网二次系统重点建设的项目,为此开发了利用GPS定时模块来缩小继电保护检测装置在异地双端试验和双端故障定位等方面的时间误差,取得了预期目标。

硬件系统

该系统分为上位机和下位机两大部分,M12作为定时模块接入,其基本的框图如图1所示。

上位机是具有一定配置的PC机,AT89C58作为下位机主控CPU与上位机相连接,完成控制数据与信号数据的交互。与AT89C58相连的可以划分为五个模块,它们分别是:DDS(直接频率合成)模块,采用AD9852来实现;电流电压输出模块,采用TMS320VC5402定点DSP来实现;同步定时模块,采用M12 GPS接收器来实现;开入动作变化量检测模块,采用AT89C2051来实现;开出动作变化量计时模块,采用8255定时器来实现。

本文主要介绍作为同步定时模块的M12是如何与主控设备完成软硬件连接,并且协调工作的。此处硬件的连接是通过标准异步串口来完成的,需要指出的是,M12的标准异步串行接口采用的是3V逻辑电平,而主控设备输出的逻辑电平却是5V,因此采用MAXIM公司生产的MAX3370作为逻辑电平转换模块,起到衔接的作用;主控设备与M12之间采用模拟串行通信。硬件连接简单,主要功能由软件来实现。M12的初始化编程以及定时数据的采集、比较、反馈的详细过程见软件实现。

模块特点

M12接入系统如图2所示。

该系统使用Motorola 公司生产的M21 GPS接收器作为定时源。M12接收器的并行通道已经扩展到12个,提供码跟踪和载波辅助跟踪,可同时跟踪12颗卫星,可串行输出纬度、经度、高度、速度、航向和时间信息。M12接收器的核心硬件MRFIC1504是基于MMC2003的32位RISC控制器。M12接收器提供2.75~3.2V的电压,支持逆向差分,可以通过设置差分基站的方法来改良定位效果。支持RTCM SC-104(美国海用无线电技术委员会)格式的差分功能,NAEA 0183(美国国家海洋电子学会)格式输出,双通信串口,用户可控制的速度滤波器和一个天线检测回路。用户还可以选择使用垂直于电路板或者是平行于电路板的数据/电源连接器。基本的控制流程如图3所示。

在主控设备与M12通信过程中,建议采用其特有的Motorola二进制数据与指令格式,通信速率可以保证在9600bps(取决于M12),而采用NMEA-0183格式时,通信速率只有4800bps,同时在初始化GPS时还需要加入由Motorola二进制转化为NMEA-0183的指令,相比之下较为繁琐,而Motorola二进制是默认通信模式。

在此设计当中,关键的环节在于两个方面,一是M12的初始化,二是主控设备与M12之间采用的模拟串口通信是否可靠。对于M12初始化而言,重点在于理解Motorola二进制数据格式的结构,其次是设置初始化时间。实时时钟是M12的特征之一,它用于缩小TTFF(捕获时间),在主电源被切断而后备电源工作时,数据和时间信息将被存储在RTC寄存器中。因此存在初始化在GPS锁定第一颗卫星之前,或是让让卫星自动搜索两种初始化时间信息的方式。实践证明,第一种方案得到的TTFF较小,所以建议采用。GPS默认提供的是GMT(格林威治时间),因此用户需要根据当地的情况设置时区的偏移量(中国为东8区,+8)。具备以上知识后,就可以从数据包中提取时间信息。此处选用短位置消息。

@@Hbmdyyhmsffffaaaaoooohhhhmmmm VVvvhhddntssrrvvvvvvC<CR><LF>

下面仅仅分析它有关定时信息的部分。

实例如下。

@@Hb021C07D4092D280001121A000000000000 00000000000000000000000000000000000000016088 0000503035463039

转化成16进制的数是021C07D4092D280001,对应的时间是2.28.2004.9:45:40:0001。

对于模拟串口而言,首先应当明确采用哪一种执行方式。其次,就是选定通信波特率。最后就是确定具体的硬件结构。这里采用起始位为1bit,终止位为1bit,无奇偶校验位,波特率为9600,晶振频率为11.0592MHz。处理流程如图4所示。

MRXD代表一个1比特的位地址,它用于检测串口通信起始位,终止位的有效性;MTXD代表一个1比特的位地址,它用于发送串口通信所需的起始位,终止位;CONT代表一个计数器,用于控制所发比特的个数。

源代码。

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: ;发送@@Gb数据帧,初始化时间偏移

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: ;发送@@Hb数据帧,启动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: ;与规定的时间相比较,相等时置中断标志位

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;前两个字节若为@@继续,

否则,跳出

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公司生产的M12 GPS接收器来完成继电保护检测装置的异地双端同步试验,该模块大大提高了继电保护测试水平和工作效率,并且有效减少了人为误差,防止了继电保护及其安全自动装置的不正确动作。