VHD数字频率计.doc

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

VHDL数字系统设计与测试 第三次作业——数字频率计设计 设计功能要求 用VHDL完成12位十进制数字频率计的设计及仿真。 频率测量范围:1Hz~10KHz,分成两个频段,即1~999Hz,1KHz~10KHz,用三位数码管显示测量频率,用LED显示表示单位,如亮绿灯表示Hz,亮红灯表示KHz。 具有自动校验和测量两种功能,即能用标准时钟校验、测量精度。 具有超量程报警功能,在超出目前量程档的测量范围时,发出灯光和音响信号。 设计思路 基本原理:计算单位时间内待测信号的脉冲个数。具体方法是,使用一个频率稳定度高的频率源作为基准时钟,来对比测量其他信号的频率。单位时间可设置为大于或小于一秒。闸门时间越长,频率值越准确,但时间越长,每次测量频率的间隔也就越长。时间越短,测量的频率值刷新越快,但将影响到测量的频率精度。每次测量时,采用时基信号产生的闸门信号启动计数器来对输入的脉冲信号计数:信号结束则将计数结果送入锁存器,然后计数器清零,准备下次计数。图1 原理框图 如图1所示,按照系统功能数字频率计分为六个模块: 1测量/校验选择模块(test_meas) 2测频控制信号发生器(二分频)(clk_process) 3计数器模块(cnt_process) 4送存选择、报警模块(tostore_process) 5锁存模块(store_process) 6扫描显示模块(cnt3_process,bus_process, disp_process) 另外,还要加上LED七段译码模块。 2、各模块功能 图2测量校验选择 如图2为测量/校验选择模块,该模块的信号如下: 输入信号:选择信号selet,被测信号meas,测试信号test; 输出信号:CP1。 当selet=0时,为测量状态,CP1=meas;当selet=1时,为校验状态,CP1=test。 校验与测量共用一个电路,只是被测信号CP1不同而已。 图3测频控制信号发生器(二分频) 如图3为测频控制信号发生器(二分频),该模块的信号如下: 输入信号:1HZ时钟信号; 输出信号:1秒定时信号(周期为2秒)。 图4计数器、送存选择、报警模块 1、如图4为计数器、送存选择、报警模块,模块的功能如下: 设置:量程档控制开关K,单位显示信号Y, 当K=0时,为1~999Hz量程档,数码管显示的数值为被测信号频率值,unit显示绿色,即单位为Hz; 当K=1时,为1KHz~10KHz量程档??被测信号频率值为数码管显示的数值乘1000,unit显示红色,即单位为KHz。 2、其中四级十进制计数器模块(带进位C)模块功能如下: 输入信号:RD、CP,用于计数开始、清零、锁存 输出信号:Q4~Q1设置超出量程档测量范围示警信号alert。 若被测信号频率小于1KHz(K=0),则计数器只进行三级十进制计数,最大显示值为999.Hz;如果被测信号频率超过此范围,示警信号驱动灯光、扬声器报警; 若被测信号为1KHz~10KHz(K=1),计数器进行四位十进制计数,取高三位显示,最大显示值为9.99KHz,如果被测信号频率超过此范围,报警。 3、送存选择、报警电路状态表如表1。 表1送存选择、报警电路状态表 图5锁存,扫描显示模块 图5为锁存、扫描显示模块,该模块功能如下: 锁存器输入信号:D3~D1,LD;输出信号:Q3~Q1 ,小数点单位显示unit。 图6扫描显示电路 如图6扫描显示电路,该模块包含两个模块: 七段显示译码器电路(DEC_LED); 分时总线切换电路(SCAN)。 VHDL源代码说明 ------实体声明-------- library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity dig_frq is Port ( clk1hz : in STD_LOGIC; ----分频时钟clk1hz clkscan : in std_logic;----扫描时钟clkscan test : in STD_LOGIC;----测试信号test meas : in STD_LOGIC;----被测信号meas sel : in STD_LOGIC;----测试校验选择键sel k : in STD_LOGIC;----单位选择键K alert : out STD_LOGIC;----报警信

文档评论(0)

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

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

1亿VIP精品文档

相关文档