CN107395123A - 一种基于gps秒脉冲的2的幂次方倍频方法 - Google Patents
一种基于gps秒脉冲的2的幂次方倍频方法 Download PDFInfo
- Publication number
- CN107395123A CN107395123A CN201710588281.0A CN201710588281A CN107395123A CN 107395123 A CN107395123 A CN 107395123A CN 201710588281 A CN201710588281 A CN 201710588281A CN 107395123 A CN107395123 A CN 107395123A
- Authority
- CN
- China
- Prior art keywords
- local
- frequency
- register
- clk
- quotient
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03B—GENERATION OF OSCILLATIONS, DIRECTLY OR BY FREQUENCY-CHANGING, BY CIRCUITS EMPLOYING ACTIVE ELEMENTS WHICH OPERATE IN A NON-SWITCHING MANNER; GENERATION OF NOISE BY SUCH CIRCUITS
- H03B19/00—Generation of oscillations by non-regenerative frequency multiplication or division of a signal from a separate source
Landscapes
- Position Fixing By Use Of Radio Waves (AREA)
- Manipulation Of Pulses (AREA)
Abstract
本发明针对现有时钟生成方法设计复杂、占用资源多、存在时钟漂移和时延误差的问题,公开了一种基于GPS秒脉冲的2的幂次方倍频方法,属于数字信号处理领域。本发明通过所述二进制除法规则设计、以GPS秒脉冲测量本地晶振时钟漂移、将倍频累加寄存器的溢出位作为输出时钟等步骤,实现了GPS秒脉冲的2的幂次方倍频,本发明设计简单、易于实现、占用资源少,消除了本地晶振时钟漂移与除法器时延误差,使生成时钟信号的1秒以上长期精度与GPS秒脉冲精度一致,使生成时钟信号的1秒以内短期精度与消除时钟漂移后的本地时钟一致,提高了生成时钟信号的精度。本发明可用于为FPGA中各数字信号处理模块提供所需的时钟信号,可使系统简化设计、提高处理精度。
Description
技术领域
本发明涉及倍频技术,具体涉及一种基于GPS(Global Position System,全球定位系统)秒脉冲的2的幂次方倍频方法,应用于基于FPGA(Field Programmable GateArray,现场可编程门阵列)的数字信号处理系统设计中,为FPGA中各数字信号处理模块提供所需的时钟信号。
背景技术
时钟信号是数字信号处理模块工作所必须的输入信号,通常是将晶体振荡器输出时钟进行处理以获得所需频率的时钟信号。近年来,工业界研发了各种时钟信号产生技术,主要是基于除法器实现,具体来说是利用除法器计算输入时钟频率与输出时钟频率的倍数关系,而后以此倍数关系确定参数,进而以此参数对输入时钟进行处理而获得所需频率的时钟信号。这种技术有三个主要的缺点,首先是本地晶振时钟频率不可避免的漂移将引起输出时钟频率的漂移;其次是使用除法器计算参数,将占用FPGA的大量片内资源且设计复杂;最后是除法器计算的延时将带来输出时钟频率的误差。GPS秒脉冲是精度很高的时钟信号,其精度能够满足大多数数字信号处理模块对时钟信号的精度需求,但其频率为固定的1Hz,无法被FPGA中各数字信号处理模块直接使用。因此,寻找一种设计简单、占用资源少、不存在时钟漂移和时延误差的基于GPS秒脉冲的时钟信号倍频产生方法具有十分重要的意义。
发明内容
本发明的目的是为解决目前基于除法器的时钟信号产生方法无法消除输入时钟漂移、设计复杂、占用FPGA大量资源、存在时延误差等问题,提供了一种基于GPS秒脉冲的2的幂次方倍频方法。该方法能够以高精度GPS秒脉冲为输入信号,产生GPS秒脉冲的2的幂次方倍频时钟信号,通过使用GPS秒脉冲测量本地高频晶振时钟信号的实际频率以消除晶振频率的漂移,利用左移即为二进制除法来实现倍频参数的计算,避免了使用除法器,使时钟信号产生方法简单、占用FPGA资源少且没有时延误差。
为实现上述发明目的,本发明采用如下技术方案:
一种基于GPS秒脉冲的2的幂次方倍频方法,该方法包括以下步骤:
步骤S1:CLK为倍频方法输出时钟,F_LOCAL为本地高频晶振时钟的频率;CLK频率的理论值是2的幂次方,通过对数运算确定其频率的理论值为2的M次幂;F_LOCAL除以CLK频率的商是实现倍频所需参数,将F_LOCAL以二进制表示,以F_LOCAL二进制表示形式的第1位至第M+1位作为商的小数部分B;以F_LOCAL二进制表示形式的第M+2位至最高位作为商的整数部分A;
步骤S2:设立本地晶振时钟频率计数寄存器CLK_LOCAL_1、CLK_LOCAL_2,CLK_LOCAL_1、CLK_LOCAL_2初始化为零;
步骤S3:在GPS秒脉冲第一次到来时,使用寄存器CLK_LOCAL_1开始对本地高频晶振时钟频率F_LOCAL进行累加计数,每次累加值为1,当以后每一次GPS秒脉冲到来时,用寄存器CLK_LOCAL_1的值减去寄存器CLK_LOCAL_2的值以获得本地高频晶振时钟频率F_LOCAL的测量值,而后将寄存器CLK_LOCAL_1的值存储到寄存器CLK_LOCAL_2中;
步骤S4:由F_LOCAL测量值计算步骤S1中所述商的整数部分A和步骤S1中所述商的小数部分B;
步骤S5:设立倍频累加寄存器QUOTIENT,倍频累加寄存器QUOTIENT最大容量值的二进制表示位数与整数部分A的二进制表示位数相同;
步骤S6:设立小数累加寄存器REMAINDER,小数累加寄存器REMAINDER最大容量值的二进制表示位数与小数部分B的二进制表示位数相同;
步骤S7:将倍频累加寄存器QUOTIENT的初始值设置为其最大值减去整数部分A;
步骤S8:以本地晶振时钟上升沿为触发条件,倍频累加寄存器QUOTIENT开始累加,每次累加1;
步骤S9:以倍频累加寄存器QUOTIENT溢出为触发条件,小数累加寄存器REMAINDER开始累加,每次累加B;
步骤S10:当倍频累加寄存器QUOTIENT溢出时,将倍频累加寄存器QUOTIENT的值重置为其最大值减去整数部分A;
步骤S11:当小数累加寄存器REMAINDER溢出时,倍频累加寄存器QUOTIENT减1;
步骤S12:将倍频累加寄存器QUOTIENT的溢出位作为输出的时钟信号CLK。
通过以上步骤,实现了基于GPS秒脉冲的2的幂次方倍频。
与现有的技术相比,本发明具有以下优点:
通过GPS秒脉冲消除了本地晶振时钟频率的漂移,利用二进制表示获得除法运算结果,避免使用专用除法器模块,简化了系统设计、降低了FPGA资源消耗,避免了除法器模块时延带来的误差;
附图说明:
1.图1为本发明实施例的结构图;
2.图2为本发明实施例的工作流程图;
3.图3为本发明具体实施方式步骤S3的仿真结果;
4.图4为本发明具体实施方式步骤S4的仿真结果;
5.图5为本发明具体实施方式步骤S12的仿真结果。
具体实施方式:
下面将结合说明书附图和具体实施例对本发明作进一步详细说明。
如图1所示,为一种基于GPS秒脉冲的2的幂次方倍频方法实施例的结构图,图2为本实施例的流程图,具体包括以下步骤:
步骤S1:F_LOCAL为本地高频晶振时钟信号频率,频率的理论值为62.5MHz;CLK为倍频方法输出时钟,CLK频率的理论值为4096Hz,4096是2的幂次方,通过对数运算确定其频率的理论值为2的12次幂;F_LOCAL除以CLK频率的商是实现倍频所需参数,将F_LOCAL以二进制表示,以F_LOCAL二进制表示形式的第1位至第(12+1)位作为商的小数部分B;以F_LOCAL二进制表示形式的第(12+2)位至最高位作为商的整数部分A;
步骤S2:设立本地晶振时钟频率计数寄存器CLK_LOCAL_1、CLK_LOCAL_2,CLK_LOCAL_1、CLK_LOCAL_2初始化为零;
步骤S3:如图3所示,在GPS秒脉冲第一次到来时(GPS秒脉冲由图3中one_pps表示),使用寄存器CLK_LOCAL_1开始对本地高频晶振时钟频率F_LOCAL进行累加计数(F_LOCAL由图3中sysclk62p5MHz表示),每次累加值为1,当以后每一次GPS秒脉冲到来时,用寄存器CLK_LOCAL_1的值减去寄存器CLK_LOCAL_2的值以获得本地高频时钟频率F_LOCAL的测量值,而后将寄存器CLK_LOCAL_1的值存储到寄存器CLK_LOCAL_2中;本地高频晶振时钟的理论值为62.5MHz,而实际测量的结果为62.500499MHz,有效消除了本地晶振时钟漂移带来的影响;
步骤S4:如图4所示,由F_LOCAL的测量值计算步骤S1中所述商的整数部分A和步骤S1中所述商的小数部分B;此计算过程在1个本地晶振时钟节拍完成,避免了使用除法器带来的时延误差;
步骤S5:设立倍频累加寄存器QUOTIENT,倍频累加寄存器QUOTIENT最大容量值的二进制表示位数与整数部分A的二进制表示位数相同;
步骤S6:设立小数累加寄存器REMAINDER,小数累加寄存器REMAINDER最大容量值的二进制表示位数与小数部分B的二进制表示位数相同;
步骤S7:将倍频累加寄存器QUOTIENT的初始值设置为其最大值减去整数部分A;
步骤S8:以本地晶振时钟上升沿为触发条件,倍频累加寄存器QUOTIENT开始累加,每次累加1;
步骤S9:以倍频累加寄存器QUOTIENT溢出为触发条件,小数累加寄存器REMAINDER开始累加,每次累加B;
步骤S10:当倍频累加寄存器QUOTIENT溢出时,将倍频累加寄存器QUOTIENT的值重置为其最大值减去整数部分A;
步骤S11:当小数累加寄存器REMAINDER溢出时,倍频累加寄存器QUOTIENT减1;
步骤S12:如图5所示,clk_divider_rising和clk_divider_faling信号为QUOTIENT的溢出标志,倍频累加寄存器QUOTIENT的溢出位即是输出时钟信号CLK。
本实施例是基于Xilinx公司的Spartan-6型FPGA芯片设计,其对FPGA资源的消耗与传统方法对比如表1所示,可以看到本实施例所消耗的PFGA资源与传统方法相比,减小了约10倍。
使用本发明所生成的时钟信号,其1秒以上的长期精度与GPS秒脉冲精度一致;其1秒以内的短期精度与消除漂移后的本地晶振时钟精度一致,而传统方法所生成的时钟信号精度与含有漂移的本地晶振时钟精度一致,因此本发明所生成时钟信号精度高于传统方法。
表1FPGA资源消耗对比
以上仅是本发明的优选实施方式,本发明的保护范围并不仅限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应当视为落入本发明的保护范围。
Claims (1)
1.一种基于GPS秒脉冲的2的幂次方倍频方法,其特征在于包括以下步骤:
步骤S1:CLK为倍频方法输出时钟,F_LOCAL为本地高频晶振时钟的频率;CLK频率的理论值是2的幂次方,通过对数运算确定其频率的理论值为2的M次幂;F_LOCAL除以CLK频率的商是实现倍频所需参数,将F_LOCAL以二进制表示,以F_LOCAL二进制表示形式的第1位至第M+1位作为商的小数部分B;以F_LOCAL二进制表示形式的第M+2位至最高位作为商的整数部分A;
步骤S2:设立本地晶振时钟频率计数寄存器CLK_LOCAL_1、CLK_LOCAL_2,CLK_LOCAL_1、CLK_LOCAL_2初始化为零;
步骤S3:在GPS秒脉冲第一次到来时,使用寄存器CLK_LOCAL_1开始对本地高频晶振时钟频率F_LOCAL进行累加计数,每次累加值为1,当以后每一次GPS秒脉冲到来时,用寄存器CLK_LOCAL_1的值减去寄存器CLK_LOCAL_2的值以获得本地高频晶振时钟频率F_LOCAL的测量值,而后将寄存器CLK_LOCAL_1的值存储到寄存器CLK_LOCAL_2中;
步骤S4:由F_LOCAL的测量值计算步骤S1中所述商的整数部分A和步骤S1中所述商的小数部分B;
步骤S5:设立倍频累加寄存器QUOTIENT,倍频累加寄存器QUOTIENT最大容量值的二进制表示位数与整数部分A的二进制表示位数相同;
步骤S6:设立小数累加寄存器REMAINDER,小数累加寄存器REMAINDER最大容量值的二进制表示位数与小数部分B的二进制表示位数相同;
步骤S7:将倍频累加寄存器QUOTIENT的初始值设置为其最大值减去整数部分A;
步骤S8:以本地晶振时钟上升沿为触发条件,倍频累加寄存器QUOTIENT开始累加,每次累加1;
步骤S9:以倍频累加寄存器QUOTIENT溢出为触发条件,小数累加寄存器REMAINDER开始累加,每次累加B;
步骤S10:当倍频累加寄存器QUOTIENT溢出时,将倍频累加寄存器QUOTIENT的值重置为其最大值减去整数部分A;
步骤S11:当小数累加寄存器REMAINDER溢出时,倍频累加寄存器QUOTIENT减1;
步骤S12:将倍频累加寄存器QUOTIENT的溢出位作为输出的时钟信号CLK。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710588281.0A CN107395123B (zh) | 2017-07-19 | 2017-07-19 | 一种基于gps秒脉冲的2的幂次方倍频方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710588281.0A CN107395123B (zh) | 2017-07-19 | 2017-07-19 | 一种基于gps秒脉冲的2的幂次方倍频方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107395123A true CN107395123A (zh) | 2017-11-24 |
CN107395123B CN107395123B (zh) | 2020-05-08 |
Family
ID=60339451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710588281.0A Active CN107395123B (zh) | 2017-07-19 | 2017-07-19 | 一种基于gps秒脉冲的2的幂次方倍频方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107395123B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108169619A (zh) * | 2017-11-29 | 2018-06-15 | 杭州柯林电气股份有限公司 | 应用于电缆监测系统的卫星秒脉冲输出装置及方法 |
CN110764439A (zh) * | 2018-07-25 | 2020-02-07 | 上海英威腾工业技术有限公司 | 伺服驱动脉冲输出分频器及其使用方法 |
CN110879519A (zh) * | 2019-11-08 | 2020-03-13 | 中国科学院长春光学精密机械与物理研究所 | 航空立体测绘相机的时统方法和系统 |
CN113552598A (zh) * | 2020-04-26 | 2021-10-26 | 成都安则优科技有限公司 | 一种基于fpga的gps测距码生成系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1617446A (zh) * | 2003-11-10 | 2005-05-18 | 中国科学院空间科学与应用研究中心 | 一种基于全数字逻辑电路的倍频系统 |
US20060195281A1 (en) * | 2005-02-25 | 2006-08-31 | Sudhind Dhamankar | System and method for correcting an inaccurate clock |
CN102621562A (zh) * | 2012-03-20 | 2012-08-01 | 东南大学 | 一种基于fpga的多通道实时gps跟踪方法及其系统 |
CN103616814A (zh) * | 2013-12-09 | 2014-03-05 | 东南大学 | 一种基于fpga的同步采样时钟闭环校正方法和系统 |
CN103731145A (zh) * | 2013-12-31 | 2014-04-16 | 中国国土资源航空物探遥感中心 | 一种基于标准时间脉冲信号的时标信号发生器 |
-
2017
- 2017-07-19 CN CN201710588281.0A patent/CN107395123B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1617446A (zh) * | 2003-11-10 | 2005-05-18 | 中国科学院空间科学与应用研究中心 | 一种基于全数字逻辑电路的倍频系统 |
US20060195281A1 (en) * | 2005-02-25 | 2006-08-31 | Sudhind Dhamankar | System and method for correcting an inaccurate clock |
CN102621562A (zh) * | 2012-03-20 | 2012-08-01 | 东南大学 | 一种基于fpga的多通道实时gps跟踪方法及其系统 |
CN103616814A (zh) * | 2013-12-09 | 2014-03-05 | 东南大学 | 一种基于fpga的同步采样时钟闭环校正方法和系统 |
CN103731145A (zh) * | 2013-12-31 | 2014-04-16 | 中国国土资源航空物探遥感中心 | 一种基于标准时间脉冲信号的时标信号发生器 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108169619A (zh) * | 2017-11-29 | 2018-06-15 | 杭州柯林电气股份有限公司 | 应用于电缆监测系统的卫星秒脉冲输出装置及方法 |
CN108169619B (zh) * | 2017-11-29 | 2020-10-02 | 杭州柯林电气股份有限公司 | 应用于电缆监测系统的卫星秒脉冲输出装置及方法 |
CN110764439A (zh) * | 2018-07-25 | 2020-02-07 | 上海英威腾工业技术有限公司 | 伺服驱动脉冲输出分频器及其使用方法 |
CN110879519A (zh) * | 2019-11-08 | 2020-03-13 | 中国科学院长春光学精密机械与物理研究所 | 航空立体测绘相机的时统方法和系统 |
CN113552598A (zh) * | 2020-04-26 | 2021-10-26 | 成都安则优科技有限公司 | 一种基于fpga的gps测距码生成系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107395123B (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107395123A (zh) | 一种基于gps秒脉冲的2的幂次方倍频方法 | |
CN202362380U (zh) | 一种多功能高精度数字频率计 | |
WO2016127357A1 (zh) | 一种基于fpga的时间数字变换器 | |
CN109765583A (zh) | 一种基于gnss接收机秒脉冲的时钟同步方法 | |
CN107819456B (zh) | 一种基于fpga进位链的高精度延时产生器 | |
CN104614976A (zh) | 一种基于fpga的时间数字变换器 | |
CN108061848B (zh) | 基于fpga的加法进位链延时的测量方法及系统 | |
CN103969500A (zh) | 智能电网模拟量采集装置、方法及系统 | |
CN104375006B (zh) | 一种快速同步相量修正方法 | |
CN102253643A (zh) | 一种高精度时间测量电路及测量方法 | |
CN105675981A (zh) | 一种基于fpga的频率计及频率测量方法 | |
CN101706521A (zh) | 一种具有时基微调功能的数字存储示波器 | |
CN104660220B (zh) | 一种产生整数频率脉冲的信号发生器及信号产生方法 | |
CN202166844U (zh) | 一种高精度时间测量电路 | |
CN111766771A (zh) | 一种基于压控晶振驯服的时间间隔测量方法及系统 | |
CN207123716U (zh) | 一种脉冲信号时差测量装置 | |
CN103618501A (zh) | 基于fpga的交流采样同步倍频器 | |
CN104133409A (zh) | 一种对称性可调的三角波合成装置 | |
CN218886023U (zh) | 低噪声adc多功能时频参数综合测试仪 | |
CN104270095B (zh) | 基于cpld的单片方波信号倍频器及输出任意倍频信号的方法 | |
CN103365827A (zh) | 一种高精度正弦/余弦函数的计算方法 | |
CN213581764U (zh) | 一种时间间隔测量装置 | |
CN211180593U (zh) | 时频检测设备 | |
CN107566199A (zh) | 信号处理装置和方法及包括该装置的电子设备 | |
CN113933588B (zh) | 一种北斗时频装备中的高精度频率测量芯片 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |