CN109814835A - 一种基于fpga的间隔均分装置及ip核 - Google Patents
一种基于fpga的间隔均分装置及ip核 Download PDFInfo
- Publication number
- CN109814835A CN109814835A CN201910092904.4A CN201910092904A CN109814835A CN 109814835 A CN109814835 A CN 109814835A CN 201910092904 A CN201910092904 A CN 201910092904A CN 109814835 A CN109814835 A CN 109814835A
- Authority
- CN
- China
- Prior art keywords
- module
- equally
- counting
- fpga
- value
- 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
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
- Logic Circuits (AREA)
Abstract
本申请公开了一种基于FPGA的间隔均分装置及IP核,包括:间隔计数模块,用于对待均分间隔值进行计数输出;与间隔计数模块连接的均分计算模块,用于确定均分值和修正值;与均分计算模块连接的并以修正值为模的修正计数模块,用于产生修正脉冲,并对修正脉冲进行计数输出,以实现对均分过程产生的偏差进行修正;与均分计算模块和修正计数模块连接的并以均分值为模的均分计数模块,用于产生均分脉冲,并对均分脉冲进行计数输出;其中,间隔计数模块、修正计数模块和均分计数模块均为基于FPGA的计数器构建的,均分计算模块为基于FPGA的除法器构建的。本申请能够有效提高时间均分精度,且无需占用过多资源。
Description
技术领域
本发明涉及同步技术领域,特别涉及一种基于FPGA的间隔均分装置及IP核。
背景技术
随着计算机和智能设备的发展,网络通信的速率越来越快,很多应用场景中设备之间组网通信、对时同步的精度要求越来越高,特别是在测量和控制应用等领域。间隔均分是将实时的脉冲间隔值均分成D份,并保证稳定与精度,是测控、通信等领域中常用的功能。
目前间隔均分功能大多采用硬件资源或需要硬件资源参与实现,但其实现方式,要么难以保证均分的精度,要么实现方式过于复杂,资源占用较多。
发明内容
有鉴于此,本发明的目的在于提供一种基于FPGA的间隔均分装置及IP核,能够有效提高时间均分精度,并且无需占用过多资源。其具体方案如下:
第一方面,本申请公开了一种基于FPGA的间隔均分装置,包括:
间隔计数模块,用于对待均分间隔值进行计数输出;
与所述间隔计数模块连接的均分计算模块,用于确定均分值和修正值;
与所述均分计算模块连接的并以所述修正值为模的修正计数模块,用于产生修正脉冲,并对所述修正脉冲进行计数输出,以实现对均分过程产生的偏差进行修正;
与所述均分计算模块和所述修正计数模块连接的并以所述均分值为模的均分计数模块,用于产生均分脉冲,并对所述均分脉冲进行计数输出;
其中,所述间隔计数模块、所述修正计数模块和所述均分计数模块均为基于FPGA的计数器构建的,所述均分计算模块为基于FPGA的除法器构建的。
可选的,所述间隔计数模块,具体用于当秒脉冲信号到来时,将此时自身的计数值确定为当前秒的待均分间隔值,然后输出所述待均分间隔值,并进行清零和重新计数。
可选的,所述均分计算模块,具体用于将所述间隔计数模块输出的所述待均分间隔值除以预设的均分份数,得到第一余数和用作均分值的第一商值;将所述待均分间隔值除以所述第一余数,得到第二余数和用作修正值的第二商值。
可选的,所述修正计数模块,具体用于在时钟递增过程中,当自身的计数值大于或等于所述修正值,则清零并重新计数,并输出修正脉冲。
可选的,所述均分计数模块,用于在时钟递增过程中,当获取到所述修正计数模块输出的所述修正脉冲时,则在对应的一个时钟周期内停止计数;当自身的计数值大于或等于所述均分值,则清零并重新计数,并输出均分脉冲。
可选的,所述均分计数模块,还用于在秒脉冲信号到来时,清零并重新计数,同时输出均分脉冲。
可选的,所述间隔均分装置,还包括:
参数更新单元,用于对所述均分份数进行更新。
可选的,所述参数更新单元,具体用于通过预设的参数输入接口,获取参数更新信息,利用所述参数更新信息对所述均分份数进行更新。
第二方面,本申请公开了一种IP核,所述IP核为对前述公开的间隔均分装置进行封装后得到。
可见,本申请引入了修正计数模块,用于产生修正脉冲,并对修正脉冲进行计数输出,以实现对均分过程产生的偏差进行修正,从而提高了时间均分精度,并且,均分间隔装置是基于FPGA中的计数器和除法器来构建的,这样既易于实现,也不必占用过多的资源。综上,本申请能够有效提高时间均分精度,并且无需占用过多资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明公开的一种基于FPGA的间隔均分装置结构示意图;
图2为本发明公开的一种具体的基于FPGA的间隔均分装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前,随着计算机和智能设备的发展,网络通信的速率越来越快,很多应用场景中设备之间组网通信、对时同步的精度要求越来越高,特别是在测量和控制应用等领域。间隔均分是将实时的脉冲间隔值均分成D份,并保证稳定与精度,是测控、通信等领域中常用的功能。目前间隔均分功能大多采用硬件资源或需要硬件资源参与实现,但其实现方式,要么难以保证均分的精度,要么实现方式过于复杂,资源占用较多。为此,本申请提供了一种基于FPGA的间隔均分装置,既能够有效提高时间均分精度,也无需占用过多资源。
参见图1所示,本发明实施例公开了一种基于FPGA的间隔均分装置,包括:
间隔计数模块11,用于对待均分间隔值进行计数输出;
与所述间隔计数模块11连接的均分计算模块12,用于确定均分值和修正值;
与所述均分计算模块12连接的并以所述修正值为模的修正计数模块13,用于产生修正脉冲,并对所述修正脉冲进行计数输出,以实现对均分过程产生的偏差进行修正;
与所述均分计算模块12和所述修正计数模块13连接的并以所述均分值为模的均分计数模块14,用于产生均分脉冲,并对所述均分脉冲进行计数输出;
其中,所述间隔计数模块11、所述修正计数模块13和所述均分计数模块14均为基于FPGA的计数器构建的,所述均分计算模块12为基于FPGA的除法器构建的。
可见,本申请实施例引入了修正计数模块,用于产生修正脉冲,并对修正脉冲进行计数输出,以实现对均分过程产生的偏差进行修正,从而提高了时间均分精度,并且,均分间隔装置是基于FPGA中的计数器和除法器来构建的,这样既易于实现,也不必占用过多的资源。综上,本申请实施例能够有效提高时间均分精度,并且无需占用过多资源。
需要指出的是,本实施例中的间隔均分装置可以应用于测控***或通信***等对时间同步精度要求较高的***当中。
下面,以测控***中常用的GPS秒间隔实时均分为例,对本实施例中的间隔均分装置进行具体说明。
参见图2所示,本实施例中,所述间隔计数模块11,具体可以用于当秒脉冲信号s_pulse到来时,将此时自身的计数值确定为当前秒的待均分间隔值S,然后输出所述待均分间隔值,并进行清零和重新计数。由此开始下一秒的间隔计数,如此循环,以实现间隔的实时统计输出。
所述均分计算模块12,具体可以用于将所述间隔计数模块11输出的所述待均分间隔值S除以预设的均分份数D,得到第一余数R和用作均分值的第一商值Q;将所述待均分间隔值S除以所述第一余数R,得到第二余数C和用作修正值的第二商值M。相应的公式包括:
S=D*Q+R; (1)
S=R*M+C; (2)
式中,S表示所述间隔计数模块输出的所述待均分间隔值,D表示所述均分份数,Q表示用作均分值的所述第一商值,R表示所述第一余数,M表示用作修正值的第二商值,C表示所述第二余数。
可见,本实施例中均分计算模块进行了两轮除法运算,之所以要进行两轮除法运算,是因为考虑到若以Q为计数间隔进行计数输出均分脉冲,则会产生R个时钟周期的误差,为了缩小误差,本实施例进行了第二轮除法运算,以实现余数补偿,从而减少了误差,增加了均分精度。
所述修正计数模块13,具体用于在时钟递增过程中,当自身的计数值大于或等于所述修正值M,则清零并重新计数,并输出修正脉冲m_pulse。
所述均分计数模块14,用于在时钟递增过程中,当获取到所述修正计数模块13输出的所述修正脉冲m_pulse时,则在对应的一个时钟周期内停止计数;当自身的计数值大于或等于所述均分值Q,则清零并重新计数,并输出均分脉冲a_pulse。
为了保证精度,防止误差累积,有必要针对每秒最后一个均分脉冲进行特殊处理,具体的,所述均分计数模块14,还用于在秒脉冲信号到来时,清零并重新计数,同时输出均分脉冲。
进一步的,本实施例中的间隔均分装置,还可以包括:
参数更新单元,用于对所述均分份数D进行更新。
其中,所述参数更新单元,具体可以用于通过预设的参数输入接口,获取参数更新信息,利用所述参数更新信息对所述均分份数进行更新。
需要指出的是,本实施例中,D值的更新需要在秒脉冲处统一处理。
另外,对于Q值和M值的更新,可以根据需求和实际情况,在当前秒内的第一个均分脉冲之前更新,或者在下一个秒脉冲处更新。
通过本实施例中的上述技术方案,可以将均分计算的第一余数R均衡地***到均分过程中,从而保证了每间隔内均分的精度,并且误差不累计。
下面对上述均分结果进行误差分析:
间隔均分过程在每个秒脉冲处清零计数,若给均分脉冲编号,则从初始秒脉冲开始为0,1,2,3,…,D-1,总共D个均分脉冲,则理想情况下第n个均分脉冲在秒间隔中的位置为:
而按上述间隔均分方法,第n个均分脉冲在秒间隔中的位置为:
相应的,其偏差是:Deviation=Pos2-Pos1;
通过将式(1)替换式(3)中的S,将式(2)替换式(4)中的S,以将Deviation化简成:
通过进一步分析可得:当大于0时,当其等于0时,
由此可见,与上述间隔均分方案对应的误差,在负方向上不超过一个时钟周期,在正方向上不超过在实际使用时,可以根据实际情况设计相应参数。
进一步的,本申请还公开了一种IP核,所述IP核为对前述实施例公开的间隔均分装置进行封装后得到。其中,关于该间隔均分装置的具体构造可以参考前述实施例中公开的相应内容,在此不再进行赘述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种基于FPGA的间隔均分装置及IP核进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种基于FPGA的间隔均分装置,其特征在于,包括:
间隔计数模块,用于对待均分间隔值进行计数输出;
与所述间隔计数模块连接的均分计算模块,用于确定均分值和修正值;
与所述均分计算模块连接的并以所述修正值为模的修正计数模块,用于产生修正脉冲,并对所述修正脉冲进行计数输出,以实现对均分过程产生的偏差进行修正;
与所述均分计算模块和所述修正计数模块连接的并以所述均分值为模的均分计数模块,用于产生均分脉冲,并对所述均分脉冲进行计数输出;
其中,所述间隔计数模块、所述修正计数模块和所述均分计数模块均为基于FPGA的计数器构建的,所述均分计算模块为基于FPGA的除法器构建的。
2.根据权利要求1所述的基于FPGA的间隔均分装置,其特征在于,
所述间隔计数模块,具体用于当秒脉冲信号到来时,将此时自身的计数值确定为当前秒的待均分间隔值,然后输出所述待均分间隔值,并进行清零和重新计数。
3.根据权利要求2所述的基于FPGA的间隔均分装置,其特征在于,
所述均分计算模块,具体用于将所述间隔计数模块输出的所述待均分间隔值除以预设的均分份数,得到第一余数和用作均分值的第一商值;将所述待均分间隔值除以所述第一余数,得到第二余数和用作修正值的第二商值。
4.根据权利要求3所述的基于FPGA的间隔均分装置,其特征在于,
所述修正计数模块,具体用于在时钟递增过程中,当自身的计数值大于或等于所述修正值,则清零并重新计数,并输出修正脉冲。
5.根据权利要求4所述的基于FPGA的间隔均分装置,其特征在于,
所述均分计数模块,用于在时钟递增过程中,当获取到所述修正计数模块输出的所述修正脉冲时,则在对应的一个时钟周期内停止计数;当自身的计数值大于或等于所述均分值,则清零并重新计数,并输出均分脉冲。
6.根据权利要求5所述的基于FPGA的间隔均分装置,其特征在于,所述均分计数模块,还用于在秒脉冲信号到来时,清零并重新计数,同时输出均分脉冲。
7.根据权利要求3至6任一项所述的基于FPGA的间隔均分装置,其特征在于,还包括:
参数更新单元,用于对所述均分份数进行更新。
8.根据权利要求7所述的基于FPGA的间隔均分装置,其特征在于,
所述参数更新单元,具体用于通过预设的参数输入接口,获取参数更新信息,利用所述参数更新信息对所述均分份数进行更新。
9.一种IP核,其特征在于,所述IP核为对如权利要求1至8任一项所述的间隔均分装置进行封装后得到。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910092904.4A CN109814835B (zh) | 2019-01-30 | 2019-01-30 | 一种基于fpga的间隔均分装置及ip核 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910092904.4A CN109814835B (zh) | 2019-01-30 | 2019-01-30 | 一种基于fpga的间隔均分装置及ip核 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109814835A true CN109814835A (zh) | 2019-05-28 |
CN109814835B CN109814835B (zh) | 2022-02-18 |
Family
ID=66605840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910092904.4A Active CN109814835B (zh) | 2019-01-30 | 2019-01-30 | 一种基于fpga的间隔均分装置及ip核 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109814835B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110492966A (zh) * | 2019-09-12 | 2019-11-22 | 积成电子股份有限公司 | 一种分布式继电保护装置的时间同步方法 |
CN111211779A (zh) * | 2019-12-31 | 2020-05-29 | 苏州浪潮智能科技有限公司 | 一种基于fpga的间隔均分设计方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4442547A (en) * | 1982-09-01 | 1984-04-10 | Rca Corporation | Counter arrangement useful in a frequency locked loop tuning system for measuring the frequency of a local oscillator signal |
CN102035472A (zh) * | 2010-10-29 | 2011-04-27 | 中国兵器工业集团第二一四研究所苏州研发中心 | 可编程数字倍频器 |
CN103713552A (zh) * | 2013-12-23 | 2014-04-09 | 国电南瑞科技股份有限公司 | 基于秒脉冲的自适应动态同步采样控制装置及其方法 |
CN104991441A (zh) * | 2015-07-22 | 2015-10-21 | 广州供电局有限公司 | Gps同步授时电路 |
US20160112034A1 (en) * | 2012-06-29 | 2016-04-21 | Renesas Electronics Corporation | Clock correction circuit and clock correction method |
CN106027187A (zh) * | 2016-04-29 | 2016-10-12 | 国家电网公司 | 一种gps同步信号频率源电路 |
CN107577140A (zh) * | 2017-09-14 | 2018-01-12 | 国电南瑞科技股份有限公司 | 一种基于fpga的同步时钟管理模块 |
-
2019
- 2019-01-30 CN CN201910092904.4A patent/CN109814835B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4442547A (en) * | 1982-09-01 | 1984-04-10 | Rca Corporation | Counter arrangement useful in a frequency locked loop tuning system for measuring the frequency of a local oscillator signal |
CN102035472A (zh) * | 2010-10-29 | 2011-04-27 | 中国兵器工业集团第二一四研究所苏州研发中心 | 可编程数字倍频器 |
US20160112034A1 (en) * | 2012-06-29 | 2016-04-21 | Renesas Electronics Corporation | Clock correction circuit and clock correction method |
CN103713552A (zh) * | 2013-12-23 | 2014-04-09 | 国电南瑞科技股份有限公司 | 基于秒脉冲的自适应动态同步采样控制装置及其方法 |
CN104991441A (zh) * | 2015-07-22 | 2015-10-21 | 广州供电局有限公司 | Gps同步授时电路 |
CN106027187A (zh) * | 2016-04-29 | 2016-10-12 | 国家电网公司 | 一种gps同步信号频率源电路 |
CN107577140A (zh) * | 2017-09-14 | 2018-01-12 | 国电南瑞科技股份有限公司 | 一种基于fpga的同步时钟管理模块 |
Non-Patent Citations (2)
Title |
---|
于洋: "基于FPGA高速时间交织ADC校准与研究", 《中国优秀硕士学位论文全文数据库-信息科技辑》 * |
高嵩: "基于FPGA的多道脉冲幅度分析器研究", 《中国优秀硕士学位论文全文数据库-信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110492966A (zh) * | 2019-09-12 | 2019-11-22 | 积成电子股份有限公司 | 一种分布式继电保护装置的时间同步方法 |
CN111211779A (zh) * | 2019-12-31 | 2020-05-29 | 苏州浪潮智能科技有限公司 | 一种基于fpga的间隔均分设计方法和装置 |
WO2021135303A1 (zh) * | 2019-12-31 | 2021-07-08 | 苏州浪潮智能科技有限公司 | 一种基于fpga的间隔均分设计方法和装置 |
CN111211779B (zh) * | 2019-12-31 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种基于fpga的间隔均分设计方法和装置 |
US11923863B2 (en) | 2019-12-31 | 2024-03-05 | Inspur Suzhou Intelligent Technology Co., Ltd. | FPGA-based design method and device for equally dividing interval |
Also Published As
Publication number | Publication date |
---|---|
CN109814835B (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106483866B (zh) | 制导控制半实物仿真***定时方法及*** | |
CN106817184A (zh) | 网络测量中本地时钟与gps时钟的时间同步方法及装置 | |
CN108037656A (zh) | 实时时钟芯片校准方法、装置及终端设备 | |
CN109814835A (zh) | 一种基于fpga的间隔均分装置及ip核 | |
CN101594128A (zh) | 组合导航处理器用同步脉冲合成方法及同步脉冲合成器 | |
CN102879641A (zh) | 频率量测方法及*** | |
CN111130510B (zh) | 一种输出秒脉冲信号的方法及装置 | |
CN109302255A (zh) | 时间同步控制方法、装置、***及计算机可读存储介质 | |
CN110324026A (zh) | 一种芯片内部时钟源的时钟频率检测方法 | |
JP5936716B2 (ja) | 信号処理装置 | |
CN106645780A (zh) | 一种基于dsp的转速检测方法及*** | |
CN106383438B (zh) | 一种基于滑动窗口时间扩展高精度驯钟方法 | |
CN102937819A (zh) | 一种星载计算机时间标签输出*** | |
CN103838183A (zh) | 一种数控***及其输出控制方法 | |
TW201303532A (zh) | 時間量測方法及系統 | |
CN106326639B (zh) | 一种ecg仿真信号建模与分段发生方法 | |
CN110928177B (zh) | 一种时钟同步***及方法 | |
CN104753497B (zh) | 一种oscpps修正方法与装置 | |
CN104378818A (zh) | 一种时钟同步方法及装置、基站子*** | |
CN108873669B (zh) | 一种计算机同步时钟的utc时间计算方法 | |
CN103471588A (zh) | 一种基于误差补偿的惯性测量装置异步通讯同步方法 | |
CN110687773B (zh) | 时间统一***授时精度的测量方法、装置和*** | |
CN109002997A (zh) | 基于mes数据下sv服务器产品线工时kpi的核算方法及*** | |
CN112506268A (zh) | 多片fpga间时间同步方法、装置、设备及存储介质 | |
Osintsev et al. | Method for synchronizing a group of heterogeneous microcontrollers with time control of synchronous work |
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 |