当前位置:文档之家› 基于FPGA的高精度频率计设计实验报告

基于FPGA的高精度频率计设计实验报告

基于FPGA的高精度频率计设计实验
一.实验目的
1.熟悉数字存储示波器基本工作原理。

2.掌握硬件测频和测周的基本原理。

3.掌握在现有综合实践平台上开发DSO硬件频率计模块的方案及流程。

二.实验内容
1.结合数据采集、存储和触发模块的FPGA代码,理解DSO的基本工作原理。

2.编写FPGA代码完善DSO的频率计模块,实现高精度测频和测周功能。

三.预备知识
1.了解综合实践平台硬件结构。

2.熟悉Xilinx ISE Design Suite 1
3.2开发环境使用方法。

3.熟悉Verilog HDL硬件描述语言的语法及运用。

四.实验设备与工具
硬件:测试技术与嵌入式系统综合实践平台,
PC机Pentium100 以上,XILINX USB调试下载器。

软件:PC机Win XP操作系统,
Xilinx ISE Design Suite 13.2开发环境
五.实验步骤
1. 打开工程文件SYPT_FPGA.xise
2. 打开freq_measure.v和period_measure.v文件,先根据定义好的模块端口输入输出信号,结合测频和测周的原理,在提示添加代码处补充代码:
a. 测频模块(freq_measure.v)
测频模块的基本功能是测量闸门时间内被测信号的脉冲个数。

实现过程如下:
(1)由标准时钟计数产生一个预设闸门信号,然后用被测信号同步预设闸门信号产生实际闸门信号;
要求:预设闸门时间可根据用户选择信号(select_parameter)在50ms、100ms、1s、10s 中切换。

具体代码如下图。

(2)标准时钟和被测信号在实际闸门内计数。

标准时钟的计数结果N s放到mea_cnt_fs 中,被测信号的计数结果为N x放到mea_cnt_fx中,输出以上计数结果,并同时输出测频完成标志mea_flag,具体代码如下图。

b. 测周模块(period_measure.v)
测周模块的基本功能是把被测信号作为闸门信号,在它的一个周期的时间内,对标准时钟信号计数。

实现过程如下:
(1)被测信号相当于一个预设闸门信号,为了提高测量精度,采取扩大闸门时间25倍(即取被测信号25个周期为预设闸门信号);
(2)用标准时钟同步预设闸门信号产生实际闸门信号;
(3)在实际闸门内对标准时钟计数。

计数结果N o放到cnt_out中,输出计数结果,并同时输出测周完成标志mea_flag,以及测周计数溢出信号full_flag。

3. 添加完相关模块代码后,在左下方的小窗口中双击Generate Programming File,产生一个ut1000_top.bit在线调试下载文件,双击Configure Target Device,弹出Warning,点OK,此时打开了ISE iPACT,在左上方小窗口上双击Boundary Scan,右边窗口将出现一片空白处,点击右键Add Xilinx Device,在对应的E:/work/频率计设计实验/学生实验用未完成程序/PG1000/PG1000_FPGA_ADC目录下找到ut1000_top.bit,选中并打开,将鼠标移至打开的小图标上,点右键Program,如图6所示。

图6 Xilinx 仿真器配置
六. 思考题
1.计算本实验平台频率计模块的中界频率。

因为本实验中测周时选用的频标,即标准频率为010f MHz =。

由中频计算式m s o f f f =可知:
当测周时间数为50ms 时,73
110*14.1450*10m s o f f f kHz -=== 当测周时间数为100ms 时,73110*10100*10
m s o f f f kHz -=== 当测周时间数为1s 时,7110* 3.161
m s o f f f kHz === 当测周时间数为10s 时,7110*110m s o f f f kHz =
==
2.试分析并计算本实验平台频率计能测量的信号频率范围。

测频法适用于高频信号的频率测量,测周法适用于低频信号的频率测量。

当信号频率较高时,我们选用测频法,由直接测频
1*x x s
f N T =
知,其中s f 为被测信号频率,x N 为计数值,s T 为闸门时间。

由上式知,x f 与s T 成反比,本实验平台内,x N 为32位计数器,所以,x f 最大为85.893GHz
同理可知,该平台测周最新为0.037Hz
该实验平台的测试信号的频率范围为0.037~85.893Hz GHz 。

相关主题