网站大量收购独家精品文档,联系QQ:2885784924

基于VHDL语言的数字频率计的设计方案.docx

基于VHDL语言的数字频率计的设计方案.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 1 PAGE 1 基于VHDL语言的数字频率计的设计方案 摘要:本文提出了一种基于VHDL语言的数字频率计的设计方案,该方案通过采纳自顶向下的设计方法,用VHDL语言对状态机、计数器、非常频、同步整形电路等进行编程,用QuartusⅡ对状态机、计数器、同步整形电路、分频电路进行仿真,在FPGA上采纳高频测频、低频测周、中间非常频转换的方法,设计出体积较小,性能更牢靠的数字频率计。经过电路仿真和硬件测试验证了方案的可行性。 1.引言 数字频率计是通讯设备、计算机、电子产品等生产领域不行缺少的测量仪器。由于硬件设计的器件增加,使设计更加简单,牢靠性变差,延迟增加,测量误差变大。通过使用EDA技术对系统功能进行描述,运用VHDL语言,使系统简化,提高整体的性能和牢靠性。采纳VHDL编程设计的数字频率计,除了被测信号的整形部分,键输入和数码显示以外,其他都在一片FPGA上实现,从而让整个系统特别精简,让其具有敏捷的现场更改性,在不转变硬件电路的基础上,进一步改进提高系统的性能,使数字频率计具有高速,度高,牢靠性强,抗干扰等优点,为数字系统进一步的集成制造了条件。 2.数字频率计的工作原理 频率测量方法中,常用的有直接测频法、倍频法和等精度测频法。中直接测频法是依据频率的含义把被测频率信号加到闸门的输入端,只有在闸门开通时间T(以ls计)内,被测(计数)的脉冲送到十进制计数器进行计数。直接测频法比其他两个方案更加简洁便利可行,直接测频法虽然在低频段测量时误差较大,但在低频段我们可以采纳直接测周法加测量,这样就可以提高测量精度了。直接周期测量法是用被测周期信号直接掌握计数门控电路,使主门开放时间等于Tx,时标为Ts的脉冲在主门开放时间进入计数器。设在Tx期间计数值为N,可以依据Tx=N×Ts来算得被测信号周期。因此本文采纳低频测周,高频测频的方法来提高精度,减小误差。 3.主要功能模块的实现 该系统设计的掌握器是由状态机实现,通过在不同测量档位,选择合理的时基信号频率降低误差,确定各状态转移条件和状态名,采纳低频档位测周,高频档位测频的方法。20MHz晶振送入分频器,分出各档时基信号和其它模块所需的触发信号,分频器将各档时基信号传给状态机,同时待测信号进入状态机,状念机进行状态转换,将量程溢出信号和状态显示信号表征在发光二极管上。如图表1所示。 3.1 状态机模块 首先对系统复位,假如此时状态机的初始状态为Fl00k,若超量程信号送入状态机,则状态转换到FlM,假如仍有超量程信号则状态转换到F10M,假如仍有超量程信号则状态转换到F100M,假如还有超量程信号则状态转换到Overflow H产生高溢出信号;若欠量程信号送人状态机,则状态转换到P1ms,假如有超量程信号则状态转换到P10ms,假如仍有超量程信号则状态转换到P100ms,假如仍有超量程信号则状态转换到P 1 s,假如还有超量程则状态转换到OverflowL产生低溢出信号。如图1所示。 3.2 计数器模块 在“待计数信号”的两个时钟周期内完成计数与掌握信号(Over与Low)的传输,在量程合适的状况下,还将计数值输出。这两个时钟周期内,第1个时钟周期完成计数,第2个时钟周期完成掌握信号的传输与计数值输出。这样做的好处是稳定,将计数与掌握信号传输分开进行。避开了一些可能遇到的“时钟跳变”.但这种做法的缺点也很明显,那就是在测周期模式下,假如待测信号是1Hz的,那么系统可能需要2s(两个时钟周期)才能显示正确的数值。 3.3 非常频模块 由于1kHz~10kHz的信号无论用测频法还是测周期法都是不行行的,可以采纳预分频的方法,将1kHz~10kHz的信号非常频,然后用测周期法测出周期,再计算出频率。 3.4 同步整形电路模块 通过同步整形电路处理外部的异步信号,超量程和欠量程。源程序如下: library ieee;use ieee.std_logic_1164.all;entity SignalLatch is4.系统的功能仿真和验证分析。 据状态转换图,这里将状态机的程序分成两个进程,进程1完成状态转移过程,进程2掌握各状态下的输出值如下图2所示,timecounter=clocktested为50KHz. 为了便利观看,将数值改小,计数值大于100且小于或等于1000时输出!将clock1设为50K,clock2计数时钟设为5M,得出仿真如图3所示Result为100符合计数要求。 如图4所示给clk1一个5KHz的频率,经过非

文档评论(0)

xiaoxiao文档 + 关注
实名认证
内容提供者

云帆创客,一起创造未来

1亿VIP精品文档

相关文档