等精度频率测量报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实值 fx 12.0141 Hz 132.062 Hz 652.114 Hz 3.12078 KHz 48.211359 KHz 99.215158 KHz
显示结果 12.0170 Hz 132.122 Hz 652.130 Hz 3.120687 KHz 48.2117 KHz 99.2241KHz
引言:现代数字系统的设计离不开各种先进的仪器,比如数字示波器、逻辑 分析仪、频谱分析仪、信号发生器、数字频率计等。数字频率计是一种及其常用 的工具,用于检测输入周期信号的频率。随着大规模集成电路的发展,很多芯片 内部也集成了数字测频单元,大大增强了芯片处理数字信号的能力。数字频率计 广泛应用于航天、电子、测控等领域。例如,在传统的生产制造企业中,频率计 被广泛的应用在产线的生产测试中。频率计能够快速的捕捉到晶体振荡器输出频 率的变化,用户通过使用频率计能够迅速的发现有故障的晶振产品,确保产品质 量;在计量实验室中,频率计被用来对各种电子测量设备的本地振荡器进行校准; 在无线通讯测试中,频率计既可以被用来对无线通讯基站的主时钟进行校准,还 可以被用来对无线电台的跳频信号和频率调制信号进行分析。采用等精度频率测 量方法具有测量精度保持恒定的特点。[3]
if res = '1' then q1<=0;q2<=0;q3<=0;q4<=0;q5<=0;q6<=0;q7<=0;q8<=0;
else if (high_or_low='0')then
q1<=data8;q2<=data7;q3<=data6;q4<=data5;q5<=data4;q6<=data3;q7<=data2;q
en,fc:in std_logic;
11
f_out:out std_logic); end a; architecture behave of a is signal count:integer range 0 to 10000; signal c:std_logic; begin
process(en,fc) begin
|误差|=1/(T*fs)≤0.1%,预闸门脉宽 T 为 1s,fs 为 10KHz,误差约为万分之
4
一。[4] 基于 FPGA 方案选择:
方案一:Fx=N*fs。在门限时间内,用计数器计数,获得数值 N,频率由于公式 计算得出。此方案为传统的测频方案,虽然简单但是其测量精度将随被测信号频 率的下降而降低。
数字系统设计实践 实验报告(三)
实验名称: 班 级: 学生姓名: 学 号: 完成日期:
等精度频率测量 通信 113 胡挺 116040222 2013-05-24
1
目录
绪论
0.1 引言摘要
3
0.2 关键词
3
0.3 论证最佳方案
3
一、实验任务及要求
5
1.1 设计任务及要求
5
1.2 门控计数法测量原理
1.1 设计任务及要求
(一)任务 设计一个简易等精度频率计。
(二)要求 a.测量原理 多周期同步测量(等精度测量) b.测量范围 信号:方波;幅度:TTL 电平 频率:1Hz~1MHz c.测试误差 ≤0.1%(全量程)
** 闸门时间:~1s,响应时间:~2s 乘除运算:单片机、FPGA、计算器 计算:时钟频率 扩展:脉宽、周期、占空比测量 显示:十进制
if en='0' then f_out<='0'; count<=0;
elsif(fc'event and fc='1') then if(count<10000)then count<=count+1; else count<=0; c<=not c; end if;
end if; f_out<=c; end process; end behave;
误差计算 0.02% 0.05% 0.002% 0.003% 0.001% 0.009%
14
经系统测试,所设计的等精度频率计测量范围达到:1Hz~1MHz,全量程误差≤ 0.1%。达到基本设计要求。
附录
参考文献:
[1]毛智德.基于 FPGA 的等精度频率计设计[J].电子测量技术,2007,29(4):85-86. [2]刘勉,王革思,弈宗琪.基于 FPGA 的频率计设计与实现 [J].信息技术,2009-12:171-174. [3]李金平,沈明山,姜余祥.电子系统设计 [M].北京:电子工业出版社,2007-8:236-333. [4]刘德亮,王竹林,尉广军.基于 FPGA 高精度频率测量仪的设计 [J].河北工业科技,2010-1: 30-31.
1.2 门控计数法测量原理
由一个“门控”信号控制“闸门”的开启(允许计数)和关闭(计数停止),闸 门可由与(或)门逻辑电路实现。
5
在闸门时间 Ts 内,计数器计数 N,则被测信号频率为: 1.3 测量误差的来源
1. 量化误差:由于计数值 N 为整数,fx 产生“截断误差”,也称为“±1 误差”。 2. 触发误差:输入信号经放大、整形成脉冲信号的过程中,产生触发点的变化 3. 标准频率误差:时基稳定度形成的误差。
13
8<=data1; else q7<=data10;q8<=data9;q6<=0;q5<=0;q4<=0;q3<=0;q1<=0;q2<=0; end if; end if;
end process; end a;
2.4 引脚分配设置
3.1 实验数据
三、系统百度文库试
部分实验数据
系统时钟 fc 10KHz
reg_clk:in std_logic; reg_in:in std_logic_vector(13 downto 0); reg_out:out std_logic_vector(13 downto 0)); end reg2; architecture behave of reg2 is begin process(reg_clk) begin
方案二:等精度测频,按定义式 Fx/Nx=fc/Nc 进行测量。被测信号和标准信号, 在相同门限时间内,同时分别计数,而后对比得出被测信号频率 Fx。此方案测 频精度将不会随被测信号频率的下降而降低;在相同的门限时间内测量精度恒定 不变。
综上所述,选用第二种测频方案,即等精度测频。
一、实验任务及要求
if(reg_clk'event and reg_clk='0')then reg_out<=reg_in;
end if; end process; end behave;
12
第二个寄存器: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity reg2 is port(
5.运算模块:
模块说明: Fx=Nx*fc/Nc,先将 Nc*10K,然后放大 1000 倍,将小数部分升为整数部分,保 证计算的精度。1M 小于 1024*1024,即 2 的 20 次方,而且十进制的 1000000 转 成 二 进 制 的 11110100001001000000 需 要 20 位 , 换 言 之 二 进 制 的 11111111111111111111 转成十进制的 1048575 为理论最大被测频率 1.04MHz,同 理 10K——10011100010000,要 14 位。
15
寄存器模块
第一个寄存器: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity reg is port(
reg_clk:in std_logic; reg_in:in std_logic_vector(19 downto 0); reg_out:out std_logic_vector(19 downto 0)); end reg; architecture behave of reg is begin process(reg_clk) begin
6
二、系统设计
2.1 原理图输入顶层设计
2.2 系统各模块
1.输入模块
模块说明: En 系统清零端,en=0 时清零
7
Fx 由信号发生器产生被测的方波信号 Fc 芯片外时钟发生器,根据误差要求设定为 10KHz high_or_low :等于 0 时输出所得结果前八位,反之输出剩下的两位
2.分频器模块:
data1,data2,data3,data4,data5,data6,data7,data8,data9,data10:in integer range 0 to 9;
res: in std_logic; high_or_low:in std_logic; q1,q2,q3,q4,q5,q6,q7,q8: out integer range 0 to 9); end shuchu; architecture a of shuchu is begin process (data1,data2,data3,data4,data5,data6,data7,data8,data9,data10,high_or_low) begin
6.除法器进制转化模块:
9
做成宏模块以后显示如下:
10
7.控制输出模块:
2.3 系统各模块 VHDL 语言设计 分频器模块 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity a is port(
if(reg_clk'event and reg_clk='0')then reg_out<=reg_in;
end if; end process; end behave;
输出模块
library ieee; use ieee.std_logic_1164.all; entity shuchu is port(
5
1.3 测量误差的来源
6
二、 系统设计
7
2.1 原理图输入顶层设计
7
2.2 系统各模块
7
2.3 系统各模块 VHDL 语言设计
11
2.4 引脚分配设置
14
三、 系统测试
14
3.1 部分数据
14
附录
15
2
绪论
0.1 引言摘要
摘要:基于传统测频原理的频率计的测量精度将随着被测信号频率的下降而 降低,在实用中有很大的局限性,而等精度频率计不但有较高的测量精度,而且 在整个测频区域内保持恒定的测试精度。运用等精度测量原理,结合单片机技术 设计了一种数字频率计,由于采用了屏蔽驱动电路及数字均值滤波等技术措施, 因而能在较宽定的频率范围和幅度范围内对频率,周期,脉宽,占空比等参数进 行测量,并可通过调整闸门时间预置测量精度。[1]选取的这种综合测量法作为 数字频率计的测量算法,提出了基于 FPGA 的数字频率计的设计方案。给出了该 设计方案的实际测量效果,证明该设计方案切实可行,能达到较高的频率测量精 度。[2]
模块说明: 由 Fc 作为时钟脉冲,仿照单片机的延时电路和计数器,Tc=1/10000s,跳 10K 下 控制输出翻转一下,从而产生脉宽为 1s 的门控信号。
3.同步电路模块:
模块说明: 产生同步的闸门脉冲信号。
4.门控闸门计数模块:
8
模块说明: 利用计数器分别求出在 1s 的门控信号内被测信号 fx 与系统时钟 fc 所经过的个数 Nx 和 Nc,同步后的 fx 和 fc 分别上升沿触发两个计数器计数,等将数据存入寄 存器后,两计数器延时清零,准备下一次任务。位数说明见运算模块。
0.2 关键词
等精度测量,单片机,频率计,闸门时间,FPGA
0.3 论证最佳方案
方案一: 基于单片机
3
方案二: 基于 FPGA。
方案选择: 由于单片机的使用不是很熟练,所以选择使用 FPGA。即方案二,如下操作
严格按照上述设想进行设计。 方案说明: 输入端: 显示器清零端 clr 外部被测信号 Fx 输出端: 以十进制的形式显示被测信号的频率 误差估计: 误差与被测频率 fx 无关,这就是等精度测量方法。
相关文档
最新文档