学号文库上传_第1页
学号文库上传_第2页
学号文库上传_第3页
学号文库上传_第4页
学号文库上传_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、武汉理工大学能力拓展训练说明书学 号: 能力拓展训练题 目学 院专 业班 级姓 名指导教师2014年月日能力拓展训练任务书学生姓名: 专业班级: 指导教师: 工作单位: 题 目: 频率计设计 初始条件:计算机、Max+plus、EDA实验箱。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)设计一个能测量方波信号的频率计,测量结果用十进制数显示,测量范围是1100KHZ,分成两个频段,即1999KHZ,1100KHZ,用三位数码管显示测量频率,分别用某位发光二级管用LED 显示表示单位(亮绿灯表示HZ,亮红灯表示KHZ)。提高部分:具有超量度报警功能,在超出目前

2、量程档的测量范围时,发出灯光和音响信号。任务安排:(1) 设计任务及要求分析(2) 方案比较及认证说明(3) 系统原理阐述,写出设计方案结构图。(4) 软件设计课题需要说明:软件思想,流程图,源程序及程序注释(5) 调试记录及结果分析(6) 总结(7) 参考资料5篇以上(8) 附录:程序清单时间安排:D1:安排设计任务;收集资料;方案选择D2:程序设计D3:实验室内调试程序并演示D4:撰写报告D5:交能力拓展训练报告主要参考资料:1 谭会生,张昌凡EDA 技术及应用西安:西安电子科技大学出版社20042 孙晓明EDA实验指导书武汉:武汉理工大学教材中心,20071指导教师签名: 孙晓明 201

3、4 年 7 月 4 日系主任(或责任教师)签名: 年 月 日摘要在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系。数字频率计是一种基本的测量仪器,被广泛应用于电子、测控等领域。本文主要采用EDA工具作为开发手段,使用VHDL语言设计实现数字频率计系统。该数字频率计系统的总体电路构成,包括控制模块、计数模块、锁存和显示模块,然后用VHDL语言实现各个模块,最后在MAX+plus软件对所设计的数字频率计进行仿真实验。关键词:数字频率计 EDA VHDL语言 MAX+plus软件目录目录51 设计任务及要求分析11.1 设计任务11.2 设计要求分析12

4、设计方案12.1 设计思路13 频率计硬件电路设计23.1 硬件电路单元电路23.1.1 TESTCTL控制信号发生模块23.1.2 CNT10十进制计数模块33.1.3 REG32B锁存器模块33.1.4 SETTIME模块43.1.5 DELED数码管位选模块43.2 硬件总电路设计54 频率计软件设计65 频率计系统调试仿真66 个人总结9参考文献10附录11TESTCTL模块程序代码11CNT10模块程序代码11REG32B模块程序代码12SELTIME模块程序代码13DELED模块程序代码141 设计任务及要求分析1.1 设计任务设计一个能测量方波信号的频率计,测量结果用十进制数显示

5、,测量范围是1100KHZ,分成两个频段,即1999HZ,1100KHZ,用三位数码管显示测量频率,分别用某位发光二级管用LED 显示表示单位(亮绿灯表示HZ,亮红灯表示KHZ)。1.2 设计要求分析 由设计任务书可知有以下几个要求:1 使用三位数码管采用十进制显示所测频率;2 测量范围为:1100KHZ;3 测量分为两个频段:1999HZ,1100KHZ;4 使用发光二极管显示表示单位,绿灯表示测量范围为1999HZ,亮红灯表示测量范围为1100KHZ。2 设计方案2.1 设计思路这里数字频率计主要由测量/校验选择模块、计数器模块、送存选择器模块、锁存模块和扫描显示模块几部分。如图2-1所示

6、。图2-1总体设计方案图1 测量/校验选择模块通过一个测频信号发生器控制计数。设置 1 秒定时信号,在 1 秒定时时间内的所有被测信号送计数器输入端。2 计数器对信号进行计数,在 1 秒定时结束后,将计数器结果送锁存器锁存,同时将计数器清零,为下一次采样测量做好准备。3 设置量程档控制开关 K,单位显示信号 Y,当 K=0 时,为 1999Hz 量程档,数码管显示的数值为被测信号频率值,Y 显示绿色,即单位为 Hz,当 K=1 时,为1100KHz量程档,被测信号频率值为数码管显示的数值乘以 1000,Y 显示红色,即单位 KHz。4 设置超出量程档测量范围示警信号 alert。计数器由四级十

7、进制计数构成(带进位 C)。若被测信号频率小于1KHz(K=0),则计数器只进行三级十进制计数,最大显示值为999Hz如果被测信号频率超过此范围,示警信号驱动灯光;若被测信号为1100KHz (K=1),计数器进行四位十进制计数,取高三位显示,最大显示值为 99.9KHz,如果被测信过此范围报警。3 频率计硬件电路设计3.1 硬件电路单元电路3.1.1 TESTCTL控制信号发生模块控制信号发生模块如图3-1所示。图 3-1 控制信号发生模块这个模块的主要功能是一个测频信号发生器 ,此模块中含有clk一个输入端和teten,clr_cnt和load三个输出端。频率测量的基本原理是计算每秒钟内待

8、测信号的脉冲个数。Testctl的计数使能信号tsten能产生一个1秒脉冲宽的周期信号,并对频率计的每一计数器cnt10的使能ena进行同步控制。当tsten高电平时,允许计数;为低电平时停止计数,并保持其计数结果。在停止计数期间,首先需要一个锁存器load的上跳沿将计数器前一秒的计数值锁存进锁存器REG32B中。由clr_cnt来控制计数器的清零端。3.1.2 CNT10十进制计数模块十进制计数模块如图3-2所示。图3-2 十进制计数模块这个模块的主要功能是一个异步的十进制计数器,它记录的数值是从09。此模块有三个输入端和两个输出端,它的三个输入端分别为clk,clr和ena,输出端为cq3

9、.0和carry_out。其中clk时钟信号,在它上升沿时开始计数,clr为复位清零信号,ena为计数器的使能端,当它为高电平的时候开始计数,低电平的时候停止计数。cq3.0为四位输出端,carry_out为进位输出端,当它为1时,下一位计数器开始计数。3.1.3 REG32B锁存器模块锁存器模块如图3-3所示。图3-3 锁存器模块这个模块是一个锁存器模块,此模块包括三个输入端,load,rst和din23.0以及一个输出端dout23.0,其中rst为清零信号,当它为高电平的时候清零,当它为低电平的时候在load的上升沿时,din23.0将计数器记录的数据放入到锁存中进行锁存,处理后由dou

10、t23.0进行输出。3.1.4 SETTIME模块数码管选存模块如图3-4所示。图3-4 数码管选存模块此模块是一个数码管选存模块,此模块有三个输入端和三个输出端,clk为时钟信号,在clk为上升沿时候把锁存器的输出信号送入din23.0端口,其中输入端k具有控制数码管显示的功能当k为高电平的时候数码管显示高三位,当k为低电平的时候数码管显示低三位,daout3.0输出端连接DELED模块,SEL2.0连接试验箱上对数码管进行位选。3.1.5 DELED数码管位选模块数码管位选模块如图3-5所示。数码管位选模块有一个输入端s3.0和八个输出端,其中s3.0为译码器的输入为4位二进制代码,由译码

11、器把二进制表示的地址转换为单线选择信号。八个输出端控制数码管显示相应的数值。图3-5数码管位选模块3.2 硬件总电路设计通过对以上各个模块综合组成如图3-6所示硬件电路总图。图 3-6 硬件电路总图4 频率计软件设计本数字频率计采主要用EDA软件Max+plus进行设计,综合,仿真,具体步骤如下:1 用Max+plus设计出各个部分模块,并对各个模块进行仿真测试。2 使用VHDL程序语言综合生成功能模块图。3 根据要求连接好各个模块,进行综合总体仿真。基本流程框图如图4-1所示。图4-1 基本流程框图具体程序代码见附录。5 频率计系统调试仿真首先这里需要对管脚进行锁定管脚锁定图如图5-1所示。

12、图5-1管脚锁定图1 TESTCTL模块TESTCTL模块仿真波形如图5-2所示。图5-2 TESTCTL模块仿真波形根据上图分析:当clk为上升沿的时候,clr_cnt为计数器的清零信号变为下降沿,而计数的使能信号变为上升沿,开始计数。当clk为下降沿的时候clr_cnt为上升沿,对计数器清零,同时锁存器的控制信号load也为上升沿将前一次所测量的数值进行锁存。2 CNT10模块CNT10模块仿真波形图如图5-3所示。图5-3 CNT10模块仿真波形图由仿真波形图分析可得:clr为计数器的清零信号,当clr为高电平平计数器清零,当clr为低电平的时候计数器允许计数,clk为时钟信号,ena为

13、计数器的使能信号,当clk为上上升沿时候开始加一计数,计数范围为09,ena高电平时候,停止计数,为低电平始计数。3 REG32B模块REG32B模块仿真波形图如图5-4所示。图5-4 REG32B模块仿真波形图根据仿真波形图:rst为复位信号,当它为高电平的时候,dout的输出值为0,当rst为低电平的时候,且load为上升沿的时候,数据通din进入锁存器进行锁存,dout相应的进行输出。4 SELTIME模块SELTIME模块仿真波形图如图5-5所示。图5-5 SELTIME模块仿真波形图由波形仿真图分析可得:当k为低电平时控制数码管使其显示待测信号的低三位,当K为高电平时控制数码管使其显

14、示待测信号高三位。把已经经过锁存器的输出信号送到s23.0端口。daout3.0输出端连接DELED模块,SEL2.0连接试验箱上对数码管进行位选。5 DELED模块DELED模块仿真波形图如图5-6所示。图5-6 DELED模块仿真波形图由波形仿真图分析可知:S为数码管的输入端口,通过s输入一个四位二进制数,其在数码管上得到相应的显示数值,当输入0101,对应在输出值为10110110,在数码管上显示数字5。6 个人总结作为自动化专业的学生,我们应该要做到熟练自动化软件的使用,EDA正是我们需要熟练找我的一门技术。EDA技术作为现代电子设计技术的核心,它依赖功能强大的计算机,在EDA工具软件

15、平台上,对硬件描述语言VHDL为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、逻辑简化、逻辑分割、逻辑综合、结构综合,以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。本次课程设计使用EDA技术完成了对数字频率计的设计,描述了各个模块的基本原理,用VHDL语言编程实现,并在软件上进行了仿真,基本上实现了任务要求。通过本次课程设计,我熟练地掌握了EDA先关如见软件的基本使用方法,对VHDL语言的编程方法和编程技巧有了更深层次的理解,对FPGA的了解及应用有了更深层的认识,对频率计有很更深的认识并掌握了频率计的设计过程。在完成此次设计的过程中,遇到了很多困难,但最终都一一攻克。通过这次

16、课程设计,自己的EDA设计能力有了很大的提高。与此同时,也发现了自身许多的不足之处,比如在课程设计开始之时,自己并不会使用EDA的个种软件,对于VHDL程序语言也不了解,这造成在课程设计过程中做的十分艰难。所以在以后的日子里,自己要多主动去了解使用专业软件,多学习,多实践。并养成这样的习惯,为以后的工作生活打好基础。参考文献1 徐海军,叶卫东FPGA在高性能数据采集系统中的应用J计算机技术与应用,20055:44-612 辛君,黄松岭,刘立力基于FPGA的超多通道高速采集系统设计J电测与仪表,200812:125-1503 郑燕,赫建国,党剑华基于VHDL语言与Quartus软件的可编程逻辑器

17、件应用与开发北京:国防工业出版社,20074 黄科,艾琼龙EDA数字系统设计案例实践清华大学出版社,20105 Gottschalk,EShi Z. FPGA Curved Track Fitters and a Multiplierless Fitter Scheme,2008附录TESTCTL模块程序代码library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity testctl is port( clk : in std_logic; tsten : out std_logic; cl

18、r_cnt : out std_logic; load : out std_logic); end testctl;architecture behav of testctl is signal div2clk : std_logic; begin process(clk) begin if(clk'event and clk='1') then div2clk<=not div2clk; end if; end process; process(clk,div2clk) begin if(clk='0' and div2clk='0

19、9;) then clr_cnt<='1' else clr_cnt<='0' end if; end process; load<=not div2clk; tsten<=div2clk; end behav;CNT10模块程序代码library ieee; use ieee.std_logic_1164.all; entity cnt10 is port(clk : in std_logic; clr : in std_logic; ena : in std_logic; cq : out integer range 0 to 9;

20、carry_out : out std_logic); end cnt10;architecture behav of cnt10 is signal cqi : integer range 0 to 9; begin process(clr,clk,ena) begin if(clr='1') then cqi<=0; elsif(clk'event and clk='1') then if(ena='1') then if(cqi=9) then cqi<=0; carry_out<='1' else

21、 cqi<=cqi+1; carry_out<='0' end if; end if; end if; end process; REG32B模块程序代码library ieee; use ieee.std_logic_1164.all; entity reg32b is port(load : in std_logic; rst : in std_logic; din : in std_logic_vector(23 downto 0); dout : out std_logic_vector(23 downto 0); end reg32b;architectu

22、re behav of reg32b is signal data : std_logic_vector(23 downto 0); begin process(rst,load,data) begin if rst='1' then data<=(others=>'0'); elsif(load'event and load='1') then data<=din; end if; dout<=data; end process; end behav;SELTIME模块程序代码library ieee; use

23、ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity seltime is port(clk : in std_logic; din : in std_logic_vector(23 downto 0); k: in std_logic; daout : out std_logic_vector(3 downto 0); sel : out std_logic_vector(2 downto 0); end seltime;architecture behav of seltime is signal sec : std

24、_logic_vector(2 downto 0); begin process(clk) begin if(clk'event and clk='1') then if(sec="010") then sec<="000" else sec<=sec+1; end if; end if; end process; process(sec,din(23 downto 0) begin if k='0' then case sec is when "000"=>daout<

25、=din(3 downto 0); when "001"=>daout<=din(7 downto 4); when "010"=>daout<=din(11 downto 8); when others=>daout<="XXXX" end case; elsif k='1' then case sec is when "000"=>daout<=din(15 downto 12); when "001"=>daout<

26、;=din(19 downto 16); when "010"=>daout<=din(23 downto 20); when others=>daout<="XXXX" end case; end if; end process; sel<=sec; end behav;DELED模块程序代码library ieee; use ieee.std_logic_1164.all; entity deled is port( s : in std_logic_vector(3 downto 0); a,b,c,d,e,f,g,h

27、 : out std_logic); end deled; architecture behav of deled is signal data:std_logic_vector(3 downto 0); signal dout:std_logic_vector(7 downto 0); begin data<=s; process(data) begin case data is when "0000"=>dout<="00111111" when "0001"=>dout<="00000110" when "0010"=>dout<="01011011" when "0011"=>dout<="01001111" when "0100"=>dout<="01100110" when "0101"=>dout<="01101101" when "0110"=>dout<="01

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论