首页 > 范文大全 > 正文

基于GPS的精确对钟系统的设计及实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于GPS的精确对钟系统的设计及实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘 要】在很多工业自动化现场以及教学、生产中需要对单个模块或整个系统实现精确对钟至毫秒甚至微妙。文中提出了一种基于gps的IRIG-B格式对钟方案,软硬件实现成本低,对钟精度高达1微秒,可靠性高,EMC性能优越,且具有很强的功能扩展能力。

【关键词】GPS;IRIG-B;PPS;单片机;对钟

前言

在电力系统自动化、工业自动化现场以及教学、生产等很多情况下需要对某个模块甚至整个系统实现精确对钟,时钟精度要求达到至毫秒甚至微妙,特别是系统内的相对时间要求一致。

本文提出了基于ROCKWELL公司JUPITER GPS接收模块(以下简称GPS模块),单片机解释模块定位信息并把时间数据调整转换成北京时间的IRIG-B格式,与GPS模块的PPS(PULSE PERCENT SECOND,秒脉冲)信号高度同步向系统内模块对钟的方案。这样可同时输出精确的IRIG-B格式、PPS信号和RS232/485串行通讯对钟信号,实现高精度、高可靠性、多方式的系统对钟;可根据要求灵活设置对准卫星的数量,能够很好的适应各种不同场合的要求。对系统软件稍加改造,可以增加导航、定位功能。

1、系统硬件实现架构

该系统硬件实现主要由U1、U1两大功能单元组成,如图1所示。

其中U1为核心单元,包括GPS模块、89C52单片机、双UART、精确触发电路、RS232/485多协议接口电路等,实现从GPS信号接收到信号解调、信息格式变换、时间信息调整、精确的IRIG-B信号的产生以及PPS信号驱动输出功能,还能够通过RS232/485等各种通信方式对其他模块对钟。

U2是外部扩展单元,主要实现对U1输出的IRIG-B、PPS对钟信号光电隔离、驱动、电平转换。为方便实际应用,可以设计为插件板,通过自定义标准总线与核心单元连接,能够很方便的扩展输出任意路数有源、无源(空接点)对钟信号。

U1中由GPS模块、GPS有源天线、5V电源以及后备电池等组成信号接收电路,将GPS L波段的数据接收解调后将定位信息数据按JUPITER二进制或NMEA0183格式每秒一次通过主串口发出,并将微秒级精度的PPS信号、10KHz连续脉冲经光电隔离送给以89C52为主的IRIG-B生成、发送电路。

JUPITER二进制数据(包括经纬度、时间、垂直高度、误差、校验等)经UART接收后由单片机解帧提取时间信息并调整成下一秒的北京时间,一方面把时间数据按照通信对钟帧格式组帧,放进第2路UART的发送FIFO中,准备好RS232/485串行口发送的数据,另一方面将时间数据转换成IRIG-B格式BCD码数据,为IRIG-B数据输出作准备。具体通信帧以及IRIG-B数据帧格式见“通信帧以及IRIG-B数据的帧格式”一节。

10KHz脉冲信号接至89C52的定时器1,为IRIG-B格式数据中各个码元的正常输出提供计时基准。

整个对钟系统的秒边沿精度关键是由PPS保证的,PPS有三方面的应用:

(1) 经隔离驱动后输出,给外部提供PPS信号;(2) 经反相后作为89C52的一个外部中断源,下降沿触发,中断级别最高,以使单片机获得准确的秒起始;(3) 给精确触发IRIG-B电路提供准确的上升沿锁存时钟,使得IRIG-B数据具有微秒级的秒边沿精度。

PPS上升沿(即一秒的开始)触发精确触发电路,产生IRIG-B格式帧起始的“P”标志上升沿,同时89C52响应PPS中断,在中断处理程序中主要执行3个任务:

(1)立即启动IRIG-B格式数据输出机制,通过I/O口发出IRIG-B格式起始标志“P”的上升沿并设置好当前码元的占空比;(2) 禁止精确触发电路的PPS触发功能(该电路已输出并保持高电平,产生了准确的上升沿),使能单片机移位输出IRIG-B格式数据的物理通道;(3)触发第二路UART的发送使能,向外部通信对钟。

单片机在帧尾时重新打开触发电路的PPS触发使能,这样既可以保证实现IRIG-B格式秒边沿的准确性,还能够提高抗干扰能力。

IRIG-B格式数据输出机制是89C52在由10KHz脉冲提供的计时基准控制下,根据准备好的BCD码时间数据和IRIG-B格式要求,一秒内顺序串行输出IRIG-B格式对钟数据。89C52根据当前发送的码元设置好计数器参数,准确控制码元的占空比,并在结束时顺序移位启动下一码元的输出。

2、JUPITER GPS模块

JUPITER 并行12通道GPS接收模块是24颗GPS卫星制造商著名的美国ROCKWELL公司的产品,他体积小(71×41×11毫米),重量轻、功耗低,首次定位和重新捕获时间短,有极强的抗树阴和高楼遮挡能力,提供载波相位输出,非常适合在各种导航、定时、定位系统中应用。GPS天线应当尽量放至在开阔位置,以利于信号的接收。

模块5V供电,3V时钟自保持。提供两个TTL电平串口,主串口输出定位数据,输出数据格式可为NMEA0183或JUPITER 二进制;辅串口接收RTCM SC-104差分数据,能够自动检测天线状态。能够输出精确的PPS标准时钟、10KHz方波。工作温度范围宽(-40℃-70℃)。模块输出的10KHz方波与1PPS标准时钟秒脉冲的上升沿高度同步,误差不大于1微妙。

模块串口波特率为9600bps,8个数据位,无校验,1个停止位。每帧数据共有55个字(WORD),帧头是4个字,第12个字是测量所捕获的卫星数目,第19到第24个字分别对应时间数据的日、月、年、时、分、秒,第27-32个字分别对应纬度、经度、高度。根据该规约可以获取所需要的信息,并判断数据信息的质量。

3、通信帧以及IRIG-B数据的帧格式

通信对钟帧的时间数据为二进制,帧头为0x01,定位卫星数量为0X00-0X0C的十六进制数,校验为时间数据和定位卫星数量的异或和,结束符为0x0D;8位数据位、无校验、一位停止位。波特率可以通过拨码开关设置为1200-9600bps。帧格式见表1。

表1、通信对钟帧的帧格式

1 2 3 4 5 6 7 8 9 10

帧头 时 分 秒 年 月 日 卫星数量 校验 结束符

IRIG-B数据帧格式:IRIG-B数据帧中的最小单位是“码元”。每个码元占时10ms,共有三种类型的码元,分别是:

• 二进制0 (“0”);

• 二进制1 (“1”) ;

• 位置标志 (“P”)。

每个码元的波形如图二所示。

IRIG-B数据帧包含时间信息及状态信息,格式是每秒一帧,每个帧都由10个“组”构成,每个组又由10个“码元”构成,。每个组的10个码元包含两个BCD二进制码,两个BCD码中间由一个“0”分开,第10个码元是“P”标志。

每个帧都起始于一个“P”标志,每一秒的准确边沿是在秒起始“P”标志的上升沿,该沿同PPS的上升沿应当是完全同步的。这样,作为两个连续的帧,头一帧帧尾的“P”标志和当前帧帧头的“P”标志一起,作为帧参考标志(标记为“R”)。利用该标志可以很方便地从IRIG-B数据中判断新的一帧的开始。

标准IRIG-B格式数据的帧格式见表2。

表2、标准IRIG-B格式数据的帧格式

1 2 3 4 5 6 7 8 9 10

秒 分 时 日 百日 状态 保留 保留 保留 保留

状态组内码元排列顺序是:

第4码元:卫星锁定指示;“1”表示没有锁定卫星,“0”表示至少锁定一颗卫星。

第6-9码元:最坏情况下捕获的卫星数目;

第10个码元:“P”标志;

其余码元都是“0”。

注意,帧头“P”标志归属于“秒”组中,因此秒的第二个BCD码仅有3个码元。

在我们的实际应用方案中,可以将第7组扩展成“年”,表示从2000年开始的当前“年”数据,这样可以完全实现从年到秒的自动对钟。

4、系统软件的实现

本系统中用到的单片机资源主要包含两个外部中断、两个计数器中断、外部UART接口以及内部的各种寄存器、FLASH ROM等,充分利用了单片机的内外部资源。

系统中使用KEIL C51高级语言编程[2],能大大提高程序的开发进度、可读性以及模块化程度,也为后续功能扩展提供了良好的平台。

限于篇幅,此处省略程序框图。

5、应用及可扩展性

参照该方案设计的产品已经通过中国电力科学研究院的测试,在电力系统自动化中得到了广泛应用,对于电力系统的运行、故障分析提供了可靠的保障。

在从JUPITER 二进制数据的数据处理中增加对定位、速度、高度、方向等信息的处理,在IRIG-B格式数据的第8、9、10三组中以及通信对钟帧里扩展出定位信息,必要的话,增加一块LCD本方案就可以很方便的增加导航、定位功能。

参考文献

[1]雷震,魏丰.IRIG-B格式时间码在GPS同步时钟卡中的应用.现代电子技术.2004,第5期.77-78

[2]徐爱钧,彭爱华.单片机高级语言C51应用程序设计.电子工业出版社,1998,133-210

盛晓红,工程师,学士,主要研究领域为网络通信、数据库。

王传启,高级工程师,博士研究生,主要研究领域为电力系统自动化,强电磁工程与新技术国家重点实验室(华中科技大学)。

张志刚,高级工程师,学士,主要研究领域现场总线、工业自动化。