数字频率计设计任务书概要.docx
《数字频率计设计任务书概要.docx》由会员分享,可在线阅读,更多相关《数字频率计设计任务书概要.docx(9页珍藏版)》请在冰豆网上搜索。
![数字频率计设计任务书概要.docx](https://file1.bdocx.com/fileroot1/2022-11/25/7f201834-12c3-4255-9015-a40ce025b3b3/7f201834-12c3-4255-9015-a40ce025b3b31.gif)
数字频率计设计任务书概要
课程设计任务书
设计题目:
数字频率计设计
设计内容与要求:
设计内容:
设计一个数字频率计,测频范围1HZ至1KHZ。
要求:
1、设计控制器,控制计数器计数和锁存器锁存计数值。
2、设计计数器,用于对待测信号计数。
3、设计锁存器,用于保存计数器的计数结果。
4、设计除法器,用于计算待测信号的频率。
5、设计顶层电路,实现对1HZ至1KHZ的输入信号进行频率测量。
指导教师:
邹红文
2014年12月1日
课程设计评语
成绩:
指导教师:
_______________
年月日
目录
第一章设计控制器1
1.1控制器程序1
1.2波形图2
第二章设计计数器3
2.1计数器程序3
2.2波形图4
第三章设计锁存器5
3.1锁存器程序5
3.2波形图6
第四章设计除法器7
4.1除法器程序7
4.2波形图8
第五章设计顶层电路9
5.1顶层电路图9
5.2仿真波形图10
总结11
第一章设计控制器
1.1控制器程序
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYFTCTRLIS
PORT(CLK1:
INSTD_LOGIC;
CNT_EN,RST_CNT:
OUTSTD_LOGIC;
LOAD:
OUTSTD_LOGIC);
ENDFTCTRL;
ARCHITECTUREBEHAVOFFTCTRLIS
SIGNALDIV2CLK:
STD_LOGIC;
BEGIN
PROCESS(CLK1)BEGIN
IFCLK1'EVENTANDCLK1='1'THENDIV2CLK<=NOTDIV2CLK;
ENDIF;
ENDPROCESS;
PROCESS(CLK1,DIV2CLK)BEGIN
IFCLK1='0'ANDDIV2CLK='0'THENRST_CNT<='1';
ELSERST_CNT<='0';ENDIF;
ENDPROCESS;
LOAD<=NOTDIV2CLK;CNT_EN<=DIV2CLK;
ENDBEHAV;
1.2波形图
图1-1仿真波形图
当接收到CLK上升沿时钟信号的时候,CNT_EN、LOAD为原信号取反。
即把时钟信号实现二分频。
CLK时钟信号为低电平,CNT_EN接收信号为低电平时,RST_CNT产生计数器清零信号。
第2章设计计数器
2.1计数器程序
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_ARITH.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYCNTIS
PORT(clk,rst,en:
INSTD_LOGIC;
Q:
BUFFERSTD_LOGIC_VECTOR(3DOWNTO0));
ENDENTITYCNT;
ARCHITECTURErt1OFCNTIS
BEGIN
PROCESS(clk,rst,en,Q)
BEGIN
ifrst='1'thenQ<="0000";
elsIF(clk='1'ANDclk'EVENT)THEN
ifen='1'then
Q<=Q+1;
elseQ<="0000";
ENDIF;
ENDIF;
ENDPROCESS;
ENDARCHITECTURErt1;
2.2波形图
图2-1仿真波形图
en使能为高电平,rst为低电平时,对clk的上升沿计数,当计数满15时,重先开始计数。
第3章设计锁存器
3.1锁存器程序
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYFLOCKIS
PORT(CLK,RST:
INSTD_LOGIC;
D:
INSTD_LOGIC_vector(3downto0);
Q:
OUTSTD_LOGIC_vector(3downto0));
ENDENTITYFLOCK;
ARCHITECTUREbehavOFFLOCKIS
BEGIN
PROCESS(D,CLK,RST)
BEGIN
IFRST='1'THENQ<="0000";
ELSIF(CLK='1'ANDCLK'EVENT)THEN
Q<=D;
ENDIF;
ENDPROCESS;
ENDARCHITECTUREbehav;
3.2波形图
图3-1仿真波形图
当RST=1,则Q清零。
RST=0,时钟信号为上升沿的时候,进行锁存。
把D的值进行锁存从Q端输出。
第4章设计除法器
4.1除法器程序
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_ARITH.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYdiv4IS
PORT(CLK:
INSTD_LOGIC;
A,B:
INSTD_LOGIC_VECTOR(3DOWNTO0);
S,Y:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDENTITYdiv4;
ARCHITECTURErt1OFdiv4IS
BEGIN
PROCESS(clk)
VARIABLEAT,BT,P,Q:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
IF(clk='1'ANDclk'EVENT)THEN
AT:
=A;BT:
=B;
P:
="0000";Q:
="0000";
FORIINS'RANGELOOP
P:
=P(2DOWNTO0)&AT(3);
AT:
=AT(2DOWNTO0)&'0';
P:
=P-BT;
IFP(3)='1'THENQ(I):
='0';P:
=P+BT;
ELSEQ(I):
='1';
ENDIF;
ENDLOOP;
ENDIF;
S<=Q;
Y<=P;
ENDPROCESS;
ENDARCHITECTURErt1;
4.2波形图
图4-1仿真波形图
A为除数12,B为被除数5,当CLK为上升沿时,除法器开始工作。
商S为2,余数Y为2。
第5章设计顶层电路
5.1顶层电路图
图5-1顶层电路图
5.2仿真波形图
图5-2仿真波形图
频率计的测频原理,在规定的CNT_EN为高电平时间里,测F_IN信号的上升沿个数,再通过计数器计数、锁存器对其计数值进行锁存,最后通过除法器运算得到相应的结果,算出待测信号F_IN的频率。
在本次试验中计数器对F_IN上升沿计数,通过除法器可知,在规定被除数B为3的情况下,得到商S为3,余数Y为1,计算得待测信号F_IN的在CNT_EN为高电平的时间内个数为10,再由相应计算的F_IN的频率值为10。
总结
本次设计中,主要是实现对1HZ至1KHZ的输入信号进行频率测量。
分别设计设计控制器,控制计数器计数和锁存器锁存计数值,除法器计算。
设计计数器,用于对待测信号计数;设计锁存器,用于保存计数器的计数结果。
除法器计算得出待测信号在规定时间里的个数。
在设计的过程中,值得注意的是控制器的时钟要与除法器的时钟不相同。
最初不理解在整个设计的过程中除法器的作用,后来经同学的讲解,从现实中出发,理论联系实际最终明白问题的答案。
在设计时要求计数器位数与锁存器,以及除法器的位数相同,而且接口的设置一样。
经过仔细分析和实践,实现了波形图的正确输出。
课程设计
《数字频率计》
系别:
班级:
学号:
姓名: