基于FPGA的等精度频率计

其它

Mr.D 01-04
4 0

由于直接测量法无法同时兼顾高频信号和低频信号的测量,所以设计相对麻烦且误差相对较大,因此产生了等精度测量法,该法具有在测量量程内误差率一致并且可控、精度等优点,被广泛采用。


本设计主要采用以Digilent Basys3为核心的FPGA,辅以模拟电路+STM32的架构。模拟电路完成了信号缩放、信号整形与数模转换等;FPGA主要完成了数据采集与预处理,STM32则进一步处理并显示;编程采用Verilog语言,1Hz-65MHz左右的信号频率均能被检测,精度只差十万分之一。


等精度测频法是将标准频率信号与待测信号输入到两个计数器进行同步计数。测量时单片机先预置闸门时间T,当闸门开启时,等待被测信号触发沿到来,计数器开始计数。预置闸门时间结束时,计数器并不立即停止而是等被测信号下一个同相位触发沿到来才关闭同步门并停止计数。可见实际闸门时间是被测信号周期的整数倍,即与被测信号同步。本项目主要包括以下模块: 

1)模拟电路模块

当信号幅度小于50mVrms时,信号太小,需要经过放大器模块,此后,如果测量信号频率,则放大器输出信号接到比较器模块。当信号幅度大于400mVrms时,对于测量频率来说,信号太大,需要经过衰减器模块,此后,如果测量信号频率,则衰减器输出信号接到比较器模块。在50mVrms~400mVrms范围,直接接入比较器输入即可。


2)FPGA模块

数字信号进入FPGA,采集并测量相关参数。比较器的两路输出信号分别与频率测量模块、时间间隔测量模块、占空比测量模块挂钩,ADC的数据及拨码开关状态与波形数据的采样和存储直接相关。这些数据最后都由与STM32数据传输这一模块交给单片机处理。


3)显示模块

单片机在上电初始化完成后,会根据当前的模块,不断从FPGA获取相关数据并显示结果。在一轮显示完成后,会根据模式进行下一轮数据读取与显示。


项目Demo视频请点击首图浏览。

项目采用平台:

由于直接测量法无法同时兼顾高频信号和低频信号的测量,所以设计相对麻烦且误差相对较大,因此产生了等精度测量法,该法具有在测量量程内误差率一致并且可控、精度等优点,被广泛采用。


本设计主要采用以Digilent Basys3为核心的FPGA,辅以模拟电路+STM32的架构。模拟电路完成了信号缩放、信号整形与数模转换等;FPGA主要完成了数据采集与预处理,STM32则进一步处理并显示;编程采用Verilog语言,1Hz-65MHz左右的信号频率均能被检测,精度只差十万分之一。


等精度测频法是将标准频率信号与待测信号输入到两个计数器进行同步计数。测量时单片机先预置闸门时间T,当闸门开启时,等待被测信号触发沿到来,计数器开始计数。预置闸门时间结束时,计数器并不立即停止而是等被测信号下一个同相位触发沿到来才关闭同步门并停止计数。可见实际闸门时间是被测信号周期的整数倍,即与被测信号同步。本项目主要包括以下模块: 

1)模拟电路模块

当信号幅度小于50mVrms时,信号太小,需要经过放大器模块,此后,如果测量信号频率,则放大器输出信号接到比较器模块。当信号幅度大于400mVrms时,对于测量频率来说,信号太大,需要经过衰减器模块,此后,如果测量信号频率,则衰减器输出信号接到比较器模块。在50mVrms~400mVrms范围,直接接入比较器输入即可。


2)FPGA模块

数字信号进入FPGA,采集并测量相关参数。比较器的两路输出信号分别与频率测量模块、时间间隔测量模块、占空比测量模块挂钩,ADC的数据及拨码开关状态与波形数据的采样和存储直接相关。这些数据最后都由与STM32数据传输这一模块交给单片机处理。


3)显示模块

单片机在上电初始化完成后,会根据当前的模块,不断从FPGA获取相关数据并显示结果。在一轮显示完成后,会根据模式进行下一轮数据读取与显示。


项目Demo视频请点击首图浏览。

项目采用平台:

我要评价