数字频率计实验报告.doc

上传人:w****2 文档编号:6545861 上传时间:2020-02-28 格式:DOC 页数:26 大小:4.98MB
返回 下载 相关 举报
数字频率计实验报告.doc_第1页
第1页 / 共26页
数字频率计实验报告.doc_第2页
第2页 / 共26页
数字频率计实验报告.doc_第3页
第3页 / 共26页
点击查看更多>>
资源描述
大连理工大学城市学院 数字电路与系统课程设计 设计题目:数字频率计学 院:电子与自动化学院专 业: 自动化 学 生: 揣智涵 同 组 人: 王晓宁 周英茹 指导教师: 于海霞 完成日期: 2012年3月26日 目 录第一章 设计任务1.1项目名称1.2项目设计说明1.2.1设计任务和要求1.2.2进度安排1.3项目总体功能模块图第二章 需求分析2.1问题基本描述(要求分析得出整个系统流程图)2.2系统模块分解及各模块功能的基本要求第三章 设计原理3.1 设计原理3.2 MAXPLUSII介绍第四章 系统功能模块设计4.1 FEN模块4.1.1 FEN模块流程图4.1.2 输入输出引脚及其功能说明4.1.3 程序代码实现4.2 SEL模块4.2.1 SEL模块流程图4.2.2输入输出引脚及其功能说明4.2.3程序代码实现4.3 CORNA模块4.3.1 CORNA模块流程图4.3.2 输入输出引脚及其功能说明4.3.3 程序代码实现4.4 LOCK模块4.4.1 LOCK模块流程图4.4.2 输入输出引脚及其功能说明4.4.3 程序代码实现4.5 CH模块4.5.1 输入输出引脚及其功能说明4.5.2 程序代码实现4.6 DISP模块4.6.1 输入输出引脚及其功能说明4.6.2 程序代码实现第五章调试并分析结果5.1输入说明5.2预计输出5.3测试结果记录5.4测试结果分析第六章 结论心得体会参考文献第一章 设计任务1.1 项目名称:数字频率计1.2 项目设计说明1.2.1 设计任务和要求此频率计共分4档:一档:09999Hz;二档:1099.99kHZ;三档:100.0999.9kHz;,四档:1.000999MHz;在换挡的设计方面,此程序突破了以往改变闸门时间的方法,使自动换挡的实现更加简单可靠。1.2.2 进度安排 第一节课:画出模块及程序流程图第二节课:调试各模块程序使其无误第三节课:连接整个程序并下载到试验箱是数字频率计的功能实现第四节课:改进程序设计实现创新,然后完成课程设计报告第五节课:完成答辩1.3 项目总体功能模块图如下图1-1第二章 需求分析 2.1 问题基本描述所谓频率,就是周期信号在单位时间(1秒)内变化的次数。频率计的测量范围为1MHZ,为了测量精确量程分别为10KHZ,100KHZ,1000KHZ和1MHZ四个档。即最大读数分别为9.999KHZ,99.99KHZ,999.9KHZ,999MHZ。要求两成自动换挡。其具体功能如下:(1) 当量程超过999时,自动增大一档,下一次测量时量程大一档;(2) 当超过测量范围时,显示溢出,报警器报警。(3) 小数点位置随量程变化自动移位。(4) 采用记忆显示方法,在测量过程中不显示数据,在测量完成以后显示测频结果,并将此结果 保存到下次测量结束,显示时间不少于1秒。(5) 根据频率计的测频原理,可以选择合适的时基信号即阀门时间,对输入信号脉冲进行计数,实现测频的目的。(6) 根据数字频率计的设计原理,可以将数字频率计设计分为五个模块来实现其功能。即分频模块,控制模块,计数模块,锁存模块和显示模块。用CLDH语言进行编程。(7) 弄清什么情况下是测频率,就是选择合适的时基信号的问题。测频率时以输入信号作为时钟信号,因为输入信号的频率大于频率计的基准频率。: 数字频率计的系统流程图如下图2-12.2 系统模块分解及各模块功能的基本要求 计数器在各个档是被反复应用的,如果在各个档分别设计计数器就造成资源的浪费,而且在测周期和频率的时候,计数器的时基信号和输入信号要进行调换,但计数功能是一样的,所以将计数器设为单独的模块。七段译码器也是被重复使用的,也设成单独的模块,这样的话就不用在重复使用的时候重复书写译码电路了。总体来说数字频率计分为五个模块来设计,即分频模块计数模块,锁存模块,预测控制信号发生器,显示模块。分频模块为计数模块提供1秒的阀门时间。计数模块是整个程序的核心,它完成在1秒的时间里对被测信号计数的功能,并通过选择输出数据实现自动换挡的功能。锁存模块在信号L的下降沿到来时将信号A4,A3,A2,A1锁存。显示模块对应于数码管片选信号,将相应的数据送出,其中档位也通过数码管显示。第三章 设计原理3.1 设计原理 众所周知,频率信号易于传输,抗干扰性强,可以获得较好的测量精度。因此,频率检测是电子测量领域最基本的测量之一。频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,即闸门时间为1 s。闸门时间可以根据需要取值,大于或小于1 s都可以。闸门时间越长,得到的频率值就越准确,但闸门时间越长,则每测一次频率的间隔就越长。闸门时间越短,测得的频率值刷新就越快,但测得的频率精度就受影响。一般取1 s作为闸门时间。 数字频率计的关键组成部分包括测频控制信号发生器、计数器、锁存器、译码驱动电路和显示电路,其原理框图如图3-1所示。图3-1数字频率计原理图3.2 MAXPLUSII介绍MAX+PLUS(Multiple Array and Programming Logic User System)开发工具是Altera公司推出的一种EDA工具,具有灵活高效、使用便捷和易学易用等特点。Altera公司在推出各种CPLD的同时,也在不断地升级相应的开发工具软件,已从早起的第一代A+PLUS、第二代MAX+PLUS发展到第三代MAX+PLUS和第四代Quartus。使用MAX+PLUS软件,设计者无需精通器件内部的复杂结构,只需用业已熟悉的设计输入工具,如硬件描述语言、原理图等进行输入即可,MAX+PLUS就会自动将设计转换成目标文件下载到器件中去。MAX+PLUS开发系统具有以下特点。(1) 多平台。MAX+PLUS软件可以在基于PC机的操作系统如Windows95、Windows98、Windows2000、Windows NT下运行,也可以在Sun SPAC station等工作站上运行。(2) 开放的界面。MAX+PLUS提供了与其他设计输入、综合和校验工具的接口,借口符合EDIF 200/300、LPM、VHDL、Verilog-HDL等标准。目前MAX+PLUS所支持的主流第三方EDA工具主要有Synopsys、Viewlogic、Mentor、Graphics、Cadence、OrCAD、Xilinx等公司提供的工具。(3) 模块组合式工具软件。MAX+PLUS具有一个完整的可编程逻辑设计环境,包括设计输入、设计处理、设计校验和下载编程4个模块,设计者可以按设计流程选择工作模块。(4) 与结构无关。MAX+PLUS开发系统的核心Compiler(编译器)能够自动完成逻辑综合和优化,它支持Altera的Classic、MAX7000、FLEX8000和FLEX10K等可编程器件系列,提供一个与结构无关的PLD开发环境。(5) 支持硬件描述语言。MAX+PLUS支持各种HDL设计输入语言,包括VHDL、Verilog-HDL和Altera的硬件描述语言AHDL。(6) 丰富的设计库。MAX+PLUS提供丰富的库单元供设计者调用,其中包括一些基本的逻辑单元,74系列的器件和多种特定功能的宏功能模块以及参数化的兆功能模块。调用库单元进行设计,可以大大减轻设计人员的工作量,缩短设计周期。第四章 系统功能模块4.1 FEN 模块4.1.1 FEN 模块流程图图4-14.1.2输入输出引脚及其功能说明模块FEN如图9-87所示。通过对4MHz时钟的分频得到0.5Hz时钟,为模块CORNA提供1s的闸门时间。CLK:输入时钟信号;Q:输出分频后的基准信号。程序代码的实现如下library ieee;use ieee.std_logic_1164.all; entity fen is port(clk:in std_logic;q: out std_logic); 图4-2end fen;architecture fen_arc of fen isbeginprocess(clk)variable cnt: integer range 0 to 999999;variable x: std_logic;beginif clkevent and clk = 1 thenif cnt999999 thencnt:=cnt+1;elsecnt:=0;x:= not x;end if;end if;q=x;end process;end fen_arc;4.2 SEL模块4.2.1 SEL 模块流程图图4-34.2.2 SEL模块输入输出引脚及其功能说明CLK:基准时钟信号; Q2.0:产生数码管的片选信号。4.2.3 程序代码实现library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sel isport(clk: in std_logic; 图4-4q:out std_logic_vector(2 downto 0); end sel;architecture sel_arc of sel isbeginprocess(clk)variable cnt:std_logic_vector(2 downto 0);beginif clkevent and clk=1 thencnt:=cnt+1;end if;q=cnt;end process;end sel_arc;4.3 模块CORNA 4.3.1 CORNA 模块流程图图4-54.3.2 输入输出引脚及其功能说明 该模块是整个程序的核心,它完成在1s的时间里对被测信号计数的功能,并通过选择输出数据实现自动换挡的功能输入输出引脚及其功能说明CLR:复位按钮;SIG:待测频率信号;DOOR:基准时钟频率;ALM:蜂鸣器;DANG3.0:档位值;Q043.0:计算后的频率值。4.3.3程序代码实现library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity corna isport(clr,sig,door : in std_logic;alm : out std_logic;q3,q2,q1,q0,dang : out std_logic_vector(3 downto 0);end corna;architecture corn_arc of corna isbeginprocess (door,sig)variable c0,c1,c2,c3,c4,c5,c6: std_logic_vector (3 downto 0);variable x:std_logic; beginif sigevent and sig=1 thenif door=1 thenifc01001thenc0:=c0+1;elsec0:=0000;if c11001 then c1:=c1+1;elsec1:=0000; 图4-6ifc21001 then c2:=c2+1;elsec2:=0000;ifc31001 thenc3:=c3+1;elsec3:=0000;ifc41001 then c4:=c4+1;elsec4:=0000;ifc51001 thenc5:=c5+1;elsec5:=0000;ifc61001 thenc6:=c6+1;elsec6:=0000;alm=1;end if;end if;end if;end if;end if;end if;end if;elseif clr = 0 thenalm = 0;end if;c6:=0000;c5:=0000;c4:=0000;c3:=0000;c2:=0000;c1:=0000;c0:=0000;end if;if c6/=0000 thenq3=c6;q2=c5;q1=c4;q0=c3;dang=0100;elsif c5/=0000 thenq3=c5;q2=c4;q1=c3;q0=c2;dang=0011;elsif c4/=0000 thenq3=c4;q2=c3;q1=c2;q0=c1;dang=0010;elseq3=c3;q2=c2;q1=c1;q0=c0;dang=0001;end if;end if;end process;end corn_arc;4.4 模块LOCK4.4.1 LOCK 模块流程图图4-74.4.2 输入输出引脚及其功能说明 该模块实现锁存器的功能,在信号L的下降沿到来时信号A4、A3、A2、A1锁存。输入输出引脚及其功能说明L:基准时钟信号;A043.0:接受计数器CORNA传过来的值并锁存;Q043.0:向数据选择器传值。4.4.3 程序代码实现library ieee;use ieee.std_logic_1164.all;entity lock isport (l: in std_logic; a4,a3,a2,a1,a0:in std_logic_vector(3 downto 0); q4,q3,q2,q1,q0:out std_logic_vector(3 downto 0);end lock;architecture lock_arc of lock isbeginprocess(l)variable t4,t3,t2,t1,t0:std_logic_vector(3 downto 0);beginif levent and l=0 thent4:=a4;t3:=a3;t2:=a2;t1:=a1;t0:=a0; end if;q4=t4;q3=t3;q2=t2;q1=t1;q0qqqqqqqqqqqqqqqqq=0000000;end case;end process;end disp_arc;第五章 调试并分析结果5.1输入说明 SIG:接1KHz频率;CLR:接开关;CLK:接4MHz频率。5.2预计输出 低两位数码管显示1;高四位数码管显示1000。5.3 测试结果记录 低两位数码管显示1;高四位数码管显示1000。5.4 测试结果分析本频率计满足试验要求,使用周期和直接测量法进行测量,这样会减小误差。实验中也遇到了很多问题,在器件在线编程过程中,program各项操作无法进行,如果是首次编程,则需要设置下载端口,如果还比能进行操作,可能是芯片或者试验箱出现问题,所以应该换芯片或试验箱。在连接引脚是要特别注意 ,否则显示管无法显示。此外此试验还有需要改进的地方,比如测量频率的精度和灵敏度。待测信号给的是1KHz,数码管档位显示为一档(09999Hz);频率显示为1000;与预计输出完全一样。因为基准信号和待测信号是同一个信号源,故如此准确。也论证了上述设计的正确性。图5-1如上图,待测信号sig 10KHz,clk接1MHz显示如图,第一行和第二行为脉冲频率,第三行为档位,10KHz的待测信号档位为二档。第六章 结论心得体会经过这次的实验课程设计,我学到了如何将多个程序绑在一起使用并构成一个完整的系统。在老师的指导下、在我们实验设计小组的共同努力下、在其他同学的热情帮助下,我们完整滴完成了数字频率计的设计、组装,并做了些创新。虽然实验成功,我们同样在实验过程中遇到了一些问题:1. 刚开始时候的设计是每组组员做一部分, 但是问题就是有些系数不能同一。因此造成了一开始实验进展缓慢。2. 在实验过程中,器材的问题也被我们遇到了。因此也得到了些经验:要对自己的实验成果由信心,不要一出问题就从程序中找问题。可能对你最大的阻碍就是你没有考虑到的器材问题。3. 在最后仿真时候,导线的顺序也是常出问题的地方。由于没有及时发现问题的所在,我们小组花费了整整一节课的时间在改程序,浪费了许多宝贵时间。参考文献【1】VHDL数字电路设计与应用与实践教程【2】第2版王振红 主编机械工业出版社
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!