GPS时钟发生器技术方案
如何利用GPS OEM来进行二次开发,产生高精度时钟发生器是一个研究的热点问题。在电力系统、CDMA2000、DVB、DMB等系统中,高精度的GPS时钟发生器(GPS同步时钟)对维持系统正常运转有至关重要的意义。
如在DVB-T单频网(SFN)中,对于时间同步的要求,同步精度达到几十个ns,对于这样高精度高稳定性的系统,如何进行商业级设计?
1 引言
在电力系统的许多领域,诸如时间顺序记录、继电保护、故障测距、电能计费、实时信息采集等等都需要有一个统一的、高精度的时间基准。利用GPS卫星信号进行对时是常用的方法之一。
目前,市场上各种类型的GPS-OEM板很多,价格适中,具有实用化的条件。利用GPS-OEM板进行二次开发,可以精确获得GPS时间信息的GPS时钟发生器(GPS同步时钟)。本文就是以加拿大马可尼公司生产的SUPERSTAR GPS OEM板为例介绍如何开发应用于电力系统的的GPS时钟发生器(GPS同步时钟)。
2 GPS授时模块
GPS时钟发生器(GPS同步时钟)采用SUPERSTAR GPS OEM板作为GPS接受模块,SUPERSTAR GPS OEM板为并行12跟踪通道,全视野GPS接受模块。OEM板具有可充电锂电池。L1频率为1575.42MHz,提供伪距及载波相位观测值的输出和1PPS(1 PULSE PER SECOND)脉冲输出。OEM板提供两个输入输出串行口,一个用作主通信口,可通过此串行口对OEM板进行设置,也可从此串口读取国际标准时间、日期、所处方位等信息。另一个串行口用于RTCM格式的差分数据的输出,当无差分信号或仅用于GPS授时,此串行口可不用。1PPS脉冲是标准的TTL逻辑输出形式,当导航输出有效时,该脉冲的上升沿与时间相对应。1PPS脉冲是每秒中输出的正脉冲信号,其幅值为5V,1PPS脉冲的上升沿与UCT标准时间的秒脉冲同步,其误差在正负1μs之内。可以利用此脉冲信号的上升沿作为UTC时间的对时信号,此外我们可通过同步脉冲电路将1PPS信号扩展为1PPM(1 PULSE PER MINUTE)、1PPH(1 PULSE PER HOUR)等等根据实际情况用于对时。每种脉冲的输出口数可以根据应用要求进行扩展。
SUPERSTAR GPS OEM板的主串口的通讯数据格式可采用CMC BINARY二进制或者CMC支持的NMEA的ASCII码,波特率可以在300bps到38400bps之间根据应用要求进行调整,具有8位数据位、1位起始位,1位停止位,无奇偶校验位。GPS数据信息中包含卫星状态、经度、纬度、时间、高度、速度等等各种信息,对于同步时钟的开发来讲,我们只需要读取其时间信息即可。因而,可以通过主串口对OEM板进行设置,使其以一定的波特率和某种通讯数据格式仅仅发送时间信息。例如我们若采取NMEA的ASCII码,则只需读取以"$GPZDA"为命令头的时间数据即可,然后可以很方便地从中分离出UTC时间的年、月、日、时、分、秒。
3 系统组成
GPS时钟发生器(GPS同步时钟)包括GPS接受模块、中心处理单元、RS-232/485接口、CAN总线接口、同步脉冲发生电路、显示电路等几个部分。
3.1中心处理单元
GPS同步时钟采用DS80C320作为系统的CPU。DS80C320是美国DALLAS公司推出的8位高速单片机,是与MCS-51系列兼容的单片微机。由于对微处理器内核进行了重新设计省去了多余的时钟和存储周期,若时钟工作频率相同,执行相同的程序代码,DS80C320的执行速度至少为8051的2.5倍。
DS80C320与80C32具有完全相同的封装,除拥有80C32所具有的I/O口、2个定时/计数器、串行口等资源外,还具有一些新增资源,现列举如下。
a.串行口1
DS80C320额外提供与80C32相同的一个硬件串行通信口,在GPS同步时钟的开发中,我们由串行通信口0获得GPS时间数据,而由串行通信口1负责与各种电网自动化装置进行通讯。
b.双数据指针
DS80C320提供两个数据指针,当GPS时钟接收到GPS OEM板信息后,利用这两个数据指针,可以将数据送到不同的存储区域。
c.片内复位电路
DS80C320具有一套完整的上电/掉电复位逻辑。所以,使用DS80C320,无需外加外部复位电路。简化了硬件,提高了可靠性。
d.看门狗定时器
DS80C320具有一个可编程的看门狗定时器,因而无须象80C32那样外加看门狗电路。
3.2同步脉冲发生电路
P3.2和P3.3是1PPM(1 PULSE PER MINUTE)和1PPH(1 PULSE PER HOUR)脉冲的选通信号输出端(为禁止发送1PPS脉冲,这两个控制端在平时均置为低)。以产生1PPM脉冲为例:当由串行口0读入UTC时间信息,并判断其为某一分钟的59秒时刻之后,CPU将P3.2置高,从而在整分时刻发送一个脉冲。当再一次读入时间信息,并判断其为整分时刻时,重又将P3.2置低,以禁止发出脉冲。依次循环,即可得到精确的1PPM脉冲信号。采用同样的方法,也可以产生1PPH的