Computer Science and Application
Vol.07 No.01(2017), Article ID:19537,7 pages
10.12677/CSA.2017.71001

Design of High Stable Clock Source Based on Beidou/GPS Second Pulse

Jianguo Yang, Ruifeng Fu, Xufang Huang

Computer and Electronic Information College, Guangxi University, Nanning Guangxi

Received: Dec. 27th, 2016; accepted: Jan. 14th, 2017; published: Jan. 17th, 2017

ABSTRACT

Based on the UM220IIIN double system receiver and FPGA, a clock source of the Beidou or GPS second pulse high stability is designed in this paper. Two UM220IIIN receive the second pulse ofBeidou satellite and GPS, inputting to the cyclone IV chip of FPGA, and then it is first to judge the validity of the second pulse signal of Beidou and GPS. If the two second pulses are valid, they were carried out by the high frequency count in 10 seconds, and counting is based on the use of FPGA internal own high-frequency clock; if only one way is valid, only the effective second pulse is counted. Then calculating the mean and variance of the count in 10 seconds, the best second pulse or the effective branch of the second pulse is output by comparing the variance of the second pulse. If the second pulse of Beidou satellite and GPS are invalid and the use of FPGA internal clock and historical data predict next output cycle of the second pulse, the system can continue to output high precision of the second pulse as a clock source.

Keywords:Timing Source, Beidou Satellite, GPS, FPGA

基于北斗/GPS秒脉冲的高稳时钟源设计

杨建国,傅瑞峰,黄旭方

广西大学,计算机与电子信息学院,广西 南宁

收稿日期:2016年12月27日;录用日期:2017年1月14日;发布日期:2017年1月17日

摘 要

基于UM220IIIN双系统接收机和FPGA,设计一种北斗/GPS秒脉冲高稳同步时钟源。利用两块UM220IIIN分别接收北斗和GPS秒脉冲 [1] ,将秒脉冲输入到FPGA的cyclone IV芯片,先分别对两路秒脉冲信号进行有效性判断。若两路秒脉冲都有效,则在10秒内对它们分别进行的高频计数,计数基准是利用FPGA内部自带的高频时钟;若只有一路有效,就只对有效支路进行高频计数。然后求取10秒内计数值的均值和方差,通过比较两路秒脉冲的方差,输出最优一路的秒脉冲;或输出其中有效支路的秒脉冲均值。当北斗和GPS秒脉冲都失效时,利用FPGA内部自带的高频时钟以及历史数据,预测下一时刻的秒脉冲输出周期,系统可以继续输出高精度的秒脉冲作为时钟源。

关键词 :时钟源,北斗,GPS,FPGA

Copyright © 2017 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

1. 引言

本文致力于解决系统时钟高精度和高稳定度的问题。通过UM220IIIN双系统接收机和FPGA的结合,输出北斗/GPS中精度最高的秒脉冲作为时钟源,若两者的秒脉冲都失效,就利用FPGA来预测下一时刻的秒脉冲输出作为时钟源。

本文的创新在于不仅仅用单一的卫星授时,而是利用了北斗与GPS两者结合进行授时 [2] [3] ,从而能极大的避免信号丢失情况的发生,实现具有高稳定性和高精度的同步时钟源。而且当两者的秒脉冲都失效时,就根据本地晶振具有短时稳定性来利用FPGA内部自带的高频时钟以及历史数据,预测下一时刻的秒脉冲作为输出。

2. 系统总体方案

高稳时钟源方案如图1所示,共包括9个模块:北斗、GPS卫星信号接收天线模块,UM220-IIIN双系统接收模块,恒温晶振时钟模块,显示模块,通信模块,输入信号检测模块,秒脉冲生成模块,输出选择模块。

接收天线实时采集卫星信号,并将信号传输到UM220-IIIN双系统接收模块,接收模块将采集到的卫星信号,解码输出两路标准秒脉冲到FPGA模块。在FPGA模块中,首先对输入的两路秒脉冲进行有效性判断,当判断为无效信号时,丢弃输入信号。如果输入被判定为有效信号,那么将对10个秒脉冲周期进行高频计数,求其平均值,以减小随机误差。然后传输到秒脉冲生成模块 [4] [5] ,将生成的秒脉冲信号输入到信号检测模块,这个模块主要完成秒脉冲上升沿的判断,将判断结果输入秒脉冲生成模块,重新生成两路稳定的高精度秒脉冲 [6] 。新生成的高精度秒脉冲将被送入输出选择模块,输出稳定和精度更高的秒脉冲 [7] 。

通信模块主要负责FPGA与其它模块的通信,可选为PC机或其它控制模块。两个模块的通信通过I2C,UART或者是USB。显示模块用来显示秒脉冲输出状态,如显示北斗/GPS有效,或其中某一信号有效。

2.1. 输入信号检测模块 [8]

UM220-IIIN双系统GNSS接收模块接收到北斗和GPS卫星信号后,会输出两路秒脉冲到FPGA模块中的输入信号检测模块。如图2的状态转移图所示,在一路输入信号检测模块中,系统在未启动前处于待机状态,数据属于初始化状态,外置的count_high和count_low值保持不变,始终为1。当系统启动后,状态机状态从IDLE等待状态跳转到开始状态。

如果检测到输入的秒脉冲i_pulses为高电平时,状态机从开始状态跳转到高电平计数状态,并输出count_high_en高电平,开始对秒脉冲高电平时间进行计数。当输入秒脉冲由高电平转换为低电平,出现脉冲信号下降沿时,如果count_high正处于大于9,990,000并且小于10,001,000范围,那么判定输入信号为有效信号。这时状态机状态从高电平计数状态跳转到低电平计数状态,并且将count_high_en拉低,count_low_en拉高。如果出现下降沿时,count_high不处于大于9,990,000并且小于10,001,000范围,那么判定输入信号为无效信号。状态机从高电平技术状态跳转到开始状态,并将count_high_en拉低。在低电平计数状态时,和高电平计数状态一样,输入秒脉冲状态跳转时,出现脉冲信号上升沿,如果低电平计数器count_low正处于大于9,990,000并且小于10,001,000范围,那么判定输入信号为有效信号。状态从低电平技术状态跳转到高电平计数状态。

如果检测到输入秒脉冲为无效信号,输入检测模块将发出BD/GPS无效信号到下一级模块。

Figure 1. General scheme of high stable clock source

图1. 高稳时钟源总体方案

Figure 2. State transition diagram of receiver module

图2. 接收模块状态转移图

如果输入的北斗秒脉冲信号有效,那么会将北斗秒脉冲高电平计数器和低电平计数器的值存储进BDpulses_fifo中,当BDpulses_fifo内存储的值满60个时,即北斗秒脉冲输入有效满一分钟时。将BDpulses_fifo内的数据读取出来,求出每个北斗秒脉冲的均值,并将得到的均值存储进BDdata_fifo中。同样的方法,求出每一个GPS秒脉冲的均值,并将得到的均值存储进GPSdata_fifo中。比较两路数据均值的方差,判断输入秒脉冲的精度那一路更高,发出BD/GPS选择信号给下一级。

2.2. 秒脉冲生成模块

系统启动后,秒脉冲生成模块系统将会从IDLE状态转移到CHECK状态。CHECK状态的作用是确定输出秒脉冲信号的上升沿,确保输出秒脉冲信号与输入信号同步。当检测到输入信号的上升沿后,系统马上从CHECK状态转移到高电平输出状态,并且将count_out_en拉低。在高电平输出状态,count_out计数模块对脉冲输出高电平时间进行计数,当count_out数值等于输入检测模块生成的统计均值时,系统从高电平输出状态转移到低电平输出状态,并将count_out_en拉低,将count_out计数器的值清零。在低电平输出状态,计数器对脉冲输出的低电平时间进行计数,当count_out数值等于输入检测模块生成的统计均值时,系统从高电平输出状态转移到低电平输出状态,并将count_out_en拉低,将count_out计数器的值清零,如图3所示。

秒脉冲生成模块包含两个子模块,分别对应北斗秒脉冲输出和GPS秒脉冲输出。两路输出的方式相同,和状态转移图一致,只是判断状态跳转的阈值不同。

2.3. 输出选择模块

输出选择模块的功能是对两路输入秒脉冲进行判断,选择精度高的一路作为输出。输出选择模块的流程图如下图4所示。在系统启动后,首先对秒脉冲输入有效性进行判断。只有当输入秒脉冲有效时,即秒脉冲生成模块已经开始生成高精度的秒脉冲信号后,才开始进行输出选择。

3. 系统验证仿真

3.1. 逻辑验证

由于整个系统工程较大,所以可以分模块进行验证仿真。QUARTUS II与仿真软件modelsim有很好的兼容性,可以在QUARTUS II中编写验证代码,直接调用modelsim进行逻辑仿真验证。

时序逻辑仿真,首先要建立仿真文件,模拟实际电路的输入信号,并输出到系统工程文件中。编译后,调用modelsim进行时序逻辑的仿真。进入modelsim之后,需要将待观察的参数添加到波形栏,并建立好分组,如下图5所示。重新添加参数后,对modelsim中的文件重新加载,再次运行,就能观察到系统对应的时序逻辑。观察时序波形是否与设计的相符,如果不相符,则需要找到误差参数,并对工程文件进行修改。修改工程文件后,不能直接在modelsim中仿真,需要在QUARTUS II中对系统工程文件进行编译,生成对应的时序链接。

3.2. 实际电路验证

当时序逻辑验证通过后,表明电路逻辑不存在问题,但由于实际电路因为布局布线,噪声干扰等原因,存在信号延时。所以虽然时序逻辑验证通过,还不能代表系统能正常工作,仍需要进一步验证。QUARTUS II自带的signaltap仿真软件,能够采集FPGA上电运行的实时数据,并将数据以波形的方式反映出来。调用signaltap采集信号的界面如下图6所示。

3.3. 实验结果

图7展现出高稳频率源样机的总体图,其中绿色的为UM220双系统接收机,先通过接收机采集北斗/

Figure 3. State transition diagram of second pulse generation module

图3. 秒脉冲生成模块状态转移图

Figure 4. Flow chart of output selection module

图4. 输出选择模块流程图

Figure 5. Simulation waveform of modelsim

图5. Modelsim仿真波形

GPS信号,然后把秒脉冲输入到FPGA板上,最后通过FPGA的代码实现功能,从而输出精度最高的秒脉冲作为时钟源。

图8表示为高稳时钟源输出的高精度同步秒脉冲在示波器上的显示结果。

Figure 6. Acquisition signal interface of signaltap

图6. Signaltap采集信号界面

Figure 7. Prototype of high stable clock source

图7. 高稳时钟源样机

Figure 8. Oscilloscope display experimental results

图8. 示波器显示实验结果

先通过UM220双系统接收机接收到北斗/GPS信号,然后把输出同步秒脉冲送进FPGA中,在FPGA对输入信号(即北斗/GPS的秒脉冲)进行处理后,选择精度高的同步秒脉冲输出,并用示波器显示出来。

4. 结论

通过实际电路验证并结合分析实验结果,表明“基于北斗/GPS秒脉冲的高稳时钟源设计”可以解决系统时钟高精度和高稳定度的问题。

基金项目

国家自然科学基金 (61004123);广西大学大学生创新项目(T3070098228)。

文章引用

杨建国,傅瑞峰,黄旭方. 基于北斗/GPS秒脉冲的高稳时钟源设计
Design of High Stable Clock Source Based on Beidou/GPS Second Pulse[J]. 计算机科学与应用, 2017, 07(01): 1-7. http://dx.doi.org/10.12677/CSA.2017.71001

参考文献 (References)

  1. 1. 陈贵军. 基于北斗和GPS授时系统的研制[D]: [硕士学位论文]. 沈阳: 沈阳工业大学, 2011: 1-3, 7-9.

  2. 2. 赵东艳, 原义栋, 石磊, 等. 用于智能电网建设的北斗/GPS高精度授时方案关键技术[J]. 电网技术, 2013, 37(9): 2621-2625.

  3. 3. 张治炼. 基于GPS授时的本地同步时钟的设计[D]: [硕士学位论文]. 成都: 电子科技大学, 2012.

  4. 4. 王丹. 面向FPGA的电力系统时钟同步技术设计[J]. 通讯世界, 2016(23): 250-251.

  5. 5. 姚利红. 基于FPGA的电力系统GPS/北斗时间同步装置[D]: [硕士学位论文]. 济南: 山东大学, 2013.

  6. 6. 袁勋, 成小园. 直接数字频率合成(DDS)技术研究[J]. 技术与市场, 2015, 22(6): 31-32.

  7. 7. 戴群雄, 安云飞, 戎强. 一种用于提升用户机授时精度的时钟准确度校正方法[J]. 全球定位系统, 2015(5): 30-33.

  8. 8. 王勤翀. GPS秒脉冲同步数字锁相频率源研究[D]: [硕士学位论文]. 南京: 南京理工大学, 2014.

期刊菜单