基于vhdl数字频率计设计说明书

基于vhdl数字频率计设计说明书

ID:29472279

大小:352.04 KB

页数:40页

时间:2018-12-20

基于vhdl数字频率计设计说明书_第1页
基于vhdl数字频率计设计说明书_第2页
基于vhdl数字频率计设计说明书_第3页
基于vhdl数字频率计设计说明书_第4页
基于vhdl数字频率计设计说明书_第5页
资源描述:

《基于vhdl数字频率计设计说明书》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、一、设计功能与要求设计数字频率计,满足如下功能:(1)用VHDL语言完成数字频率计的设计及仿真。(2)频率测量范围:1∼10KHz,分成两个频段,即1∼999Hz,1KHz∼10KHz,用三位数码管显示测量频率,且用LED(发光二极管)来表示所显示单位,我们这里定义亮绿灯表示以Hz为单位,亮红灯表示以KHz为单位。(3)具有自动校验和测量两种功能,即既能用于标准时钟的校验,同时也可以用于未知信号频率的测量。(4)具有超量程报警功能,在超出目前所选量程档的测量范围时,会发出音响报警信号。二、设计思路通

2、过计算已知单位时间内待测信号的脉冲个数来计算被测信号的频率,同时通过动态扫描方式在三个数码管上显示出测得频率值。如下图1的系统框图所示,计数器对CP信号进行计数,在1秒定时结束后,将计数器结果送锁存器锁存,并通过时钟下降沿将不再变化的测量值送至数码管显示。在下一个计数时钟信号上升沿到来时,再次重新计数。图1系统设计框架图39系统各个模块介绍如下:(1)测量/校验选择模块:输入信号:选择信号selin,被测信号measure,标准校验信号test;输出信号:CP;当selin=0时,为测量状态,CP=

3、measure;当selin=1时,为校验状态,CP=test。校验与测量共用一个电路,只是被测信号CP不同而已。(2)测频控制信号发生器(二分频):输入信号:1Hz时钟信号clk;输出信号:1秒钟高电平基准信号clk1(周期为2秒);(3)四级十进制计数器模块(带进位C):输入信号:clk1、CP,用于计数开始、清零、锁存。输出信号:q4~q1设置超出量程档测量范围示警信号alert。若被测信号频率小于1KHz(K=0),则计数器只进行三级十进制计数,最大显示值为999.Hz,如果被测信号频率超过

4、此范围,示警信号扬声器报警;若被测信号为1KHz~10KHz(K=1),计数器进行四位十进制计数,取高三位显示,最大显示值为9.99KHz,如果被测信号频率超过此范围,示警信号扬声器报警。(4)送存选择、报警电路模块。表1送存选择、报警电路状态表量程控制计数器锁存小数点位置报警信号Kq4(0)Cd3d2d1alert001101XX0001q3q2q1q3q2q1q4q3q2q4q3q2右第一位右第一位左第一位左第一位0101设置:量程档控制开关K,单位显示信号unit。当K=0时,为1~999Hz

5、量程档,数码管显示的数值为被测信号频率值,unit显示绿色,即单位为Hz;当K=1时,为1KHz~10KHz量程档,被测信号频率值为数码管显示的数值乘1000,unit显示红色,即单位为KHz。39(5)锁存器模块。输入信号:d3~d1,ld。输出信号:q1,q2,q3,小数点单位显示unit_display。(6)扫描显示模块。输入信号:q1,q2,q3,扫描时钟scan_clk。输出信号:数码管选择信号sel,ledout。三、仿真与分析:(1)测量与显示:测量信号图2modelsim下仿真由上

6、图2仿真结果可知,选择k=0,绿灯表示量程为Hz。在范围内,数码管最低位亮小数点,满足设计要求。39图3modelsim下仿真由上图3仿真结果可知,选择k=1,绿灯表示量程为KHz。在范围内,数码管最高位亮小数点,满足设计要求。图4modelsim下报警仿真由图4仿真结果可知,选择k=1,绿灯表示量程为KHz。超出测量范围,报警信号alert拉高,触发报警信号,上述设计满足要求。图5modelsim下报警仿真由上图5仿真结果可知,选择k=0,绿灯表示量程为Hz。超出测量范围,报警信号alert拉高,

7、触发报警信号,上述设计满足要求。39四、源代码:源代码一共由九部分组成,以下我们将对这九部分进行逐一介绍:(1)顶层例化模块:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityf_counterisport(clk,selin,test,measure,K:instd_logic;alert,led_red,led_green:outstd_logic;ledout:outstd_logic_vec

8、tor(7downto0);--端口定义sel:outstd_logic_vector(2downto0));endf_counter;architecturef_counteroff_counteriscomponentdiv_clkport(clk:instd_logic;clk1:outstd_logic);endcomponent;componenttm_selport(selin,test,measure:instd_logic;CP:outstd_logi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。