欢迎来到天天文库
浏览记录
ID:51640501
大小:468.00 KB
页数:12页
时间:2020-03-14
《毕业设计]基于VHDL的12位十进制数字频率计的设计仿真.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于VHDL的12位十进制数字频率计的设计仿真一、功能与要求:该计数器的功能:对被测试信号进行计数,在1秒定时结束后,将计数器结果送锁存器锁存,同时将计数器清零,为下一次采样测量做好准备。要求如下:1.用VHDL完成12位十进制数字频率计的设计及仿真。2.频率测量范围:1Hz∼10KHz,分成两个频段,即1∼999Hz,1KHz∼10KHz,用三位数码管显示测量频率,用LED显示表示单位,如亮绿灯表示Hz,亮红灯表示KHz。3.具有自动校验和测量两种功能,即能用标准时钟校验、测量精度。4.具有超量程报警功能,在超出目前量程档的测量范围时,发出灯光和音响信号。二、设计思路图2.1
2、是频率计数器的原理图。图2.1频率计数器的原理图1、基本原理:计算单位时间内待测信号的脉冲个数,各模块设计成process。测量/校验选择模块(test_meas)测频控制信号发生器(二分频)(clk_process)计数器模块(cnt_process)送存选择、报警模块(tostore_process)锁存模块(store_process)扫描显示模块(cnt3_process,bus_process,disp_process)2、各模块功能图2.2测量校验选择如图2.2为测量/校验选择模块,该模块的信号如下:输入信号:选择信号selet,被测信号meas,测试信号test;
3、输出信号:CP1。当selet=0时,为测量状态,CP1=meas;当selet=1时,为校验状态,CP1=test。校验与测量共用一个电路,只是被测信号CP1不同而已。图2.3测频控制信号发生器(二分频)如图2.3为测频控制信号发生器(二分频),该模块的信号如下:输入信号:1HZ时钟信号;输出信号:1秒定时信号(周期为2秒)。图2.4计数器、送存选择、报警模块1、如图2.4为计数器、送存选择、报警模块,模块的功能如下:设置:量程档控制开关K,单位显示信号Y,当K=0时,为1∼999Hz量程档,数码管显示的数值为被测信号频率值,unit显示绿色,即单位为Hz;当K=1时,为1K
4、Hz∼10KHz量程档?被测信号频率值为数码管显示的数值乘1000,unit显示红色,即单位为KHz。2、其中四级十进制计数器模块(带进位C)模块功能如下:输入信号:RD、CP,用于计数开始、清零、锁存输出信号:Q4~Q1设置超出量程档测量范围示警信号alert。若被测信号频率小于1KHz(K=0),则计数器只进行三级十进制计数,最大显示值为999.Hz;如果被测信号频率超过此范围,示警信号驱动灯光、扬声器报警;若被测信号为1KHz∼10KHz(K=1),计数器进行四位十进制计数,取高三位显示,最大显示值为9.99KHz,如果被测信号频率超过此范围,报警。3、送存选择、报警电路
5、状态表如表2.1。表2.1送存选择、报警电路状态表图2.5锁存,扫描显示模块图2.5为锁存、扫描显示模块,该模块功能如下:锁存器输入信号:D3~D1,LD;输出信号:Q3~Q1,小数点单位显示unit。图2.6扫描显示电路如如2.6扫描显示电路,该模块包含两个模块:七段显示译码器电路(DEC_LED);分时总线切换电路(SCAN)。三、原理图说明图3.1频率计显示原理图如图3.1,输入有扫描时钟clkscan,分频时钟clk1hz,单位选择键K,被测信号meas,测试信号test,测试校验选择键sel。输出有数码管信号led,数码管选择信号ms123,报警信号alert,单位显
6、示信号unit。四、源代码说明--实体声明libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entitydig_frqisPort(clk1hz:inSTD_LOGIC;clkscan:instd_logic;test:inSTD_LOGIC;meas:inSTD_LOGIC;sel:inSTD_LOGIC;k:inSTD_LOGIC;alert:outSTD_LOGIC;unit:outSTD_LOGIC;ms123:outSTD_
7、LOGIC_VECTOR(2downto1);led:outSTD_LOGIC_VECTOR(8downto1));enddig_frq;--结构体说明architectureBehavioralofdig_frqissignalcp1:std_logic;signalclk05hz:std_logic:='0';signalcp:std_logic;signalrd:std_logic:='1';signalc:std_logic;signalq4,q3,q2,q1:std_logic_v
此文档下载收益归作者所有