ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:117.39KB ,
资源ID:7914366      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7914366.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA课程设计数字频率计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA课程设计数字频率计.docx

1、EDA课程设计数字频率计 EDA数字频率计 课程设计报告专 业: 电子信息工程 班 级: 08电信 姓 名: 学 号: 指导教师: 年 月 日 一 课程设计目的1)课程设计题:数字频率计2)任务及要求1、设计一个能测量方波信号的频率的频率计。2、测量的频率范围是0999999Hz。3、结果用十进制数显示。4、按要求写好设计报告(设计报告内容包括:引言,方案设计与论证,总体设计,各模块设计,调试与数据分析,总结)。3)教学提示1、脉冲信号的频率就是在单位时间内所产生的脉冲个数,其表达式为,f为被测信号的频率,N为计数器所累计的脉冲个数,T为产生N个脉冲所需的时间。所以,在1秒时间内计数器所记录的

2、结果,就是被测信号的频率。2、被测频率信号取自实验箱晶体振荡器输出信号,加到主控门的输入端。3、再取晶体振荡器的另一标准频率信号,经分频后产生各种时基脉冲:1ms,10ms,0.1s,1s等,时基信号的选择可以控制,即量程可以改变。4、时基信号经控制电路产生闸门信号至主控门,只有在闸门信号采样期间内(时基信号的一个周期),输入信号才通过主控门。5f=N/T,改变时基信号的周期T,即可得到不同的测频范围。5、 当主控门关闭时,计数器停止计数,显示器显示记录结果,此时控制电路输出一个置零信号,将计数器和所有触发器复位,为新的一次采样做好准备。6、 改变量程时,小数点能自动移位。4)设计报告要求1、

3、说明设计作品的功能、特点、应用范围;2、方案对比,确定方案。3、电路工作原理、操作方法;4、编程方法、程序框图及关键程序清单。5、课程设计总结。数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字,显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号,方波信号以及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精度高,显示直观,所以经常要用到数字频率计。二、设计方案论证、结果以及分析1 原理图编译成功后其波形图如下:2、信号发生器library ieee;use ieee.std_lo

4、gic_1164.all;use ieee.std_logic_unsigned.all;entity sele is port(clk: in std_logic; jian: in std_logic_vector(1 downto 0); oclk: out std_logic);end;architecture s_1 of sele issignal full : std_logic;signal t :integer range 0 to 5999999; beginP1:process(jian,t) begin case jian is when 00 = t t t t nu

5、ll; end case;end process P1;P2: process(clk,t) variable s : integer range 0 to 5999999; begin if (clkevent and clk = 1) then if s t then s := s +1; else s := 0 ; end if; end if; if s = t then full = 1; else full = 0; end if;end process P2;P3: process(full) variable c : std_logic;begin if fullevent a

6、nd full = 1 then c := not c; if c = 1 then oclk = 1; else oclk =0; end if; end if; end process P3;end;其仿真波形为:3、 测频library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cp is port(clkk: in std_logic; en,rst,load: out std_logic);end;architecture cp_1 of cp is signal div2: std

7、_logic;beginprocess(clkk)begin if(clkkevent and clkk=1) then div2 = not div2; end if;end process;process(clkk,div2)begin if (clkk=0 and div2=0) then rst =1; else rst =0; end if;end process;load = not div2;en = div2;end;其仿真波形为:4、 计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned

8、.all;entity jishu is port(rst,en,clk: in std_logic; Q: out std_logic_vector(3 downto 0); cout: out std_logic);end;architecture cnt of jishu is signal cnt: std_logic_vector(3 downto 0);beginprocess(rst,en,clk)beginif rst=1 then cnt = 0000;elsif(clkevent and clk=1) and en = 1 then if cnt = 1001 then c

9、nt = 0000; cout = 1; else cnt = cnt + 1; cout = 0; end if;end if;end process;Q = cnt;end;在源程序中COUT是计数器的进位输出;Q3.0是计数器的状态输出;CLK是时钟输入端;RST是复位控制端;当RST=1时,Q3.0=0,EN是使能控制输入端,当EN=1时,计数器计数,当EN=0时,计数器保持状态不变。编译成功后,其仿真波形如下:在项目编译仿真成功后,将设计的十进制计数器电路设置成可调用的元件jishu.sym用于以下的顶层设计。5、 16位寄存器library ieee;use ieee.std_lo

10、gic_1164.all;use ieee.std_logic_unsigned.all;entity suocun is port(load: in std_logic; din : in std_logic_vector(15 downto 0); dout: out std_logic_vector(15 downto 0);end;architecture suo of suocun is beginprocess(load,din)beginif (loadevent and load=1) then dout = din;end if;end process;end;在源程序中lo

11、ad是锁存信号,上升沿触发;din3.0是寄存器输入;dout3.0是寄存器输出。编译成功后生成元件图如下图,以便顶层模块的调用。4位寄存器寄存器是在计数结束后,利用触发器的上升沿吧最新的频率测量值保存起来,这样在计数的过程中可不必一直看数码显示器,显示器将最终的频率读数定期进行更新,其输出作为动态扫描电路的输入。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity suo is port(load: in std_logic; din : in std_logic_vector(3 do

12、wnto 0); dout: out std_logic_vector(3 downto 0);end;architecture suo_1 of suo is beginprocess(load,din)beginif (loadevent and load=1) then dout bt = 00;q bt = 01;q bt = 10;q bt = 11;q null; end case; case q is when 0000 = sg sg sg sg sg sg sg sg sg sg null; end case;end process P1;P2:process(clk) be

13、gin if(clkevent and clk=1) then cnt8 = cnt8 +1; end if;end process P2;end;编译成功后,其波形图为:7、 译码library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity divid is port(clk50: in std_logic; qlkhz: out std_logic);end;architecture div of divid isbeginK1:process(clk50) variable cout: in

14、teger:=0; begin if(clk50event and clk50=1) then cout := cout + 1; if cout = 24999 then qlkhz = 1; elsif cout = 49999 then qlkhz led0 led1 led2 led3 null;end case;end if;end process;end;仿真波形如下:编译成功后生成元件图如下图,以便顶层模块的调用。9、 分频设计library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_signed.all;entity

15、 fp is port( clk : in std_logic; oclk: out std_logic);end;architecture fp_1 of fp issignal full : std_logic;beginP1: process(clk) variable s : integer range 0 to 99; begin if (clkevent and clk = 1) then if s 99 then s := 0; elsif s = 99 then full = 1; end if; end if;end process P1;P2: process(full)

16、variable c : std_logic; begin if full = 1 then c := not c; if c = 1 then oclk = 1; else oclk =0; end if; end if; end process P2;end;编译成功后,其波形图为:三设计体会通过对EDA技术这门课程的学习,心得体会甚多。虽然一开始觉得什么都不懂,但是通过一次次的实验,我们真的学到了不少的东西。往往书本上的知识在实际使用或实验时都应该加以修改,使之更适合实际应用,也更简洁。这次EDA课程设计,使我更加的了解了EDA,VHDL语言和外部设备的接线。也让我更加了解了EDA设计的

17、流程和原理。通过本次设计,让我很好的锻炼了理论联系实际,与具体项目、课题相结合开发、设计产品的能力。既让我们懂得了怎样把理论应用于实际,又让我们懂得了在实践中遇到的问题怎样用理论去解决。在本次设计中,我们还需要一些上课时没有牢固的知识,于是图书馆和INTERNET成了我们很好的助手。在查阅资料的过程中,我们要判断优劣、取舍相关知识,不知不觉中我们查阅资料的能力也得到了很好的锻炼。我们学习的知识是有限的,在以后的工作中我们肯定会遇到许多未知的领域,这方面的能力便会使我们受益非浅。在设计过程中,总是遇到这样或那样的问题。有时发现一个问题的时候,需要做大量的工作,花大量的时间才能解决。自然而然,我的

18、耐心便在其中建立起来了。为以后的工作积累了经验,增强了信心。我认为,不仅仅是此次考查设计,在整个这学期的实验中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后罪实用的,真的是受益匪浅。我已从中真正体会到了,做设计不是为顺利完成而做,而是为了学会遇到问题懂得去解决而做。虽然实践问题会遇到很多,每一次实验其实真的可以让人学到很多知识。只有自己懂得去总结,才能从中体会到收获。四参考文献:1 潘松 VHDL实用教程M 成都电子科技大学出版社,2000 2 卢毅,赖杰 VHDL与数字电路设计M 北京科学出版社,2001 3 徐志军 大规模可编程逻辑器件及其应用M 成都电子科技大学出版社, 2004.2 4 赵曙光 可编程逻辑器件原理、开发与应用M 西安电子科技大学出版社,2000.6

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1