一种基于FPGA的高精度频率采集方法及装置与流程

文档序号:20274970发布日期:2020-04-03 19:31阅读:947来源:国知局
一种基于FPGA的高精度频率采集方法及装置与流程

本发明属于电气测量技术及仪器领域,涉及一种基于fpga的高精度频率采集方法及装置。



背景技术:

远程接口单元(以下简称riu)是一个隶属于机电系统,用于完成对与其交联机电子系统的状态采集、输出控制,是系统的重要功能部件。随着飞机技术的发展,远程接口单元采集的信号种类和数量日益增多,且对信号的采集精度要求越来越高。

机上交流电源监测,发动机转速测量等都是以频率信号的形式采集的。传统的测量方法是对于高频的输入信号采用测频法,对于低频的输入信号采用测周法,而这两种方法的测量精度都受输入信号的影响较大,本发明从机载产品的实际应用角度出发,设计开发了一种基于fpga的等精度测频模块,该模块具有对可编程逻辑器件的资源消耗低,方便移植,频率采集精度高,闸门时间配置方便等特点。



技术实现要素:

为了适应机载产品对宽范围频率信号的采集需求,保证频率采集的精度,方便基于fpga的频率采集开发,设计本发明。

本发明的技术方案如下:

一种基于fpga的高精度频率采集方法,包括以下步骤:

步骤1在闸门时间t内分别对被测信号和标准信号进行计数,获得被测信号个数n1和标准信号个数n2;

步骤2计算出被测信号的频率f;

其中f0为标准信号的频率;

优选的,所述的一种基于fpga的高精度频率采集方法,还包括误差修正步骤,

通过高精度示波器对标准信号进行测量获得标准信号的相对误差为δs,对被测信号的频率f进行如下误差修正,修正后的频率为f":

f”=f*(1-δs)

优选的,所述的一种基于fpga的高精度频率采集方法,在所述步骤1之前还包括以下前置步骤:

步骤a配置预置闸门时间t;

步骤b将被测信号与标准信号进行同步;

优选的,所述的一种基于fpga的高精度频率采集方法,所述步骤a预置闸门时间t,具体包括通过配置时间信号tcfg配置预置闸门时间t,所述配置时间信号tcfg由以下公式可得:

其中sysclk为系统时钟频率,单位为hz。

优选的,所述的一种基于fpga的高精度频率采集方法,所述步骤1具体包括以下步骤:

步骤1.1检测被测信号的上升沿,启动被测信号计数器和标准信号计数器分别进行计数;

步骤1.2当预置闸门时间t到达后,在输入信号的下一个上升沿关闭闸门,关闭闸门时停止对被测信号和标准信号的计数。

优选的,所述的一种基于fpga的高精度频率采集方法,所述步骤1.2还包括,当实际闸门时间超过10s时被测信号的上升沿还未到达,则强制关闭闸门。

本发明的另一方面,还提供一种基于fpga的高精度频率采集装置,包括同步电路模块、闸门时间模块、计数控制模块、计数器,所述计数器包括被测信号计数器和标准信号计数器;

所述同步电路模块接收被测信号,并将被测信号与标准信号同步;

所述闸门时间模块配置预置闸门时间t;

所述计数控制模块根据预置闸门时间t和被测信号的上升沿控制计数器开始和停止计数;

所述被测信号计数器对被测信号计数;

所述标准信号计数器对标准信号计数。

综上分析,本发明中提及的一种基于fpga的高精度频率采集装置,可方便的移植到不同平台不同型号的可编程逻辑器件上,且不需要对硬件设计进行更改,只通过逻辑更改就可以可显著提高频率采集的精度,具有很大的实用价值。

附图说明

图1本发明提供的频率采集方法原理示意图;

图2本发明提供的频率采集装置原理示意图。

具体实施方式

下面结合附图并通过具体的实施方式对本发明作进一步的详细说明。

根据图2所示等精度测频模块软核原理框图,在逻辑设计的顶层文件中实例化等精度测频模块,并确认输入输出信号的连接关系,本模块的使用包括如下步骤:

等精度测频模块原理,其最大的特点是实际闸门时间并不是一个固定值,而是一个与被测信号有关的值,且正好是被测信号周期的整数倍。

启动测量后,对被测信号进行同步,当被测信号的上升沿到达后,开启两个计数器分别对被测信号和标准信号进行计数,同时对预置闸门时间进行判断,当预置闸门时间到达配置值且被测信号的下一个上升沿到达时两个计数器停止计数。

假设在一次测量中,实际闸门时间为t,被测信号计数器和标准信号计数器的计数值分别为n1和n2,标准信号的频率为f0,根据标准信号的频率值及这两个计数值就可以计算出被测信号的频率f:

测频模块设计,等精度测频模块主要由输入信号同步电路,预置闸门时间配置电路,计数器控制电路,计数器n1和计数器n2组成。

预置闸门时间,应根据输入信号频率范围和频率采集更新速率的要求来计算合适的预置闸门时间。

预置闸门时间t(单位:ms)可以通过配置时间信号tcfg进行配置,配置范围为1~65535。对应的配置时间可以通过下面公式计算得出:

其中sysclk为系统时钟频率,单位为hz。

实际应用中根据测量需要,在软件中可以动态调整该模块的预置闸门时间以满足对刷新率要求更高的场合。

为了测量的准确性,需要保证实际闸门时间为被测信号周期的整数倍,因此模块中对被测信号进行同步,使得闸门的开启时刻与输入信号同步。

检测同步后被测信号的上升沿,启动对被测信号和标准信号的计数器进行计数。当预设闸门时间到达后,在输入信号的下一个上升沿关闭闸门,同时停止对被测信号和标准信号的计数。

由于对输入信号做了同步处理,就可以保证实际闸门时间是被测信号周期的整数倍。

将被测信号两次上升沿之间对被测信号的计数值锁存在寄存器n1,对标准信号的计数值锁存在寄存器n2中。

为了保证频率采集的准确性,模块内部对输入信号频率低于1hz的情况做了边界处理。当实际闸门时间超过10s,输入信号的上升沿还未到达时强制关闭闸门,以确保n2的计数值不会溢出。

在逻辑设计的顶层文件中实例化等精度测频模块,获取输出信号n1和n2的值,根据步骤3中的频率计算公式可以计算出被测信号的频率。

标准信号一般由高精度的时钟源提供,若忽略标准信号的频率误差,而实际测量中闸门时间的启动和停止又都是由被测信号的上升沿触发的,所以在闸门时间内对被测信号的计数值n1没有误差,只有对标准信号的计数值存在±1的计数误差,用δn表示。被测信号的实际频率为:

频率测量误差为:

测量频率的相对误差与被测信号频率的大小无关,仅与闸门时间和标准信号频率有关,即实现了整个测试频段的等精度测量。采用等精度测量法测量频率时,所选择的闸门时间越长,标准信号频率越高,测频的相对误差就越小。

以闸门时间500ms,标准时钟50mhz为例,由式(6)可得,等精度法测频误差应小于:

在实际使用中系统时钟并不是理想的标准信号。通过高精度示波器对标准信号进行测量,假设标准信号的相对误差为δs,对测量结果可进行如下误差修正:

f”=f*(1-δs)。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1