- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字系统设计实践
——等精度频率测量技术
学 院:
专 业:
成 员:
学 号:
指导教师
完成日期
摘要:
频率计的主要功能是准确测量出待测频率的频率、周期、脉宽及占空比。在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。
CPLD/FPGA芯片难以实现。因此,我们选择单片机和CPLD/FPGA的结合来实现。电路系统原理框图如图所示,其中单片机完成整个测量电路的测试控制,数据处理和显示输出;CPLD/FPGA完成各种测试功能;键盘信号由AT89C51单片机进行处理,它从CPLD/FPGA读回计数数据并进行运算,向显示电路输出测量结果;显示器电路采用七段LED动态显示,由8个芯片74LS164分别驱动数码管。
FPGA的实现
频率计用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1s。闸门时间也可以大于或小于1s。闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次频率的间隔就越长。闸门时间越短,测得频率值刷新就越快,但测得的频率精度就受影响。
在同步控制门的作用下,产生一个与被测信号同步的闸门信号来改进低频段测量的不准确性。由于同步控制门的同步作用,事件记录器记录的Nx值不存在误差,但时钟信号与闸门信号无确定的相位关系,时间记录器记录的N0值存在±1的误差。
2.2方案说明:
输入端:
显示器清零端clr
外部被测信号Fx
输出端:
以十进制的形式显示被测信号的频率
误差估计:
误差与被测频率fx无关,这就是等精度测量方法。
|误差|=1/(T*fs)≤0.1%,预闸门脉宽T为1s,fs为10KHz,误差约为万分之一。
同步电路
同步化后的
闸门脉冲Q
系统设计
3.1系统模块:
1.输入模块:
图2-4
模块说明:
Res系统清零端
Fx由信号发生器产生被测的方波信号
Fc芯片外时钟发生器,根据误差要求设定为10KHz
分频器模块:
图2-5
模块说明:
由Fc作为时钟脉冲,仿照单片机的延时电路和计数器,Tc=1/10000s,跳10K下控制输出翻转一下,从而产生脉宽为1s的门控信号。
library ieee;
use ieee.std_logic_1164.all;
entity fenpin is
port(
clk,nr: in std_logic;
clk1: out std_logic);
end fenpin;
architecture a of fenpin is
signal f: integer range 0 to 1048575;
signal c: std_logic;
begin
process (clk,nr)
begin
if nr = 1 then
f=0;c=0;
elsif (clkevent and clk = 1)then
if f9999 then
f=f+1;
else
f=0;
c= not c;
end if;
end if;
end process;
clk1=c;
end a;
同步电路模块:
图2-6
模块说明:
产生同步的闸门脉冲信号。
library ieee;
use ieee.std_logic_1164.all;
entity dchufa is
port(
cp,n: in std_log
文档评论(0)