1、等精度频率测量汇编

合集下载

《等精度频率计》课件

《等精度频率计》课件
误差来源
分析等精度频率计测量误差的主要来源,如信号源的频率稳定度、 计数器的计数误差等。
误差传递
研究误差在测量过程中的传递规律,为减小误差提供依据。
误差补偿
根据误差ห้องสมุดไป่ตู้析结果,采取相应的补偿措施,减小等精度频率计的测量 误差。
04
等精度频率计的性能测 试与评估
测试环境与设备
测试环境
实验室环境,确保电源稳定、温度适 宜、湿度适中。
应用领域拓展
通信领域
等精度频率计在通信领域的应用越来越广泛,如信号发生器、频 谱分析仪等。
测量测试
等精度频率计在测量测试领域的应用也越来越广泛,如时间频率测 量、电子元件测试等。
物联网领域
等精度频率计在物联网领域的应用也越来越广泛,如智能家居、智 能农业等。
未来发展方向
更高精度
随着科技的发展,对频率计的测量精度要求越来越高,未来等精 度频率计将向更高精度方向发展。
02
它采用等精度测量技术,消除了传统频率计由于时基不稳定而
引起的测量误差。
等精度频率计具有广泛的应用,如电子测量、通信、雷达、导
03
航等领域。
等精度频率计的原理
等精度频率计基于等精度测频 原理,采用高稳定的晶体振荡 器作为时基,对输入信号进行
计数和测量。
它通过计数输入信号在一定 时间内的周期数,再根据时 基的频率计算出输入信号的
宽测量范围
等精度频率计能够测量低频信 号和高频信号,测量范围较广 。
可扩展性
等精度频率计可以与其他测量 仪器进行集成,实现更复杂的 测量功能。
02
等精度频率计的应用
测量信号频率
测量信号频率是等精度频率计的基本 应用,它可以准确测量各种信号源的 频率,包括正弦波、方波、脉冲波等 。

等精度测频原理的频率计27页PPT

等精度测频原理的频率计27页PPT

60、生活的道路一旦选定,就要勇敢地 走到底 ,决不 回头。 ——左
ห้องสมุดไป่ตู้
56、书不仅是生活,而且是现在、过 去和未 来文化 生活的 源泉。 ——库 法耶夫 57、生命不可能有两次,但许多人连一 次也不 善于度 过。— —吕凯 特 58、问渠哪得清如许,为有源头活水来 。—— 朱熹 59、我的努力求学没有得到别的好处, 只不过 是愈来 愈发觉 自己的 无知。 ——笛 卡儿
等精度测频原理的频率计
16、人民应该为法律而战斗,就像为 了城墙 而战斗 一样。 ——赫 拉克利 特 17、人类对于不公正的行为加以指责 ,并非 因为他 们愿意 做出这 种行为 ,而是 惟恐自 己会成 为这种 行为的 牺牲者 。—— 柏拉图 18、制定法律法令,就是为了不让强 者做什 么事都 横行霸 道。— —奥维 德 19、法律是社会的习惯和思想的结晶 。—— 托·伍·威尔逊 20、人们嘴上挂着的法律,其真实含 义是财 富。— —爱献 生

等精度频率测量方法

等精度频率测量方法

等精度频率测量方法作者:陈兵清来源:《商情》2013年第38期【摘要】本文主要论述了利用FPGA(Field Programmable Gate Array,现场可编程门阵列)进行测频计数,单片机实施控制实现频率计的设计过程。

该频率计利用等精度的设计方法,克服了基于传统测频原理的频率计的测量精度随被测信号频率的下降而降低的缺点。

等精度的测量方法不但具有较高的测量精度,而且在整个频率区域保持恒定的测试精度。

【关键词】FPGA VHDL 频率测量单片机一、硬件电路设计(一)系统顶层电路设计等精度数字频率计涉及到的计算包括加、减、乘、除,耗用的资源比较大,用一般中小规模的FPGA芯片难以实现。

因此,我们选择单片机和FPGA的结合来实现单片机完成整个测量电路的测试控制、数据处理和显示输出;FPGA完成测频功能。

显示电路采用7段LED动态显示,由单片机P2口直接驱动。

等精度频率计主要由由以下几个部分构成:信号放大整形电路:用于对待测信号进行放大整形,以便作为FPGA的输入信号。

测频电路:是测频的核心模块,由FPGA担任。

单片机模块:用于控制FPGA的测频操作和读取测频数据,并发出相应数据处理。

安排单片机的P0口直接读取测试数据。

控制命令从P1口或是P3的相关口线发出。

20MHz的标准频率信号源:本模块采用倍频技术,倍频出一个100MHz标准频率信号源,产生100MHz的标准频率给FPGA使用。

数码管显示模块:采用8个7段LED动态显示,使用P2口作为段信息的输出,使用P1口的低四位控制串行移位寄存器的三个输入及CLK端,实现LED的动态扫描。

(二)FPGA测频模块逻辑设计与单片机的接口按照如下方式连接:单片机的P0口接8位数据DATA[7..0],负责读取测频数据;START信号输出到单片机的P3.2口线,通过中断的方式来判断计数是否结束,以确定何时可以读取数据;P1.6,P1.5和P1.4与SEL[2..0]相接,用于控制多路数据选择器,当SEL分别为“000”、“001”、“010”、“011”时,由低8位到高8位读出标准频率计数值;当SEL分别为“100”、“101”、“110”、“111”时,由低8位到高8位读出待测频率计数值。

等精度测频原理频率计

等精度测频原理频率计

学号:课程设计题目采用等精度测频原理的频率计学院信息工程学院专业通信工程专业班级姓名指导教师2015 年1月15日课程设计任务书学生姓名:专业班级:指导教师:工作单位:信息工程学院题目: 采用等精度测频原理的频率计初始条件:本设计既可以使用集成译码器、计数器、定时器、脉冲发生器和必要的门电路等。

本设计也可以使用单片机系统构建多功能数字钟。

用数码管显示时间计数值。

要求完成的主要任务: (包括课程设计工作量及技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周。

2、技术要求:①设计一个等精度测频原理的频率计。

②频率测量范围1~9999。

③其精度为10的-4次方。

④用四位带小数点数码管显示其频率。

⑤具有超量程、欠量程提示功能。

⑥确定设计方案,按功能模块的划分选择元、器件和中小规模集成电路,设计分电路,画出总体电路原理图,阐述基本原理。

3、查阅至少5篇参考文献。

按《武汉理工大学课程设计工作规范》要求撰写设计报告书。

全文用A4纸打印,图纸应符合绘图规范。

时间安排:1、2014 年12 月5日集中,作课设具体实施计划与课程设计报告格式的要求说明。

2、2014 年12 月6日,查阅相关资料,学习电路的工作原理。

2、2014 年12 月7 日至2014 年12 月31日,方案选择和电路设计。

2、2015 年1 月1 日至2015 年 1 月6 日,电路调试和设计说明书撰写。

3、2015 年 1 月7 日上交课程设计成果及报告,同时进行答辩。

课设答疑地点:鉴主15楼电子科学与技术实验室。

指导教师签名:年月日系主任(或责任教师)签名:年月日摘要伴随着集成电路(IC)技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。

电子设计自动化是一种实现电系统或电子产品自动化设计的技术,它与电子技术、微电子技术的发展密切相关,它吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,促进了工程发展。

十八、等精度频率测量

十八、等精度频率测量

等精度频率测量一、设计背景介绍等精度频率测量有两个计数器,一个对标准频率时钟计数,另一个对被测频率时钟计数,计数器的ctrl输入端是使能输入,用于控制计数器计数的长度;clr输入端是同步清零输入。

测量开始之前首先clr置高电平,使所有寄存器和计数器清零。

然后由外部控制器发出频率测量使能信号,即使ctrl为高电平,而内部的门控信号ena 要到被测脉冲的上升沿才会置为高电平,同时两个计数器开始计数。

当ctrl持续一段时间之后,由外部控制器置为低电平,而此时ena信号仍将保持下一个被测脉冲的上升沿到来时才为0,此时计数器停止工作。

这样就使得计数器的工作时间总是等于被测信号的完整周期,这就是等精度频率测量的关键所在。

比如在一次测量中,被测信号的计数值为Nt,对基准时钟的技术值为Nr,设基准时钟的频率为Fr,则被测信号的频率为Ft = Fr×Nt÷Nr。

最后两个计数值传输到主控制器中计算得到被测信号的频率。

(本设计参阅《数字系统设计与Verilog HDL》(第四版)P354相关内容。

)二、设计要求:1、熟悉等精度频率测量的工作原理,2、给出工作流程及子模块的构成,3、利用Verilog HDL设计等精度频率测量电路,给出详细设计过程4、编写测试程序,5、在EDA工具上仿真功能和时序的正确性,6、给出仿真时序,7、撰写课程设计报告三、设计方案与源程序说明//等精度频率测量Verilog源代码。

module freq_ms_djd( input clk_ref, //参考时钟input clk_test, //被测信号input enable, //全局使能output reg[31:0] refer, //参考计数值output reg[31:0] test); //被测计数值reg ena; //等精度门控信号reg clr; //清零信号reg tgate; //时间门控信号reg[31:0] timer; //计时器信号reg[31:0] ref_cnt; //参考计数器reg[31:0] test_cnt; //被测计数器always @ (posedge clk_ref) //计时器:100MHz时钟,计时2s beginif(enable==0) begin timer<=32'd0;endelse beginif(timer==32'd200000001) begin timer<=32'd0;endelse begin timer<=timer+1;endend endalways @ (negedge clk_ref) //时间门控信号:tgate,清零信号:clr begin if(~enable) begin clr<=1;tgate<=0;endelse beginif(timer==32'd100000000) begin t gate<=0;endelse beginif(timer==32'd200000000) begin c lr<=1;endelse beginif(timer==32'd200000001)begin clr<=0;tgate<=1;endendend endend// 等精度门控信号产生:从tgate到ena,由被测信号clk_test触发always @(posedge clk_test or posedge clr)beginif(clr==1) begin ena<=1'b0;endelse begin ena<=tgate;endendalways @(negedge ena) //每2s更新一次输出begin refer<=ref_cnt;test<=test_cnt;endalways @(posedge clk_ref or posedge clr) // 参考时钟计数器beginif(clr==1) begin ref_cnt<=32'd0;endelse if(ena) begin ref_cnt<=ref_cnt+1;endendalways @(posedge clk_test or posedge clr) //被测信号计数器beginif(clr==1) begin test_cnt<=32'd0;endelse if(ena) begin test_cnt<=test_cnt+1;endendendmodule。

等精度测频法

等精度测频法
等精度测频法

频率测量是电子测量领域中最基本、最重要的测量之 一。主要有直接计数法、周期测频法、混合测频法和等精 度侧频法等测频原理。 • 上述前三种测频方法有一个共同点, 即测频误差随的 变化而发生较大的变化。最后一种方法就是使测频误差不 随被测信号频率变化的方法, 即等精度测频法。

fx
其原理框图如下图
计数器1 同步及门控
运算控制器 fc 计数器2
预置导通时间
• 如图1所示, 计数器1、2的闸门时间是相等的,T'为闸门导 通的预置时间, 可以根据需要设置。但是T'不一定是Tx的 整数倍, 因此必须通过同步及门控电路控制闸门的实际导 通时间T'使它为Tx 的整数倍。这样在相同的时间T内计数 器1、2分别对fx、fc计数,其结果为Nx=Tfx,Nc=Tfc,因 此,fx=Nxfc/Nc,那么 • 由于T为Nx周期的整数倍,因而式中第一项Nx的正负1误 差为0,即ΔNx/Nx=0,第三项为频率准确度,若忽略该 项误差,则 • 显然γ尺与计数器2对fc计数产生的正负1误差有关,

等精度测频

等精度测频

现代电子技术实验(EDA)等精度频率计综合报告吕佳电子信息科学与技术物电学院2010年6月20日电工电子中心2009年5月绘制等精度频率计实验总结报告一.实验内容前面简易数字频率计测量精度随着被测信号频率的不同而不同,误差1/fx ,当测量1Hz 信号时,误差可能是100%。

设计一个等精度频率计,使 测量结果与被测信号频率不同,而与基准频率有关。

首先设定一个基准频率,根据相同的时间,基准频率F b 和被测信号频率F x 计数的个数分别为N b ,N x ,利用公式NxFxNb Fb ,可以求出F x 。

二.方案设计设计方案原理框图如下:最后一个模块为数据处理部分,有两种处理方式: 1、用maxplus2自带的乘除法模块来处理数据,如下图:虽然此种方法便于理解,但是此模块的使用有限,不能够进行较高位数的运算,否则编译会出错。

2、用FPGA与单片机通信的方法,将测出来的数据送入单片机处理,然后将得出的结果送入FPGA中显示。

(后面主要介绍这种方法)。

其原理图如下:三.实验步骤第一阶段:按照等精度原理框图将各个模块生成1、D触发器:用来控制计数的开始和计数的停止,因为计数的开始和停止都是在被测频率的上升沿到来时起作用的,所以测量时间一定是被测频率的整数倍个,这就保证了被测频率所记的个数一定是整数个。

其代码如下:module mydff(D,clk,prn,clrn,Q);input D,clk,prn,clrn;output Q;reg Q;always @(posedge clk or negedge prn or negedge clrn)if(!prn) Q=1; //低电平置1else if(!clrn) Q=0; //低电平置0else Q=D;endmodule3、计数器(此处最好使用maxplus2自带的计数器)3、将计数的次数送给单片机:因为上面定义32位的计数器,所以数据传送是通过总线进行读写的,所以每次只能传送8位,所以传送一个数需要读数据,这个阶段主要有两个模块:一、将数据拆开;二、单片机从FPGA中读数据。

等精度法测频测量原理M法

等精度法测频测量原理M法

等精度法测频一、 测量原理M 法、T 法的测量精度不仅取决于基准时间和计数器的计数误差,还取决于频率的高低,频率不同则精度不一样,M 法在高频段的准确度相对较高,T 法在低频段的准确度较高.M/T 法(等精度测量法)则在整个测试频段的精度一样,闸门信号是被测信号周期的整数倍,即与被测信号同步,因此大大减少了误差,但由于只与被测信号同步,而不与标准时钟同步,因此还是存在着±1计数误差.其测频原理图如图1所示,误差计算为'00000||||11100%x x x f f M f M M t f σ-∆=⨯=≤= 式中:x f 是被测信号频率真实值,'x f 是被测信号频率测量值,0t 为闸门时间,0f 为标准时钟频率。

由上式可知,误差与闸门时间和标准时钟频率有关,闸门时间越长,标准时钟频率越高,误差越小。

由于用等精度测频法时所采取的标准时钟频率比较高(10MHz 以上),因此±1计数误差相对很小。

二、 基于FPGA 的实现采用FPGA 设计,主要产生如下时序: StartClrTclkLockFclk其中,Start 作为闸门信号,Clr 是清零信号,Tclk 是被测信号,Lock 是锁存信号,Fclk 是标准频率信号。

当检测到Start 为高时,测量开始。

开始后Tclk 的第一个周期将Clr 和Lock 置高,将两个计数器全部清零。

当下一个Tclk 上升沿来临时将Clr 置低,同时开启两个计数器,开始计数。

待检测到Start 为低时,在Tclk 的下一个上升沿停止计数,将结果锁存,得到N t 和N 0,则可换算出被测信号的频率为:00t t N f f N = 测量电路如下:仿真时,clk1周期为20ns,频率为50M;clk2周期为203ns,频率为4.92611M。

当gate取值为50us时仿真结果波形如下,计算得测量的频率为4.92620M,误差为0.00009MHz.当gate取值为100us时仿真结果波形如下,计算得测量频率为4.92606M,误差为0.00005MHz。

1、等精度频率测量解析

1、等精度频率测量解析

二、 等精度频率计的测量过程
1. 测量准备 P1.3发出复位信号,使计数器清零;同时P1.1也发复位信号,使同步D触 发器的Q 端为低电平,则主门Ⅰ和主门Ⅱ关闭。这时P1.0的初状态为“1”,使 D触发器的D 2. 测量开始 P1.0从高电平跳到低电平,使D触发器的D端为“0”,这时被测信号一旦 到达CK端,触发器Q立即由“0”→“1”,同步门被打开,被测信号和时间信号分 别进入相应的计数器进行计数。的P1.0从高电平跳到低电平的同时,也启动了
(3)中界频率
测频误差及测周 10- 1
误差与被测信号频率 的关系如图示,图中 10- 2 测频和测周两条误差 10- 3
曲线交点所对应的频 10- 4
率称中界频率fxm 。10- 5
N N
测频 量化 误差
闸门T=0.1 s 1 s 10 s
10- 6
测周 量化 误差
0.1 s 10 ns 时标 1 ns
等精度测量法的时序波形图
预置闸门时间产生电路产生预置的闸门时间TP,TP经同 步电路产生与被测信号(fx)同步的实际闸门时间T。
主门Ⅰ与主门Ⅱ在时间T内被同时打开,于是计数器Ⅰ 和计数器Ⅱ便分别对被测信号 (fx)和时钟信号(f0)的周 期数进行累计。
在T内,计数器Ⅰ的累计数NA=fx×T;计数器Ⅱ的累计数NB=f0×T。
2. 通道部分
主要由放大、整形和 一个十分频的预分频电路 组成。本机设计测频范围
20Hz~100MHz,当 被测频率大于10MHz时, 需先经预分频电路分频后 再送入计数器电路。
3. 同步电路
由主门Ⅰ、Ⅱ及同步控制电路组成。主门Ⅰ控制被测信号fx的通过,主门

fO的通过,两门的启闭都由同步控制电路控制。

等精度频率测量报告

等精度频率测量报告
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
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(
if(reg_clk'event and reg_clk='0')then reg_out<=reg_in;
end if; e: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity reg2 is port(
0.2 关键词
等精度测量,单片机,频率计,闸门时间,FPGA
0.3 论证最佳方案
方案一: 基于单片机
3
方案二: 基于 FPGA。
方案选择: 由于单片机的使用不是很熟练,所以选择使用 FPGA。即方案二,如下操作
严格按照上述设想进行设计。 方案说明: 输入端: 显示器清零端 clr 外部被测信号 Fx 输出端: 以十进制的形式显示被测信号的频率 误差估计: 误差与被测频率 fx 无关,这就是等精度测量方法。

等精度数字频率计

等精度数字频率计

等精度数字频率计测量方式:一、测频原理所谓“频率”,确实是周期性信号在单位时刻转变的次数。

电子计数器是严格依照f =N/T的概念进行测频,其对应的测频原理方框图和工作时刻波形如图1 所示。

从图中能够看出测量进程:输入待测信号通过脉冲形成电路形成计数的窄脉冲,时基信号发生器产生计数闸门信号,待测信号通过闸门进入计数器计数,即可取得其频率。

假设闸门开启时刻为T、待测信号频率为fx,在闸门时刻T内计数器计数值为N,那么待测频率为:fx = N/T假设假设闸门时刻为1s,计数器的值为1000,那么待测信号频率应为1000Hz 或1.000kHz,现在,测频分辨力为1Hz。

图1 测频原理框图和时刻波形二、方案设计2.1整体方案设计等频率计测频范围1Hz~100MHz,测频全域相对误差恒为百万分之一,故由此系统设计提供100MHz作为标准信号输入,被测信号从tclk端输入,由闸门操纵模块进行自动调剂测试频率的大小所需要的闸门时刻,如此能够精准的测试到被测的频率,可不能因闸门开启的时刻快慢与被测频率信号转变快慢而阻碍被测频率信号致使误差过大,被测信号输入闸门操纵模块后,在闸门操纵模块开始工作时使encnt端口输出有效电平,encnt有效电平作用下使能标准计数模块(cnt模块)和被测计数模块(cnt模块),计数模块开始计数,直到encnt 从头回到无效电平,计数模块就将所计的数据送到下一级寄放模块,在总操纵模块的作用下,将数据进行load(锁存),然后寄放器里的数据会自动将数据送到下一模块进行数据处置,最后送到数码管或液晶显示屏(1602)进行被测信号的数据显示。

PIN_84VCCreset INPUTPIN_31VCCtclk INPUTcnt_time 100Signed IntegerParameter Value Typeclken_1kHztclkclrloadencntcnt_eninst4cnt_w idth32Signed IntegerParameter Value Typeclkclrencntout[cnt_width-1..0]cntinst1cnt_w idth32Signed IntegerParameter Value Typeclkclrencntout[cnt_width-1..0]cntinst2cnt_w idth32Signed IntegerParameter Value Typeclken_1kHzclrlock_endata[cnt_width-1..0]regout[cnt_width-1..0]bcnt_reginst3cnt_w idth32Signed IntegerParameter Value Typeclken_1kHzclrlock_endata[cnt_width-1..0]regout[cnt_width-1..0]tcnt_reginst5clken_1kHzresetenencntclr_cntlockclr_regload_encntcontrolinst6clken_1kHzresetclearreset_cntinst16被测频率信号输入闸门信号控制器100M标准频率信号计数器被测频率信号计数器100M标准频率数据寄存被测信号频率数据寄存复位模块闸门、计数、寄存的总控制模块clk_100MHztclk1loadclk_100MHzen_1kHzclk_100MHzen_1kHzen_1kHzclk_100MHzloaden_1kHzclk_100MHzclk_100MHzen_1kHzset_f ashion[4]tclk1reset1cnt_numb[31..0]cnt_numt[31..0]两路数据送到下一级进行数据处理2.2理论分析采纳等精度测量法,其测量原理时序如图1所示从图1中能够取得闸门时刻不是固定的值,而是被测信号的整周期的倍数,即与被测信号同步,因此,不存在对被测信号计数的±1 误差,可取得:变形后可得:对上式进行微分,可得:由于 dn=± 1 ,因此可推出:从式(5)能够看出:测量误差与被测信号频率无关,从而实现了被测频带的等精度测量;增大T或提高fs能够提高测量精度;标准频率误差为dfs/fs,因为晶体的稳固度很高,再加上FPGA核心芯片里集成有PLL锁相环可对频率进一步的稳固,标准频率的误差能够进行校准,校准后的标准误差即能够忽略。

等精度法测频率计的原理

等精度法测频率计的原理

等精度法测频率计的原理引言:等精度法测频率计是一种常用的频率测量方法,它利用稳定的参考信号与待测信号进行比较,从而精确地测量待测信号的频率。

本文将介绍等精度法测频率计的原理及其工作流程。

一、原理概述:等精度法测频率计的原理基于频率比较技术,通过将待测信号与参考信号进行相位比较,从而得到待测信号的频率信息。

其核心思想是将待测信号与参考信号进行周期性的比较,通过计算比较结果的平均值来消除测量误差,从而提高测量精度。

二、工作流程:等精度法测频率计的工作流程主要包括以下几个步骤:1. 产生参考信号:首先需要产生一个稳定的参考信号,通常使用高稳定度的晶振或标准频率源作为参考信号源。

2. 将待测信号与参考信号进行比较:待测信号与参考信号经过相位比较,得到相位差信息。

3. 相位差计算:通过测量待测信号与参考信号的相位差,可以计算出待测信号的周期。

4. 周期计算:根据相位差计算出的周期信息,可以得到待测信号的频率。

5. 精度提高:为了提高测量精度,需要进行多次测量并取平均值,以消除测量误差。

三、关键技术说明:等精度法测频率计的实现需要借助一些关键技术,包括:1. 相位锁定技术:通过将待测信号与参考信号进行相位锁定,可以确保两者相位一致,从而实现准确的相位比较。

2. 周期计数器:周期计数器用于测量待测信号与参考信号的相位差,通过计数器的计数结果可以得到待测信号的周期信息。

3. 数字信号处理:为了提高测量精度,可以利用数字信号处理技术对测量结果进行滤波、平均等处理,以消除噪声和提高信号质量。

四、优缺点分析:等精度法测频率计具有以下优点:1. 高精度:通过多次测量并取平均值的方法,可以消除测量误差,提高测量精度。

2. 稳定性好:利用稳定的参考信号进行比较,可以保证测量结果的稳定性。

3. 适用范围广:等精度法测频率计适用于各种频率范围的信号测量,包括低频、中频和高频等。

然而,等精度法测频率计也存在一些缺点:1. 对参考信号要求高:由于等精度法测频率计依赖于参考信号的稳定性,因此对参考信号的要求比较高。

FPGA学习——等精度测频

FPGA学习——等精度测频

FPGA学习——等精度测频由于最近一直在与队员一起攻克题目,所以没时间写博客,现在把最近做的东西总结一下,希望对大家有帮助。

以前一直是用测频率法来测信号的频率,就是在一秒内测被测频率的个数,即为频率,这种方法在高频时还行,低频就误差比较大,无论是用FPGA还是单片机都差不多,所以我们这次用了一种相对更精确的测量方法——等精度测频法,主导思想是利用一个D触发器保证测量时间是被测频率的整数倍,对被测频率和基准频率进行计数,利用计数值求出被测频率,这种方法在高频低频段均适用,由于测量误差只与基准频率和闸门时间有关,与被测频率无关,故称之为等精度测频。

由于FPGA对数据处理有困难,所以我们用FPGA计数,然后把数据传给单片机处理,显示数据。

我们这次的测频范围为0.01HZ到50MHZ,精确到小数点后两位,测频误差在10的-5次方以下。

我做的是FPGA的部分,先附上思路:等精度测频就是对基准频率和待测频率在一段时间内分别计数,通过一个D触发器确保计数时间是待测频率的整数倍,系统的误差只与门控时间和基准频率有关,与待测频率无关,达到等精度测频的目的。

计数器是用两个32位二进制计数器,通过一个3—8选择器把64位变成8位,传给单片机,经单片机处理后恢复出两个计数值,计算出频率。

RTL图附上程序,欢迎探讨分频模块——产生基准频率1MHZ方波LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FENPIN ISPORT(CLK:IN STD_LOGIC;CLOCK:OUT STD_LOGIC);END ENTITY;ARCHITECTURE ART OF FENPIN ISSIGNAL COUNT :INTEGER RANGE 0 TO 10#49#; BEGINPROCESS(CLK)ISBEGINIF(CLK'EVENT AND CLK='1')THENIF(COUNT=10#49#)THEN COUNT<=0;ELSE COUNT<=COUNT+1;END IF;END IF;END PROCESS;PROCESS(COUNT)ISBEGINIF(COUNT>=10#24#)THENCLOCK<='1';ELSE CLOCK<='0';END IF;END PROCESS;END ARCHITECTURE;D触发器模块——保证测量时间是被测频率整数倍LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DCHUFA ISPORT(CLK:IN STD_LOGIC;CLR:IN STD_LOGIC;D:IN STD_LOGIC;Q:OUT STD_LOGIC);END ENTITY;ARCHITECTURE ART OF DCHUFA ISSIGNAL Q1:STD_LOGIC;BEGINPROCESS(CLR,CLK)BEGINIF(CLR='0')THEN Q1<='0';ELSE IF(CLK'EVENT AND CLK='1')THENQ1<=D;END IF;END IF;END PROCESS;Q<=Q1;END ARCHITECTURE;计数模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JISHU ISPORT(CLK:IN STD_LOGIC;CLR,ENA:IN STD_LOGIC;OQ:OUT STD_LOGIC_VECTOR(31 DOWNTO 0));END ENTITY;ARCHITECTURE ART OF JISHU ISSIGNAL TMP:STD_LOGIC_VECTOR(31 DOWNTO 0);BEGINPROCESS(CLK,CLR,ENA)ISBEGINIF(CLR='0')THEN TMP<="00000000000000000000000000000000"; ELSIF(ENA='1')THENIF(CLK'EVENT AND CLK='1')THENTMP<=TMP+1;END IF;END IF;END PROCESS;PROCESS(ENA)BEGINIF ENA'EVENT AND ENA='0' THENOQ<=TMP;END IF;END PROCESS;END ARCHITECTURE;64转8模块——方便单片机读取数据LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JISHU ISPORT(CLK:IN STD_LOGIC;CLR,ENA:IN STD_LOGIC;OQ:OUT STD_LOGIC_VECTOR(31 DOWNTO 0));END ENTITY;ARCHITECTURE ART OF JISHU ISSIGNAL TMP:STD_LOGIC_VECTOR(31 DOWNTO 0);BEGINPROCESS(CLK,CLR,ENA)ISBEGINIF(CLR='0')THEN TMP<="00000000000000000000000000000000"; ELSIF(ENA='1')THENIF(CLK'EVENT AND CLK='1')THENTMP<=TMP+1;END IF;END IF;END PROCESS;PROCESS(ENA)BEGINIF ENA'EVENT AND ENA='0' THENOQ<=TMP;END IF;END PROCESS;END ARCHITECTURE;顶层模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FENPIN ISPORT(CLK:IN STD_LOGIC;CLOCK:OUT STD_LOGIC);END ENTITY;ARCHITECTURE ART OF FENPIN ISSIGNAL COUNT :INTEGER RANGE 0 TO 10#49#;BEGINPROCESS(CLK)ISBEGINIF(CLK'EVENT AND CLK='1')THENIF(COUNT=10#49#)THEN COUNT<=0;ELSE COUNT<=COUNT+1;END IF;END IF;END PROCESS;PROCESS(COUNT)ISBEGINIF(COUNT>=10#24#)THENCLOCK<='1';ELSE CLOCK<='0';END IF;END PROCESS;END ARCHITECTURE;。

等精度频率测量

等精度频率测量

BEGIN
IF CLR = '1' THEN Q3 <= '0' ;
ELSIF CLK3'EVENT AND CLK3 = '1' THEN Q3 <= '1' ;
END IF;
END PROCESS;
PUL <='1' WHEN SS="10" ELSE --当SS="10"时,PUL高电平,允许标准计数器计数,
END IF;
END PROCESS;
DD2: PROCESS(CLK2,CLR)
BEGIN
IF CLR = '1' THEN Q2 <= '0' ;
ELSIF CLK2'EVENT AND CLK2 = '1' THEN Q2 <= '1' ;
END IF;
H
END PROCESS;
接下页 15
DD3: PROCESS(CLK3,CLR)
'0' ;
--禁止计数
EEND <='1' WHEN SS="11" ELSE--EEND为低电平时,表示正在计数,由低电平变到高电平
'0' ;
--时,表示计数结束,可以从标准计数器中读数据了
BENA <=ENA WHEN SPUL='1' ELSE--标准计数器时钟使能控制信号,当SPUL为1时,测频率
ELSIF BCLK'EVENT AND BCLK = '1' THEN
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计 数 脉 冲
闸 门 开 启 时 T 间 脉 冲 数 N= 9
闸 门 开 启 时 T 间 脉 冲 数 N= 8
如图所示,虽然闸门开启时间都为T,但
因为闸门开启时刻不一样,计数值一个 为9,另一个却为8,两个计数值相差1。
量化误差的相对误差为:

N

N
N
100 % 1 100 %
1 N
fx N T
T 计 数 (脉 冲 )信 号 门 控 信 号 & 至 计 数 器
T
改变时间T,则可改变测量频率范围。例如,当T=1s, 则 fx=N(Hz) ; T=1ms ,则 fx=N(kHz) 。此方法的原理框图如图 所示,时序波形图如图所示。
测频原理框图
测频时序波形图
1) 量化误差
100 %

fC Tx
不管计数N是多少,ΔN的最大值都为±1。 因此,为了减少最大计数误差对测量精度的影响, 仪器使用中采取的技术措施是:尽量使计数值N 大。使ΔN /N 误差相应减少。例如在测频时, 应尽量选用大的闸门时间;
2).
标准频率误差在测频时取决于闸门时间的
准确度。由于闸门时间和时标均由晶体振荡器
B通道的被测信号所控制。当无噪声干扰时,主门开启时间刚
好等于一个被测信号的周期Tx。如果被测信号受到干扰,当信
号通过B通道时,将会使整形电路(施密特触发器)出现超前 或滞后触发,致使整形后波形的周期与实际被测信号的周期发
生偏离Δ Tx ,引起所谓的触发误差(或转换误差)。 经推导,
触发误差Δ Tx/Tx的大小为
多次倍频或分频获得,因此,通用计数器有关
功能的标准频率误差就是指通用计数器内(或
外部接入)的晶体振荡器的准确度Δ f0/f0。
通过上述分析,可得频率测量误差表达式如下:
fx fx N f0 N f0 1 f0 T f f0 g x
Tx Tx 1 2 π U U
n m
周期测量误差表达式如下
(3)中界频率
测频误差及测周 误差与被测信号频率 的关系如图示,图中 测频和测周两条误差 曲线交点所对应的频 率称中界频率fxm 。
N
N
测 频 量 化 误差 10
- 1
测 周 量 化 误差 闸 门 T = 0. 1 s 1 s 10 s
N1 fx N
2
f0
从上式可得出待测信号的频率公式为
fx N1 N
2
f0
标准频率比较测量法对测量时产生的时间门限的精度 要求不高,对标准频率信号的频率准确度和频率的稳定度 要求较高,标准信号的频率越高,测量的精度就比较高。 该方法的测量时间误差与时间门限测量法的相同,可能的
10
- 2
10 -
3
0. 1 s 10 ns
10 -
4
时 标 1 ns 10
- 5
10 -
6
10 -
7
10 -
8
1 Hz
1 kHz 被 测 频 率f x
1 MHz
10 0 M H z
很显然,当被测信号频率fx>fxm 时,宜采用测频的方法, 当被测信号的频率fx<fxm时, 宜采用测周的方法。
f
1 T
• (1) 谐振法:
利用LC回路的谐振特性进行测频(如谐振 式波长表 可测无源 LC 回路的 固有谐振频率 ) , 测频范围为 0.5~1500 MHz。 改变标准信号频率,使它与被测信号混 合,取其差频,当差频为零时读取频率。这种外差式频率计可 测高达3000 MHz的微弱信号的频率,测频精确度为10-6左右。 在示波器上根据李沙育图形或信号波形 的周期个数进行测频。这种方法的测量频率范围从音频到高频 信号皆可。 直接计数单位时间内被测信号 的脉冲数,然后以数字形式显示频率值。这种方法测量精确度 高、快速,适合不同频率、不同精确度测频的需要。
但是,还存在两个问题: ①、该方法不能直接读出被测信号的频率值或周期值; ②、在中界频率附近,仍不能达到较高的测量精度。 若采用多周期同步测量方法,便可解决上述问题。
1.1.2 用两组计数器在相同的时间门限内同时计数,测 得待测信号的脉冲个数为N1、已知的标准频率信号的 脉冲个数为 N2 ,设待测信号的频率为 fx, 已知的标准 频率信号的频率为 f0;由于测量时间相同,则可得到 如下等式:
以上分析可见,频率计测周期的基本原 理正 好与测频相反,即被测信号用来控制 闸电路的开 通与关闭,标准时基信号作为 计数脉冲。
1) 测周量化误差。
T
Tx

N
N
100 % 1
1 N
100 %

fC Tx
100 %
2).
当进行周期等功能的测量时,门控双稳的门控信号由通过
电子仪器仪表设计
1.等精度频率测量 2.电气参数测试 3.元器件参数测试
第1章 数字频率计的设计
频率、时间的应用与人们日常生活息息相关, 而在当代高科技中显得尤为重要。例如,邮电通讯, 大地测量,地震预报,人造卫星、宇宙飞船、航天 飞机的导航定位控制等都与频率、时间密切相关, 因此准确测量时间和频率是十分重要的。
(2)直接周期测量

N N 100 % 1 N 100 %
N
当被测信号的频率较低时,采用直接测 频方法 由量化误差引起的测频误差太大, 为提高测低频时的准确度,应先测周期 Tx,然后计算fx=1/Tx。
TX = N T0 / k
数字频率计测周期的原理框图如图所示。被测 信号经放大整形电路变成方波,加到门控电路产 生闸门信号,如Tx=10ms,则闸门打开的时间 也为10ms,在此期间内,周期为Ts的标准脉冲 通过闸门进入计数器计数。若TS=1uS,则计数 器计得的脉冲N=TX/TS=10000个。若以毫秒 (ms) 为单位,则显示器上的读数为10.000。
Байду номын сангаас
• (2) 外差法: • (3) 示波法:
• (4) 电子计数器法:
1. 1 频率测量 数字频率计是用于测量信号频率的电路。测量信号的频 率参数是最常用的测量方法之一。实现频率测量的方法比较
多, 在此我们主要介绍三种常用的方法: 时间门限测量法、
标准频率比较测量法、等精度测量法。 1.1.1 (1) 直接频率测量 在一定的时间门限 T 内,如果测得输入信号的脉冲数为 N , 设待测信号的频率为fx,则该信号的频率为
相关文档
最新文档