CN103941622B - 基于fpga的高精度秒脉冲倍频出采样脉冲的方法 - Google Patents
基于fpga的高精度秒脉冲倍频出采样脉冲的方法 Download PDFInfo
- Publication number
- CN103941622B CN103941622B CN201410173291.4A CN201410173291A CN103941622B CN 103941622 B CN103941622 B CN 103941622B CN 201410173291 A CN201410173291 A CN 201410173291A CN 103941622 B CN103941622 B CN 103941622B
- Authority
- CN
- China
- Prior art keywords
- pulse
- tcnt
- pps
- sampling
- pulse per
- 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.)
- Active
Links
- 238000005070 sampling Methods 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 title claims abstract description 20
- 239000000654 additive Substances 0.000 claims description 3
- 230000000996 additive effect Effects 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000013459 approach Methods 0.000 abstract description 2
- 238000009825 accumulation Methods 0.000 abstract 2
- 230000007423 decrease Effects 0.000 abstract 1
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Measuring Frequencies, Analyzing Spectra (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了电力系统测控技术领域内的一种基于FPGA的高精度秒脉冲倍频出采样脉冲的方法,旨在现有技术中由振荡器提供采样脉冲导致采样精度偏低的技术问题。本发明将实际同步秒脉冲计数值与理想同步秒脉冲计数值进行比较,将偏差与采样频率进行累加计算,根据累加计算结果判断脉冲计数器是否进行校正,从而达到将实际同步秒脉冲的总偏差平均分布到实际采样脉冲中,显著降低了采样脉冲的误差,为模数信号采集提供了更加可靠稳定的采样脉冲信号;同时,本发明提供的操作方法简单易行,减少了FPGA芯片资源的占用,提高了FPGA的运行速度和可靠性。
Description
技术领域
本发明涉及一种高精度采样脉冲输出实现方法,特别涉及一种基于FPGA的高精度秒脉冲倍频出采样脉冲的方法,属于电力系统测控技术领域。
背景技术
随着电力系统的快速发展,电网的容量、结构都在发生巨大的变化,仪器仪表行业也在不断的进行改进。在电能质量监测中,对基本电力参数采样和计算的方法一般有两种,分别是交流采样法和直流采样法。直流采样法对采样值只做一次比例变换,其测量精度受限较多,误差大,不稳定,所以通常要想获得高精度高稳定性的电参数,需要进行交流采样。交流采样时按一定的规律对信号的瞬时值进行采样,按照采样的基本定理,采样频率需要高于被测信号最高频率的2倍以上。在电力系统中常用的是同步交流采样,采用秒脉冲信号对设备进行同步,设备在秒脉冲信号同步的基础上,产生用于AD采样控制的采样脉冲。传统的倍频方法是:假设设备内部的钟振是高稳定度和高精度的,在脉冲计数器的控制下,每间隔一个固定的计数值就输出一个采样脉冲。以4kHz的采样脉冲为例,每隔250微秒输出一个采样脉冲,则每秒钟共输出4000个脉冲,由于钟振存在偏差,假如每秒时间偏差5微秒,采样固定计数值的方法会在最后一个采样脉冲与实际的时间偏差达到5微秒,这一误差导致采样精度偏低,对于电力的同步系统要求来说是难以容忍的。
发明内容
本发明的目的是针对现有技术中的不足,提供一种基于FPGA的高精度秒脉冲倍频出采样脉冲的方法,解决了现有技术中直接由钟振提供采样脉冲导致采样精度偏低的技术问题。
为解决上述技术问题,本发明所采用的技术方案是:基于FPGA的高精度秒脉冲倍频出采样脉冲的方法,包括如下步骤:
步骤一:计算实际同步秒脉冲计数值Treal与理想同步秒脉冲计数值Trat的偏差,并计算两者偏差的绝对值,记为b,则b=|Treal-Trat|;
步骤二:判断b与0的大小:若b=0,则由标准采样脉冲触发输出实际采样脉冲;若b不等于0,则记录Treal与Trat两者差的正负标识S:若两者差值为正数,则令S=0;若两者差值为负数,则令S=1;
步骤三:当标准采样脉冲到来时,触发b与采样频率a进行减法运算,运算结果记为c,则c=b-a,将c加载至FPGA芯片内部的累加器;
步骤四:判断c与0的大小:若c大于等于0,则令c=c-a,并进入步骤五;若c小于0,则每个标准采样脉冲到来时,脉冲计数器的计数结果Tcnt=Tcnt+1,并进入步骤六;
步骤五:根据正负标识S的值,调整脉冲计数器的计数结果Tcnt:若S=0,则忽略1个计数,即令Tcnt=Tcnt;若S=1,则在Tcnt=Tcnt+1的结果上,再增加1个计数,即令Tcnt=Tcnt+2;
步骤六:对Tcnt与采样频率a的比进行求余运算:若Tcnt/a的余数为0,则输出1个实际采样脉冲;否则,等待下一个标准采样脉冲到来时,触发c与b进行加法运算,令c=c+b,并返回步骤四。
与现有技术相比,本发明的有益效果是:在每个采样脉冲输出时判断是否进行校正,能够将钟振在一个采样周期内产生的总偏差平均分布到实际采样脉冲中,显著降低了实际采样脉冲与标准采样脉冲的时间偏差,使采样曲线更平滑,提高了采样精度,为模数信号采集提供了更加可靠稳定的采样脉冲信号。方法中避免了除法运算的使用,操作方法简单易行,大大减少了FPGA芯片资源的占用,提高了FPGA的运行速度和可靠性。
附图说明
图1为本发明的操作流程图。
具体实施方式
本发明提供的秒脉冲倍频出采样脉冲的方法,其中,实际同步秒脉冲由外部时钟提供输出,理想同步秒脉冲则由有源钟振结合FPGA芯片中锁相环技术倍频产生,脉冲计数器对标准采样进行计数。若采样若实际同步秒脉冲比理想同步秒脉冲快,则脉冲计数器在计数时增加一个标准采样脉冲以进行计数补偿,否则,减少一个标准采样脉冲,本发明将实际同步秒脉冲与理想同步秒脉冲总的时间偏差均匀分布在多个时间片中,降低了实际采样脉冲与标准采样脉冲的时间偏差。以实际同步秒脉冲计数值Treal=60000004,理想同步秒脉冲计数值Trat=60000000,采样频率a=4000Hz为例,实际同步秒脉冲与理想同步秒脉冲的总时间偏差是:4×(1000000000/60000004)纳秒=66.67纳秒,若直接用于倍频采样脉冲,那么在第4000个采样点时,该采样点会快66.67纳秒,本发明的目的是将66.67纳秒的时间偏差分布在4个时间片中,即在第1000、2000、3000、4000个计数间隔时,进行技术补偿,使误差降低至(66.67/4)纳秒=16.67纳秒,以达到提高采样精度的目的。
下面结合附图对本发明作进一步详细描述:
如图1所示,基于FPGA的高精度秒脉冲倍频出采样脉冲的方法,包括以下步骤:
步骤一:计算实际同步秒脉冲计数值Treal与理想同步秒脉冲计数值Trat的偏差,并计算两者偏差的绝对值,记为b,则b=|Treal-Trat|。一个采样周期为1秒钟,以实际同步秒脉冲计数值Treal=60000004,理想同步秒脉冲计数值Trat=60000000为例,则b=|Treal-Trat|=|60000004-60000000|=4。理想同步秒脉冲可由20MHz有源钟振提供,偏差±1PPM。FPGA芯片使用锁相环技术将20MHz倍频成60MHz提供给内部逻辑使用。
步骤二:判断b与0的大小:若b=0,则由标准采样脉冲触发输出实际采样脉冲;若b不等于0,则记录Treal与Trat两者差的正负标识S:若两者差值为正数,则令S=0;若两者差值为负数,则令S=1。若b=0,则说明实际同步秒脉冲与理想同步秒脉冲之间不存在时间偏差,则可将标准采样脉冲直接作为实际采样脉冲输出使用。若b不等于0,则说明实际同步秒脉冲与理想同步秒脉冲之间存在时间偏差,此时,先记下Treal与Trat两者差的正负标识S,为下一步脉冲计数的调整作准备。由步骤一知,Treal大于Trat,两者差值为正数,此处,S=0。
步骤三:当标准采样脉冲到来时,触发b与采样频率a进行减法运算,运算结果记为c,则c=b-a,将c加载至FPGA芯片内部的累加器。此处假设采样频率a=4000Hz,即一秒钟发出4000个标准采样脉冲,则c=b-a=4-4000=-3996,将-3996作为初值加载至FPGA芯片内部的累加器。
步骤四:判断c与0的大小:若c大于等于0,则令c=c-a,并进入步骤五,进行脉冲计数器计数调整;若c小于0,脉冲计数器正常计数,即每个标准采样脉冲到来时,脉冲计数器的计数结果Tcnt=Tcnt+1,并进入步骤六。由步骤三知,c=-3996,小于0,脉冲计数器正常计数,即每个标准采样脉冲到来时,脉冲计数器加一,然后进入步骤六。
步骤五:根据正负标识S的值,调整脉冲计数器的计数结果Tcnt:若S=0,则忽略1个计数,即令Tcnt=Tcnt;若S=1,则在Tcnt=Tcnt+1的结果上,再增加1个计数,即令Tcnt=Tcnt+2。若S=0,则实际同步秒脉冲计数值Treal大于理想同步秒脉冲计数值Trat,表示实际同步秒脉冲比理想同步秒脉冲快,脉冲计数器计数时需要忽略1个计数,假设Tcnt原有的计数结果为1,则下一标准采样脉冲到来时,Tcnt的计数结果仍为1。若S=1,则实际同步秒脉冲计数值Treal小于理想同步秒脉冲计数值Trat,表示实际同步秒脉冲比理想同步秒脉冲慢,脉冲计数器计数时需要增加1个计数,若Tcnt原有的计数结果为1,则下一标准采样脉冲到来时,Tcnt的计数结果直接增加至3。
步骤六:对Tcnt与采样频率a的比进行求余运算:若Tcnt/a的余数为0,则输出1个实际采样脉冲;否则,每个标准采样脉冲到来时,触发c与b进行加法运算,令c=c+b,并返回步骤四。c小于0时,脉冲计数器每计数一次需要跳转至本步骤进行一次求余运算。理想同步秒脉冲计数值Trat=60000000,则脉冲计数器共需计数60000000次,a=4000,所以当Tcnt=4000,8000,12000,……60000000时,余数均为0,一个采样周期内(1秒钟)总计输出60000000/4000=15000个采样脉冲。若对Tcnt/a求余后,余数不等于0,则每个标准采样脉冲到来时,令c=c+b,由于b是大于0的数值,则c在循环加b后必然会大于或等于0,以a=4000为例时,则第1000,2000,3000,4000个标准采样脉冲到来时,c均为0,表明此时脉冲计数器均作出了计数调整,最终保证4000个实际采样脉冲总宽度与理想同步秒脉冲总宽度一致,经过调整后,每个实际采样脉冲信号与标准采样脉冲的偏差均不会超过一个时钟周期即1/60000000s=16.67ns,与调整前误差250微秒相比,本发明将误差降低到纳秒级别,从而使采样曲线更平滑,显著提高了采样精度。
以上是以差值为4表述的本发明功能,若以差值为8为例,则调整计数值点应在第500、1000、1500、2000、2500、3000、3500、4000点,实际运用中差值可能为任意值,但不可能超过1个采样点宽度计数值(值为15000),否则芯片有问题。若差值为其它值,则按本发明表述做相应调整。
本发明并不局限于上述实施例,在本发明公开的技术方案的基础上,本领域的技术人员根据所公开的技术内容,不需要创造性的劳动就可以对其中的一些技术特征作出一些替换和变形,这些替换和变形均在本发明的保护范围内。
Claims (1)
1.基于FPGA的高精度秒脉冲倍频出采样脉冲的方法,其特征在于,包括如下步骤:
步骤一:计算实际同步秒脉冲计数值Treal与理想同步秒脉冲计数值Trat的偏差,并计算两者偏差的绝对值,记为b,则b=|Treal-Trat|;
步骤二:判断b与0的大小:若b=0,则由标准采样脉冲触发输出实际采样脉冲;若b不等于0,则记录Treal与Trat两者差的正负标识S:若两者差值为正数,则令S=0;若两者差值为负数,则令S=1;
步骤三:当标准采样脉冲到来时,触发b与采样频率a进行减法运算,运算结果记为c,则c=b-a,将c加载至FPGA芯片内部的累加器;
步骤四:判断c与0的大小:若c大于等于0,则令c=c-a,并进入步骤五;若c小于0,则每个标准采样脉冲到来时,脉冲计数器的计数结果Tcnt=Tcnt+1,并进入步骤六;
步骤五:根据正负标识S的值,调整脉冲计数器的计数结果Tcnt:若S=0,则忽略1个计数,即令Tcnt=Tcnt;若S=1,则在Tcnt=Tcnt+1的结果上,再增加1个计数,即令Tcnt=Tcnt+2;
步骤六:对Tcnt与采样频率a的比进行求余运算:若Tcnt/a的余数为0,则输出1个实际采样脉冲;否则,等待下一个标准采样脉冲到来时,触发c与b进行加法运算,令c=c+b,并返回步骤四。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410173291.4A CN103941622B (zh) | 2014-04-28 | 2014-04-28 | 基于fpga的高精度秒脉冲倍频出采样脉冲的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410173291.4A CN103941622B (zh) | 2014-04-28 | 2014-04-28 | 基于fpga的高精度秒脉冲倍频出采样脉冲的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103941622A CN103941622A (zh) | 2014-07-23 |
CN103941622B true CN103941622B (zh) | 2016-06-08 |
Family
ID=51189341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410173291.4A Active CN103941622B (zh) | 2014-04-28 | 2014-04-28 | 基于fpga的高精度秒脉冲倍频出采样脉冲的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103941622B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106773985A (zh) * | 2016-12-29 | 2017-05-31 | 西北核技术研究所 | 一种用于远距离多点控制的高精度顺序控制单元和方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104614586B (zh) * | 2015-01-13 | 2019-01-18 | 上海惠安系统控制有限公司 | 一种基于gps的电气量信号自适应采样方法 |
CN104570882A (zh) * | 2015-01-22 | 2015-04-29 | 北华航天工业学院 | 一种基于pci接口的高精度同步脉冲计数电路 |
CN104730483B (zh) * | 2015-03-13 | 2017-07-28 | 郑州万特电气股份有限公司 | 一种无线脉冲同步采样方法 |
CN110061827B (zh) * | 2018-01-19 | 2023-07-18 | 中电普瑞电力工程有限公司 | 一种基于同步时钟的等间隔数据采集方法及装置 |
CN109714030B (zh) * | 2018-12-26 | 2023-03-17 | 天津长荣科技集团股份有限公司 | 一种脉冲处理生成方法和装置 |
CN111208539B (zh) * | 2019-12-18 | 2023-06-23 | 中国航空工业集团公司成都飞机设计研究所 | 一种高精度的gnss模拟器时间同步方法 |
CN111211779B (zh) | 2019-12-31 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种基于fpga的间隔均分设计方法和装置 |
CN112946337B (zh) * | 2021-05-13 | 2021-08-03 | 深圳市鼎阳科技股份有限公司 | 一种信号的高精度测量方法及数字示波器 |
CN117792840B (zh) * | 2024-02-07 | 2024-05-28 | 深圳牧野微电子技术有限公司 | 直流偏移测量电路及其方法,功率测量电路,射频收发器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0301254A2 (de) * | 1987-07-30 | 1989-02-01 | Siemens Aktiengesellschaft | Spannungsmessung mit einer Elektronensonde durch Messungen im Frequenzbereich mittels eines modulierten Primärstrahls |
CN101038228A (zh) * | 2007-02-07 | 2007-09-19 | 北京航空航天大学 | 一种基于fpga的高精度数字在线动平衡检测装置 |
CN101546185A (zh) * | 2009-04-30 | 2009-09-30 | 上海交通大学 | 基于ieee-1394串行总线的多轴运动控制卡 |
CN203191748U (zh) * | 2013-03-30 | 2013-09-11 | 国家电网公司 | 变电站测控用对时系统 |
WO2013172937A1 (en) * | 2012-05-16 | 2013-11-21 | The Uab Research Foundation | Systems and methods for designing and fabricating musical instruments |
CN103616814A (zh) * | 2013-12-09 | 2014-03-05 | 东南大学 | 一种基于fpga的同步采样时钟闭环校正方法和系统 |
-
2014
- 2014-04-28 CN CN201410173291.4A patent/CN103941622B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0301254A2 (de) * | 1987-07-30 | 1989-02-01 | Siemens Aktiengesellschaft | Spannungsmessung mit einer Elektronensonde durch Messungen im Frequenzbereich mittels eines modulierten Primärstrahls |
CN101038228A (zh) * | 2007-02-07 | 2007-09-19 | 北京航空航天大学 | 一种基于fpga的高精度数字在线动平衡检测装置 |
CN101546185A (zh) * | 2009-04-30 | 2009-09-30 | 上海交通大学 | 基于ieee-1394串行总线的多轴运动控制卡 |
WO2013172937A1 (en) * | 2012-05-16 | 2013-11-21 | The Uab Research Foundation | Systems and methods for designing and fabricating musical instruments |
CN203191748U (zh) * | 2013-03-30 | 2013-09-11 | 国家电网公司 | 变电站测控用对时系统 |
CN103616814A (zh) * | 2013-12-09 | 2014-03-05 | 东南大学 | 一种基于fpga的同步采样时钟闭环校正方法和系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106773985A (zh) * | 2016-12-29 | 2017-05-31 | 西北核技术研究所 | 一种用于远距离多点控制的高精度顺序控制单元和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103941622A (zh) | 2014-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103941622B (zh) | 基于fpga的高精度秒脉冲倍频出采样脉冲的方法 | |
CN106301656B (zh) | 一种提高时间戳测量精度的方法及装置 | |
CN103616814A (zh) | 一种基于fpga的同步采样时钟闭环校正方法和系统 | |
CN109283864B (zh) | 一种数据采样的时间同步、校准方法和系统 | |
CN103713552B (zh) | 基于秒脉冲的自适应动态同步采样控制装置及其方法 | |
CN102902879B (zh) | 一种基于fpga硬件dft递推的同步相量计算方法 | |
CN105245203B (zh) | 高精度低速时钟占空比检测系统及方法 | |
CN202256483U (zh) | 一种gps秒基实时自适应均匀间隔采样同步数据采集装置 | |
CN106302014B (zh) | 宽量程高精度的信号测量方法 | |
CN103969500A (zh) | 智能电网模拟量采集装置、方法及系统 | |
CN104460311A (zh) | 时间校准方法及装置 | |
CN104181391A (zh) | 数字功率计谐波检测的方法 | |
JP5972450B2 (ja) | 信号処理装置 | |
CN105026938A (zh) | 信号处理装置 | |
CN103684358A (zh) | 采样脉冲生成方法和装置 | |
CN111625769A (zh) | 一种基于拉格朗日插值和三次指数平滑的pmu-scada数据对时与融合方法 | |
CN102928805A (zh) | 多表位数字化电能表校验仪 | |
CN207123716U (zh) | 一种脉冲信号时差测量装置 | |
CN103812731A (zh) | 一种数字化采样延时变频测量方法及测量系统 | |
CN103618501A (zh) | 基于fpga的交流采样同步倍频器 | |
Fubin et al. | The accuracy of IEEE 1588 time synchronization protocol and its improvement | |
CN101556325A (zh) | 快速电能误差检定方法 | |
CN104931826A (zh) | 模拟量输入式合并单元的相位误差测试装置及方法 | |
CN110928177B (zh) | 一种时钟同步系统及方法 | |
CN103884910A (zh) | 一种适用于频率偏移的电力系统相量计算方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |