微机保护实验平台的B码校时转换器设计

2010-06-12 08:32康忠健何京宇
电气电子教学学报 2010年1期
关键词:主程序接收机时钟

康忠健,何京宇

(中国石油大学(华东)电气工程系,山东东营257061)

0 引言

随着电力系统自动化水平的进一步提高,人们对电网时间精确统一的要求愈来愈高。GPS同步时钟以其高精度、高可靠性等优点,在电力系统的测量和保护装置中得到广泛应用。同步时钟的IRIG-B码格式是最常用的格式之一,常常作为电厂和电站的系统时钟。一般的电力系统测量与保护装置都能够接收IRIG-B码格式的时钟信号,但也有部分早期装置只能接收秒脉冲和RS232C格式(如M12格式)的GPS时钟信息,无法接收IRIG-B码格式时钟同步。

WGL-800微机保护实验平台是我校大型贵重实验设备,它只能接收M12格式的时钟信号。为了提高该实验平台的校时功能,在不改动实验平台硬件基础上,本文利用单片机MSP430F149设计了从B码格式到M12格式的GPS时钟转换器。该转换器能够有效地提取IRIG-B码格式信号中时间信息并转换为M12的格式输出,其时间同步误差达到0.5μ s,有效地提高了实验平台的校时性能。可见,WGL-800实验平台的GPS校时功能得到了拓展。

1 IRIG-B时间码和M12接收机简介

IRIG-B(美国靶场仪器工作组—B型格式)时间码在科学研究中,尤其是在航天测控系统的试验任务中有着广泛的应用[1],格式如图1所示。

图1 IRIG-B时间码格式

由图1可见,其帧速率为每秒1帧,可将1帧分为10个字,每字为10位,每位的周期均为10 ms。每位都以高电平开始,其持续时间分为3种类型,即2 ms(如二进制“0”码和索引标志)、5 ms(如二进制“1”码)和8 ms(如参考码元,即每秒开始的第一个字的第1位。位置标志P0~P9即每个字的第10位)。第一个字传送的是秒信息,第二个字是分钟信息,第三个字是小时信息,第四和第五个字是天信息(从1月1日开始计算的年积日)。另外,在第八个字和第十个字中分别有3位表示上站和分站的特标控制码元。

M12型GPS接收机通过串行口提供位置、速度、时间和卫星跟踪状态等信息[2]。处理后的信号被同步送进定位微处理器(MPU)单元,用以控制GPS接收机的工作和解码、处理卫星数据和测量伪距增量,以便进行位置、速度和时间的计算。另外,定位处理器单元也包括经过反相的TTL串行接口。

根据M12型GPS接收机接收数据的协议,设计的IRIG-B码转换输出TTL电平需要满足如下格式[3]:

3 IRIG-B码转换器的硬件设计

TI公司的MSP430系列单片机[3]是一种16位单片机,共有64管脚,电源电压范围为1.8~3.6V。具有超低功耗、16位指令、内置A/D转换器、串行通信接口、硬件乘法器、LCD驱动电路及高抗干扰能力等技术特点。本文设计的IRIG-B码转换器采用该系列的MSP430F149单片机作为核心芯片。

B码转换器[4-6]的硬件电路框图如图2所示。转换器的硬件电路由以下几部分组成:①MSP430F149单片机;②3.45V电源;③JTAG接口;④复位芯片;⑤信号检测部件;⑥秒脉冲输出部件;⑦TT L电平输出电路;⑧电气连接部分。

图2 B码转换器的硬件电路框图

3.1 检测电路

在B码检测环节中,使用MAX3485芯片将B码信号传送到MSP430F149单片机的TA0捕获功能的输入端。B码转换器只接收B码信息,无需发送信息至RS485总线,所以MAX3485半双工通讯可以满足要求。MAX3485将B码接在MAX3485的A、B两端,将和DE使能端置低,信号由R端输出接到TA0上。

3.2 秒脉冲和TTL电平输出电路

使用74LS245芯片将单片机产生的3.3V的秒脉冲和TT L电平信号转换成5V的秒脉冲和T TL电平信号。在使用时将74LS245允许端置低 ,方向控制端DIR为“1”。

由于M12接收机的电源和接收/发送/IO信号都是通过接收机上的2×5针插座连接和传输的。将74LS245输出的秒脉冲和TT L电平接在M12 GPS接收机插座的第6和第8管脚,插座的第2和第3管脚分别接+5V电源和地。

4 B码转换装置的软件程序

B码转换器的软件编程是在C语言的基础上完成的。它包括以下四部分:①主程序部分;②脉宽检测函数、帧信息的起始脉冲检测部分;③秒脉冲输出和时间信息检测部分;④输出部分。

4.1 主程序部分

主程序的流程图如图3所示。主程序主要完成初始化和中断检测这两个功能。初始化主要完成晶振的选择,P1口和P2口各个寄存器的设定,Timer A的设置以及串口通讯的控制寄存器的设置。主程序开中断后,在一个死循环中等待中断消息。

图3 主程序流程图

4.2 脉宽检测函数

因为B码中使用不同宽度的脉冲表示二进制的0和1以及位置位,检测脉冲的宽度就变得特别重要,脉宽检测函数部分用于完成这一功能。在程序中设置全局变量edge和n分别用来存储捕获脉冲时的时间值(即CCR0中的计数值)和脉冲沿计数。捕获脉冲上升沿时n为奇数,捕获脉冲下降沿时n为偶数,在n为偶数时计算脉冲的宽度。脉宽检测函数流程图如图4所示。

图4 脉宽检测函数流程图

计算脉冲宽度时要注意,因为CCR0中存储的是计数值,所以就存在下降沿时存储的计数值小于上升沿时的计数值即计数值过零的情况,这时要特别处理。

4.3 帧信息的起始脉冲检测和秒脉冲输出

帧信息的起始脉冲检测主要利用两个连续的8ms脉冲出现的判断即帧起始信息位的判断,在下一帧信息开始时输出秒脉冲,程序流程如图5所示。

在测出脉冲宽度的基础上完成两个连续的8ms脉冲的判断。变量num用于脉冲计数,变量m用于8ms脉冲计数。在捕获第一个 8ms脉冲后,将num的计数值赋给m。然后判断下一个脉冲的宽度是否为8ms。如果此脉冲宽度也为8ms,则可判断这个8ms脉冲的上升沿就是此帧信息的起始上升沿,此时num等于m。如果此脉冲不是8ms,此时num就不等于m,程序将重新检测一个8ms的脉冲作为第一个8ms脉冲。然后按上述步骤检测下一位,直到判断出两个连续的8ms脉冲。在判断出两个连续的8ms脉冲后,利用n对脉冲沿个数计数。

图5 帧信息的起始脉冲检测和秒脉冲输出

当n=200时通过P2.2口的I/O输出秒脉冲使能信号为高电平,该使能信号与B码脉冲经过与门输出最终的秒脉冲信号。利用这种“预输出”技术能保证下一时刻B码起始脉冲到来时能同步输出1pps的秒脉冲信号,同步精度可达到0.5μ s。

4.4 时间信息的检测与输出

时间信息的检测与输出程序主要通过调用脉宽检测函数完成时间信息的检测和通过RS232C串口的输出,程序流程如图6所示。因为B码的不同码位的组合表示不同的时间信息,所以调用脉宽检测函数将检测到的信息进行移位后分别存储在各自的变量中。接下来将这些以十六进制存储的时间信息,经过算术运算转换成十进制后输出。

图6 时间信息检测及调整和串行通信流程图

5 实验测试

通过串口调试助手对GPS-B码转换器进行测试。B码发生器开始信息设定为1998年05月31日23点59分51秒。至少需要1秒的时间用于判断B码开始,B码转换器检测到的最初时间为1998年05月31日23点59分53秒。7秒以后B码转换器的输出时间变为1998年06月01日00点00分03秒。其中输出的信息以ASCⅡ@@字符开头,以回车及换行结束。

通过实验检测所设计的B码转换器能够准确地检测出所接收的B码信息并且能够按照M12接收机输出格式输出检测到的时间信息。

6 结语

本文所设计的B码转换器可以将IRIG-B格式的GPS时间信息转换为秒脉冲和M12接收机的输出格式时间信息,利用MSP430F149单片机实现了B码的解析和秒脉冲及数字时间信息的输出。实际测试表明,设计的B码转换器可以完全准确地检测出所接收的B码信息,并能按照M12接收机输出格式输出检测到的时间信息。硬件设计简单,价格低廉,可有效地拓展了WGL-800微机保护实验平台这种大型贵重教学设备的GPS校时功能。

[1] 张向荣.IRIG-B格式时间码解码接口卡电路设计[J].北京:单片机与嵌入式系统应用,2001,(9):30-35

[3] 胡大可.MSP430系列超低功耗16位单片机原理与应用[M].北京:北京航空航天大学出版社,2000,6

[2] 摩托罗拉公司.M12型GPS接收机用户指南

[4] 陶炜,高翔.利用DSP系统及GPS时钟实现相量同步测量[J].北京:华北电力技术,2003,(3):44-45

[5] 周国平,邢灿华.IRIG-B格式时间编码电路的设计[J].南京:机械制造与自动化,2005,34(2):88-90

[6] 郑海生,周富大.IRIG-B码解码编码卡[J].北京:电子测量技术,2005,(6):88-90

猜你喜欢
主程序接收机时钟
别样的“时钟”
古代的时钟
浅谈数控铣削技术代码程序的嵌套方式研究
电控冰箱软件模块化设计
一种用于调幅接收机AGC的设计与实现
一种面向ADS-B的RNSS/RDSS双模接收机设计
时光倒流 换回PotPlayer老图标
有趣的时钟
数字接收机故障维修与维护
基于多接收机的圆周SAR欺骗干扰方法