八位十进制数字频率计[基础资料].doc

上传人:scccc 文档编号:10749603 上传时间:2021-06-02 格式:DOC 页数:9 大小:245KB
返回 下载 相关 举报
八位十进制数字频率计[基础资料].doc_第1页
第1页 / 共9页
八位十进制数字频率计[基础资料].doc_第2页
第2页 / 共9页
八位十进制数字频率计[基础资料].doc_第3页
第3页 / 共9页
八位十进制数字频率计[基础资料].doc_第4页
第4页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《八位十进制数字频率计[基础资料].doc》由会员分享,可在线阅读,更多相关《八位十进制数字频率计[基础资料].doc(9页珍藏版)》请在三一文库上搜索。

1、 EDA课程设计报告书题 目:8位十进制数字频率计的设计姓 名:学 号:所属学院:专业年级:指导教师:完成时间:8位十进制数字频率计的设计一、 设计介绍数字频率计是采用数字电路制做成的能实现对周期性变化信号频率测量的仪器。频率计主要用于测量正弦波、矩形波、三角波和尖脉冲等周期信号的频率值。其扩展功能可以测量信号的周期和脉冲宽度。通常说的,数字频率计是指电子计数式频率计。频率计主要由四个部分构成:输入电路、时基(T)电路、计数显示电路以及控制电路。在电子技术领域,频率是一个最基本的参数。数字频率计作为一种最基本的测量仪器以其测量精度高、速度快、操作简便、数字显示等特点被广泛应用。许多物理量,例如

2、温度、压力、流量、液位、PH值、振动、位移、速度等通过传感器转换成信号频率,可用数字频率计来测量。尤其是将数字频率计与微处理器相结合,可实现测量仪器的多功能化、程控化和智能化.随着现代科技的发展,基于数字式频率计组成的各种测量仪器、控制设备、实时监测系统已应用到国际民生的各个方面。2、 设计目的(1) 熟悉Quatus 11软件的基本使用方法。(2) 熟悉EDA实验开发系统的使用方法。(3) 学习时序电路的设计、仿真和硬件设计,进一步熟悉VHDL设计技术。 三、数字频率计的基本原理数字频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸

3、门时间为1秒。闸门时间也可以大于或小于一秒。闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次频率的间隔就越长。闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。数字频率计的主要功能是测量周期信号的频率。频率是单位时间(1S)内信号发生周期变化的次数。如果我们能在给定的1S时间内对信号波形计数,并将计数结果显示出来,就能读取被测信号的频率。数字频率计首先必须获得相对稳定与准确的时间,同时将被测信号转换成幅度与波形均能被数字电路识别的脉冲信号,然后通过计数器计算这一段时间间隔内的脉冲个数,将其换算后显示出来。这就是数字频率计的基本原理。频率计测量频率需要设计整形电路使被测周

4、期性信号整形成脉冲,然后设计计数器对整形后的脉冲在单位时间内重复变化的次数进行计数,计数器计出的数字经锁存器锁存后送往译码驱动显示电路用数码管将数字显示出来,需要设计控制电路产生允许产生的门匣信号,计数器的清零信号和锁存器的锁存信号使电路正常工作,再设计一个量程自动转换使测量范围更广。四 系统总体框架 图 3.1 系统总体框架图总体框图设计思路:由50MHz系统时钟分频得到0.5Hz的基准时钟。在基准时钟的1S 高电平期间计被测频率的脉冲个数,1S高电平结束时计数结束,所记录的脉冲个数是被测信号的频率,为了在数码管上显示计数结果需要锁存器将所计的数锁存,因此,在基准时钟下降沿来的时候锁存器实现

5、锁存功能。为了下次计数必须将本次计数的结果清零,所以在基准时钟低电平期间对计数器清零。被测频率从计数器的是中端输入实现频率的测试。将锁存器锁存的数据输入扫描器,通过译码器将锁存的二进制数译成十进制然后显示到数码管上,最终被读出来。5、 设计内容实验条件: (1)开发条件:Quatus 11软件。 (2)实验设备:GW48-ES EDA实验开发系统,电脑。 (3)拟用芯片: EPF10K20TC144-4芯片。源程序:-test controler(测频控制器)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED

6、.ALL;ENTITY TESTCTL ISPORT (CLKK : IN STD_LOGIC ;-test 1HZ control clkCNT_EN,RST_CNT,LOAD : OUT STD_LOGIC); -clear the enable , count,END TESTCTL;ARCHITECTURE BEHAV OF TESTCTL ISSIGNAL DIV2CLK : STD_LOGIC ;BEGINPROCESS (CLKK)BEGINIF CLKKEVENT AND CLKK = 1 THENDIV2CLK = NOT DIV2CLK;END IF;END PROCESS

7、;PROCESS(CLKK,DIV2CLK)BEGINIF CLKK = 0 AND DIV2CLK = 0 THEN RST_CNT = 1;ELSE RST_CNT = 0;END IF;END PROCESS;LOAD = NOT DIV2CLK;CNT_EN = DIV2CLK;END BEHAV;- COUNT10 (CNT10.VHD)(十进制计数器)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 ISPORT(CLK : IN STD_LOGIC; CLR

8、: IN STD_LOGIC; ENB : IN STD_LOGIC; OUTY: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT: OUT STD_LOGIC);END CNT10;ARCHITECTURE BEHAV OF CNT10 ISBEGINPROCESS(CLK,CLR,ENB)VARIABLE CQI : STD_LOGIC_VECTOR (3 DOWNTO 0);BEGIN IF CLR = 1 THEN CQI :=0000;ELSIF CLKEVENT AND CLK = 1 THENIF ENB = 1 THENIF CQI 1001 TH

9、EN CQI := CQI+1;ELSE CQI :=0000;END IF;END IF;END IF;OUTY = CQI;COUT = CQI(0) AND (NOT CQI(1) AND (NOT CQI(2) AND CQI(3);END PROCESS;END BEHAV;-REGISTER (REG4B.VHD)(4位锁存器)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG4B ISPORT (LOAD : IN STD_LOGIC; DIN : IN STD_lOGIC_VECTOR(3 DOWNTO 0); DOUT :

10、OUT STD_LOGIC_VECTOR (3 DOWNTO 0);END REG4B;ARCHITECTURE BEHAV OF REG4B ISBEGIN PROCESS (LOAD ,DIN)BEGINIF LOADEVENT AND LOAD = 1 THEN DOUT = DIN ; -SUO CUNEND IF;END PROCESS;END BEHAV;8位十进制频率计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity choose isport( clk:in std_l

11、ogic; a,b,c,d,e,f,g,h:in STD_LOGIC_VECTOR(3 DOWNTO 0); x,y:out STD_LOGIC_VECTOR(7 DOWNTO 0);end;ARCHITECTURE ONE OF choose IS signal ain:STD_LOGIC_VECTOR(2 DOWNTO 0);signal bin:STD_LOGIC_VECTOR(3 DOWNTO 0);beginprocess(clk) begin if(clkevent and clk=1) then if(ain=111) then ain=000; else ainbin=a;yb

12、in=b;ybin=c;ybin=d;ybin=e;ybin=f;ybin=g;ybin=h;ynull;end case;end process;process(bin)begincase bin iswhen0000=xxxxxxxxxxnull;end case;end process;end;-QUENT1LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY QUENT1 ISPORT(CLKIN : IN STD_LOGIC; FIN : IN STD_LOGIC; scan :

13、 OUT STD_LOGIC_VECTOR(7 DOWNTO 0); seg : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); COUTT: OUT STD_LOGIC );END ENTITY QUENT1;ARCHITECTURE ONE OF QUENT1 ISCOMPONENT chooseport( clk:in std_logic; a,b,c,d,e,f,g,h:in STD_LOGIC_VECTOR(3 DOWNTO 0); x,y:out STD_LOGIC_VECTOR(7 DOWNTO 0);end COMPONENT; COMPONENT TEST

14、CTLPORT (CLKK : IN STD_LOGIC;CNT_EN , RST_CNT,LOAD : OUT STD_LOGIC);END COMPONENT;COMPONENT CNT10PORT (CLK : IN STD_LOGIC; CLR : IN STD_LOGIC; ENB : IN STD_LOGIC; OUTY: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT: OUT STD_LOGIC);END COMPONENT;COMPONENT REG4BPORT (LOAD : IN STD_LOGIC; DIN : IN STD_LOGIC_V

15、ECTOR(3 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT;SIGNAL A_ENA,B_RST,C_LOAD,COUT1,COUT2,COUT3,COUT4,COUT5,COUT6,COUT7 : STD_LOGIC;SIGNAL OUTY1,OUTY2,OUTY3,OUTY4,OUTY5,OUTY6,OUTY7,OUTY8,out1,out2,out3,out4,out5,out6,out7,out8 : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINU1 : TESTCTL POR

16、T MAP (CLKK= CLKIN,CNT_EN=A_ENA,RST_CNT=B_RST,LOAD=C_LOAD);U2 : CNT10 PORT MAP(CLK= FIN,CLR=B_RST,ENB=A_ENA,OUTY=OUTY1,COUT=COUT1);U3 : CNT10 PORT MAP(CLK= COUT1,CLR=B_RST,ENB=A_ENA,OUTY=OUTY2,COUT=COUT2);U4 : CNT10 PORT MAP(CLK= COUT2,CLR=B_RST,ENB=A_ENA,OUTY=OUTY3,COUT=COUT3);U5 : CNT10 PORT MAP(C

17、LK= COUT3,CLR=B_RST,ENB=A_ENA,OUTY=OUTY4,COUT=COUT4);U6 : CNT10 PORT MAP(CLK= COUT4,CLR=B_RST,ENB=A_ENA,OUTY=OUTY5,COUT=COUT5);U7 : CNT10 PORT MAP(CLK= COUT5,CLR=B_RST,ENB=A_ENA,OUTY=OUTY6,COUT=COUT6);U8 : CNT10 PORT MAP(CLK= COUT6,CLR=B_RST,ENB=A_ENA,OUTY=OUTY7,COUT=COUT7);U9 : CNT10 PORT MAP(CLK=

18、COUT7,CLR=B_RST,ENB=A_ENA,OUTY=OUTY8,COUT=COUTT);U10 : REG4B PORT MAP(LOAD= C_LOAD,DIN= OUTY1,DOUT=OUT1);U11 : REG4B PORT MAP(LOAD= C_LOAD,DIN= OUTY2,DOUT=OUT2);U12 : REG4B PORT MAP(LOAD= C_LOAD,DIN= OUTY3,DOUT=OUT3);U13 : REG4B PORT MAP(LOAD= C_LOAD,DIN= OUTY4,DOUT=OUT4);U14 : REG4B PORT MAP(LOAD=

19、C_LOAD,DIN= OUTY5,DOUT=OUT5);U15 : REG4B PORT MAP(LOAD= C_LOAD,DIN= OUTY6,DOUT=OUT6);U16 : REG4B PORT MAP(LOAD= C_LOAD,DIN= OUTY7,DOUT=OUT7);U17 : REG4B PORT MAP(LOAD= C_LOAD,DIN= OUTY8,DOUT=OUT8);u18 : choose port map(clk=fin,a=out1,b=out2,c=out3,d=out4,e=out5,f=out6,g=out7,h=out8,x=scan,y=seg);END

20、 ARCHITECTURE ONE;六 原理图七、总结(1)设计小结本次设计中,我们成功完成本系统设计所要求的八位十进制频率计的测频功能。在设计开始前我们就系统整体框架和各个模块功能进行了详细的分析和设计准备工作,设计过程中,我们相互协调,积极参与讨论,最终克服了所有遇到的技术难点。(2)设计收获通过本次设计,我们在对EDA这门技术上有了更深刻的认识,也在实践过程中感受到了EDA设计给我们设计带来的方便。在这个过程中,我们不仅比较熟练地掌握了QuartusII软件的使用,与此同时,我们还对电子设计的思路有了更清晰的认识。通过对EDA设计我们更深入的了解了可编程逻辑器件的各个功能,也从中学到了很

21、多电子电路设计方面的知识,为我们以后从事设计工作打下了一定的基础,虽然设计的系统不算完美,但是我确信自己努力认真了,从中学到了知识、开阔了眼界,这也是课程设计真正目的所在。(4) 设计改进由于自身能力有限,学到的知识不多,本次八位十进制频率计的设计仅仅是完成了一些基本的功能,如计数,锁存,译码和显示,在实际的频率测量中,信号在进入计数器之前应该先经过放大整形电路,将信号转化为标准的矩形波,如果信号的频率太大,还得要考虑是否要先对被测频率进行分频,从而使得测量结果更加精确稳定,更具说服力,频率计作为一种测量仪器应该有自动换挡的功能,从而才能方便使用。另一方面,显示可以采用液晶显示,从而使显示的效果更加的美观。(5) 致谢我们小组能够完成这次课程设计,首先要感谢老师耐心细致的为我们分析题目,提供解决方案,如果没有老师的悉心指导,我们的课程设计也不会进展的如此顺利,并最终实现各个功能。此外还要感谢我的组员们,和他们一起思考问题,摸索quartus软件的使用方法,仿真方法等。通过和他们一起思考,讨论分析问题,我受到很大的启发,理解到团队协作的重要性。9基础教育a

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1