数字频率计的设计及实现.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字频率计的设计及实现

E D A 实验报告(四) 实验地点:211大楼606609 任课教师:窦衡 学生姓名:李志 学 号:2402401024 实验四 数字频率计的设计及实现 一、预习内容 1、什么是数字频率计; 2、数字频率计实现原理; 3、写出原理草图和源程序。 二、实验目的二、实验目的 1、学会数字频率计的设计方法; 2、掌握自顶向下的设计方法,体会其优越性。 三、实验器材三、实验器材 PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干 四、实验内容 1、用VHDL完成8位数字频率计的设计, 该频率计要求频率测量范围:1 Hz ~ 20 MHz;测量误差≤0.1%1、画出实验原理方框图; 2、设计各个元件; 3、进行元件例化; 4、下载程序,查看数码管显示的频率是否和待测的频率相同。 六、实验原理和设计 1、测频原理 若某一信号在T秒时间里重复变化了N 次,则根据频率的定义可知该信号的频率fs 为:fs=N/T 通常测量时间T取1秒或它的十进制时间。频率计方框图如下: (1)、时基T 产生电路: 提供准确的计数时间T。晶振产生一个振荡频率稳定的脉冲,通过分频整形、门控双稳后,产生所需宽度的基准时间T的脉冲,又称闸门时间脉冲。 注意:分频器一般采用计数器完成,计数器的模即为分频比。 (2)、计数脉冲形成电路: 将被测信号变换为可计数的窄脉冲,其输出受闸门脉冲的控制。 (3)、计数显示电路: 对被测信号进行计数,显示被测信号的频率。计数器一般采用多位10 进制计数器;控制逻辑电路控制计数的工作程序:准备、计数、显示、复位和准备下一次测量。 2、实现框图: 1)、门控电路 1)、测频控制逻辑电路(以1 秒为例) 2) 产生一个1秒脉宽的周期信号; 3) 对计数器的每一位计数使能进行控制; 4) 完成下一次测量前的计数器复位; 以下是一种可能的时序关系: 门控电路框图如右图 2)、 10 进制计数器 要求具有计数使能端CNTEN、复位端CLR、进位输出端CO。 3)、 32位锁存器 4)、 扫描电路 5)、 系统框图 4、VHDL源程序(七段译码器源程序框图与实验二相同) --1位十进制计数器描述 library ieee; use ieee.std_logic_1164.all; entity cnt10 is port(clk:in std_logic; clr:in std_logic; ena:in std_logic; cq:out integer range 0 to 15; carry_out:out std_logic); end entity cnt10; architecture art of cnt10 is signal cqi:integer range 0 to 15; begin process(clk,clr,ena)is begin if clr=1then cqi=0; elsif clkevent and clk=1then if ena=1then if cqi9 then cqi=cqi+1; else cqi=0; end if; end if; end if; end process; process(cqi) is begin if cqi=9 then carry_out=1; else carry_out=0; end if; end process; cq=cqi; end architecture art; --门控电路描述 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity testctl is port(clk:in std_logic; tsten:out std_logic; clr_cnt:out std_logic; load:out std_logic); end entity testctl; architecture art of testctl is signal div2clk:std_logic; begin process(clk) is begin if clkevent and clk=1 then div2clk=not div2clk; end if; end process; process(clk,div2clk)is begin if clk=0 and div2clk=0then clr_cnt=1; else clr_cnt=0; end if; end process; load=not div2cl

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档