APP下载

IRIG-B格式时间码解码装置的设计

2014-12-02

科技传播 2014年4期
关键词:码元二进制解码

王 红

内蒙古交通职业技术学院赤峰,内蒙古赤峰 024005

0 引言

将分布于不同地域的各种系统中的时间统一于一个标准时间或者与标准时间之差限定在某一范围之内,我们称之为时间同步。当前,时间同步在很多行业领域中都起着至关重要的作用。比如在航空航天、交通运输以及电力系统等领域,要求时间同步的精度要达到微秒甚至纳秒级,各系统才能正常高效地运作。

为满足各行业对时间同步的高精度要求,很多商家都研制出了基于GPS 的对时装置,GPS 即全球定位系统(GPS)是目前比较完善的全球共享的高精度时间发布系统。这些装置接收来自GPS 的标准时间信息,解码并转换为各种时间格式码提供给不同的系统对时之用,如DCF77 格式码、BJT 格式码、IRIG-B 格式码等,这些格式码各有优缺点。而IRIG-B 码作为一种国际通用的时间编码,对时精确,简化了对时回路,并包含完整的绝对时标信息,因此得到了广泛的应用。

1 IRIG-B 时间码的格式

IRIG(Inter Range Instrumentation Group)码,是美国靶场司令委员会制定的一种时间标准,其包含4 种并行二进制时间码格式和6 种串行二进制时间码格式,而IRIG-B 时间码格式是其中最常用的一种。IRIG-B 码包含有秒、分钟、小时、一年中的第几天、年份、二进制的秒计日等时间信息,且发送频率为每秒一次,因此其中还隐含着标准的秒脉冲信息。

图1 IRIG-B(DC)码示意图

图1 是 IRIG-B(DC)码的示意图。它是一种采用脉宽编码方式编码的串行时间码,每秒发送一帧,一帧包括100 个码元。每个码元都是由总宽度为10ms 的脉冲组成,其中由高电平所占宽度的不同代表着不同的码型,即:二进制的"0"、"1"和位置识别标志。二进制"0"的脉宽为2ms,二进制"1"的脉宽为5ms,位置识别标志的脉宽为8ms。每10 个码元就会有一个位置识别标志,因此,在一帧数据内共有10 个位置识别标志,即:P1,P2,P3,…,P9,P0,另外还有一个帧参考标志码元PR,脉宽也为8ms。一帧数据中包含三大部分信息:第一部分按顺序分别为秒、分、时、天、年等信息,第二部分为控制功能位,第三部分是用二进制的秒来表示的一天中的时间信息,此部分计时信息每24 小时循环1 次。

码元的"准时"参考点是其脉冲前沿,一帧数据从帧参考标志PR 码元开始,而其前一个码元正是上一个帧周期中的最后一个位置识别标志P0 码元。因此当连续出现两个8ms 脉宽的码元时,在这两个码元之后的下一个码元即为当前一帧数据中秒的开始。从参考码元PR 开始对码元进行编码,即从第0号码元开始依次至第99 号码元,共计100 个码元。在一帧数据的第一部分信息中,秒、分、时、天、年的位置在位置识别标志P0~P6 之间,均用BCD 码表示,低位在前,高位在后;依次占用的码元为秒7 位即第1,2,3,4,6,7,8 号码元、分7 位即第10,11,12,13,15,16,17 号码元、时6 位即第20,21,22,23,25,26,27 号码元、天10 位即第30,31,32,33,35,36,37,38,40,41 号码元、年8 位即第50,51,52,53,55,56,57,58 号码元,其中每段信息中均有一个脉宽为2ms 的索引标志,依次为第5,14,24,34,44,54 号码元。第二部分信息即一些控制功能位,位于位置识别标志P6~P8 之间。第三部分信息即二进制秒计日信息位于位置识别标志P8~P0 之间,占据第80~97 码元,共计17 位。

2 IRIG-B 时间码解码装置设计原理

对IRIG-B 格式时间码进行解码就是利用MCS-51 系列单片机及其外围电路接收来自时统设备的IRIG-B 码,根据IRIG-B码的数据格式,解读出其中所包含的各种时间信息,通过程序设计将其转换为其它各种不同的时间格式码,以供不同的设备对时之用。另外,根据IRIG-B 码的发送频率为每秒一次,并参考PR 码元的上升沿,可以形成一路标准秒脉冲信息,与串口信息同时输出。解码的关键在于对IRIG-B 码中各个码元的脉宽进行检测,以确定码头,并对码元开始计数,然后依次检测随后的98 个码元脉冲宽度,以确定秒、分、时、天、年、二进制秒计日等信息。

3 硬件电路设计

图3 解码装置原理框图

来自时统设备的IRIG-B(DC)码,多为RS422/RS485 接口信号,经75176 集成块转换为TTL 电平。为避免将一些外部干扰信号带入CPU,需经过7404 反相器去干扰整形,即去掉TTL 电平信号中的一些可能存在的毛刺波形,同时增加信号的驱动能力,提高了信号在传输过程中的抗干扰性。将去扰整形后的TTL 电平信号送至单片机89C2051 的INT0 端。

IRIG-B 时间码经过单片机的处理后,解码出各种时间信息,通过TXD 引脚送入MAX232 芯片,转为RS232 电平信号后送到串口输出端子,供给需进行时间同步的各类装置设备对时使用。另外,根据IRIG-B 时间码的参考帧标志信息,由单片机P1.5 引脚输入一路秒脉冲对时信息。为提高输出秒脉冲信息的抗干扰性及增加驱动能力,将其经光耦TLP521 隔离后送至输出端口。秒脉冲采用静态空接点的方式输出,可通过短接块完成有源输出和无源输出两种方式之间的切换。

4 软件程序设计

帧参考标志、“秒”、“分”、“时”、“天”、“年”的BCD 码、计日的二进制秒等信息可分别存放在单片机内部RAM 中可位寻址的20H~29H 单元中,根据代表“1”、“0”的码元宽度对相应的位置1 或清0。

关于脉宽的判断,本设计采用单片机内部时钟,为定时器T0 赋计时0.5ms 的初值。当INT0 引脚接收的信号的电平由低变高的时候,打开T0 定时器,则T0 定时器开始计时,当计满0.5ms 时,进入T0 中断,T0 中断程序即对发生0.5ms 的次数进行计数,计数器加1;当INT0 引脚电平由高变低时,关闭T0 定时器停止计时,通过读取T0 中断中计数器的值来计算来自INT0 引脚的脉冲宽度,脉冲宽度即等于计数值乘以0.5ms。当脉冲宽度在1.5-3.5ms 范围内时,认为脉宽为2ms,即为二进制0 码元;当脉冲宽度在3.5-6.5ms 范围内时,认为脉宽为5ms,即为二进制1 码元;当脉冲宽度>6.5ms 时,认为脉宽为8ms,即为位置识别标志码元。根据脉冲宽度解码出IRIG-B 码中所包含的各种时间信息,并存入单片机的内部RAM 单元中。根据年份,将天数换算成月份和日期。

除了送出绝对时标信息外,在帧参考标志上升沿出现时,可同时送出另外一种对时方式,即脉宽约为100ms 的秒脉冲信息。在帧参考标志上升沿出现时,将P1.5 置1,由于每个码元宽度为10ms,因此当计数到十个码元时清零P1.5,即形成脉宽为100ms 的秒脉冲。

本程序最终通过串行口中断程序输出解码后的时间信息,并同时自P1.5 脚输出脉宽为100ms 的秒脉冲信息。为了获得准确完整的时间信息后再进行输出,本设计在主程序开始前先进行通过一个子程序进行一次预对时,以确保时间信息的准确性。而串口中断程序是用一个循环语句将连续单元存放的处理过的时间信息陆续送出。

本设计程序的关键在于如何处理当前接收的信息与输出的信息之间的时间差问题。由于在接收到当前一秒的时间信息时,解出的时间信息已经滞后,若不经过加一秒处理即送出,则此时间信息刚好比B 码标准时间滞后一秒。因此,需要将此时的时间信息进行加一秒处理,在下一秒的帧参考标志上升沿出现时将经过加一秒处理过的时间信息送出去,这时送出去的时间信息与B 码标准时间才是同步吻合的。时间信息在经过加1 秒处理后除了秒信息发生变化外,可能还会产生年月日时分及一年中天数的变化,由于月份又有大月、小月、闰月之分,闰月可通过年除以4 取余的方法判断是否为闰年,再进行相应月份、日期的处理。因此,时间每加一秒,都要考虑到这些信息的变化;又因为时间的不可重复性,因此在编程时要充分考虑到各种可能引起时间信息变化的因素。

4 结论

本IRIG-B 解码装置有电路设计简捷、性能稳定、抗干扰能力强、体积小等优点,而且所用CPU 芯片采用市场上通用ATMEL 公司的89C2051 单片机,具有很高的性价比。近年来,中国、西欧、美国等许多国家生产的电力系统配电设备、遥测设备等,与时间系统的接口大都采用IRIG-B 码格式,因此IRIG-B 格式时间码的应用日趋广泛。从本IRIG-B 时间解码装置中解调出来的1pps 标准秒脉冲信号,亦可为一些时统设备提供对时之用,因此本装置具有较高的应用价值。

[1]马红皎,胡永辉.GPS&IRIG-B 码时间系统分析.电子科技,2005(7):21-25.

[2]刘浩,苏理,丁敏.IRIG-B 码对时在保护测控装置中的实现.江苏电机工程,2007(1):48-50.

[3]雷震,魏丰.IRIG-B格式时间码在GPS同步时钟卡中的应用.现代电子技术,2004(5):75-79.

[4]朱祖扬,薛兵.基于IRIG-A 码输出的超小型GPS时钟设计.单片机与嵌入式系统应用,2006(12):22-24.

[5]何立民.单片机高级教程-应用与设计(第2版).北京:北京航空航天大学出版社,2007.

猜你喜欢

码元二进制解码
《解码万吨站》
用二进制解一道高中数学联赛数论题
LFM-BPSK复合调制参数快速估计及码元恢复
解码eUCP2.0
有趣的进度
二进制在竞赛题中的应用
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
基于极大似然准则的短猝发信号盲解调
一种码元同步时钟信号的提取方法及单片机实现