EDA课设-数字频率计设计(共17页).doc

上传人:飞****2 文档编号:12203125 上传时间:2022-04-24 格式:DOC 页数:17 大小:535.50KB
返回 下载 相关 举报
EDA课设-数字频率计设计(共17页).doc_第1页
第1页 / 共17页
EDA课设-数字频率计设计(共17页).doc_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《EDA课设-数字频率计设计(共17页).doc》由会员分享,可在线阅读,更多相关《EDA课设-数字频率计设计(共17页).doc(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上一背景介绍数字频率计是直接用十进制数字来显示被测信号频率的一种测量装置。它不仅可以测量正弦波、方波、三角波、尖脉冲信号和其他具有周期特性的信号的频率,而且还可以测量它们的周期。经过改装,可以测量脉冲宽度,做成数字式脉宽测量仪;可以测量电容做成数字式电容测量仪;在电路中增加传感器,还可以做成数字脉搏仪、计价器等。因此数字频率计在测量物理量方面应用广泛。本设计用VHDL在CPLD器件上实现数字频率计测频系统,能够用十进制数码显示被测信号的频率,能够测量正弦波、方波和三角波等信号的频率,而且还能对其他多种物理量进行测量。具有体积小、可靠性高、功耗低的特点。数字频率计是计算机

2、、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。采用VDHL编程设计实现的数字频率计,除被测信号的整形部分、键输入部分和数码显示部分以外,其余全部在一片FPGA芯片上实现,整个系统非常精简,而且具有灵活的现场可更改性。在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能。该数字频率计具有高速、精确、可靠、抗干扰性强和现场可编程等优点。专心-专注-专业二设计思路以及实现方法1.测频原理本频率计设计测量频率的基本原理是,首先让被测信号与标准信号一起通过一个闸门,然后用计数器计数信号脉冲的个数,把标准时间内的计数的结果,用锁存器锁存起来,最后用显示译码器,把锁存的结果用LED

3、数码显示管显示出来。频率计测量频率需要设计整形电路使被测周期性信号整形成脉冲,然后设计计数器对整形后的脉冲在单位时间内重复变化的次数进行计数,计数器计出的数字经锁存器锁存后送往译码驱动显示电路用数码管将数字显示出来,需要设计控制电路产生允许计数的门闸信号、计数器的清零信号和锁存器的锁存信号使电路正常工作。2.实现方法根据数字频率计的基本原理,本文设计方案的基本思想是分为五个模块来实现其功能,即整个数字频率计系统分为分频模块、控制模块、计数模块、译码模块和量程自动切换模块等几个单元,并且分别用VHDL对其进行编程,实现了闸门控制信号、计数电路、锁存电路、显示电路等。三系统框图与模块说明1.系统原

4、理框图计数器锁存器译码驱动电路数码管显示测频控制信号发生器待测信号2.模块说明标准时钟发生电路模块借用实验板上标准时钟发生电路,为计数闸门控制电路提供一个标准8Hz信号。计数器闸门控制电路模块计数器闸门控制电路就是产生三个控制信号,即计数器复位信号、4位十进制计数器允许计数信号、锁存信号。锁存电路模块锁存电路就是为了让LED数码管在信号来临之前保持计数值不变。4位十进制计数器锁存电路译码电路计数器闸门控制电路片选电路数据选择电路LED数码显示。计数器复位电路模块计数器复位电路是让频率计恢复到计数初始态。LED数码管驱动电路模块LED数码管驱动电路就是为LED数码管提供驱动电压。4位十进制计数器

5、数据选择器译码电路计数器闸门控制电路锁存电路片选电路LED数码显示待测输入信号4MH时钟4MH时钟四各部分模块具体设计1. 模块FEN,通过对 4MHz 时钟进行分频以获得 0.5 Hz 时钟,为核心模块,CORNA 提供 1 的闸门时间。 library ieee; use ieee.std_logic_1164.all; entity fen is port(clk:in std_logic; q:out std_logic); end fen; architecture fen_arc of fen is begin process(clk) variable cnt: integer

6、range 0 to ; variable x:std_logic; begin if clkevent and clk=1then if cnt then cnt:=cnt+1; else cnt:=0; x:=not x; end if; end if; q=x; end process; end fen_arc; 仿真图: 2. 模块SELX,该模块产生数码管的片选信号。 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity selx is port(clk:in std_lo

7、gic; sel:inout std_logic_vector(2 downto 0); end selx; architecture sel_arc of selx is begin process(clk) variable cnt:std_logic_vector(2 downto 0); begin if (clkevent and clk=1) then cnt:=cnt+1; end if; sel=cnt; end process; end sel_arc;仿真图:3. 核心模块CORNA,该模块是整个程序的核心,它能在1 的闸门时间里完成对被测信号频率计数的功能,并通过选择输出

8、数据实现自动换档的功能。library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity corna is port(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 is begin process(door,sig) variable c0,c1,c2,c3,c4,c

9、5,c6:std_logic_vector(3 downto 0); variable x:std_logic; begin if (sigevent and sig=1)then if door=1then if c01001then c0:=c0+1; else c0:=0000; if c11001then c1:=c1+1; else c1:=0000; if c21001then c2:=c2+1; else c2:=0000; if c31001then c3:=c3+1; else c3:=0000; if c41001then c4:=c4+1; else c4:=0000;

10、if c51001then c5:=c5+1; else c5:=0000; if c61001then c6:=c6+1; else c6:=0000; alm=1; end if; end if; end if; end if; end if; end if; end if; else if clr=0then alm=0; end if; c6:=0000; c5:=0000; c4:=0000; c3:=0000; c2:=0000; c1:=0000; c0:=0000; end if; if c6/=0000then q3=c6; q2=c5; q1=c4; q0=c3; dang

11、=0100; elsif c5/=0000then q3=c5; q2=c4; q1=c3; q0=c2; dang=0011; elsif c4/=0000then q3=c4; q2=c3; q1=c2; q0=c1; dang=0010; elsif c3/=0000then q3=c3; q2=c2; q1=c1; q0=c0; dang=0001; end if; end if; end process;end corn_arc;仿真图:4. 模块 LOCK,该模块实现锁存器的功能在信号L的下降沿到来时将信号A4、A3、A2、A1锁存。 library ieee; use ieee.

12、std_logic_1164.all; entity lock is port(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 is begin process(l) variable t4,t3,t2,t1,t0:std_logic_vector(3 downto 0); begin if levent and l=0then t4:=a

13、4; t3:=a3; t2:=a2; t1:=a1; t0:=a0; end if; q4=t4; q3=t3; q2=t2; q1=t1; q0qqqqqqqqqqqqqqqqq=; end case; end process; end disp_arc; 五系统仿真结果原理图:仿真结果:六心得体会:EDA课设的时间挺紧张的,很多问题自己都难以解决,这个课题虽然不难,但是在做的过程中还是存在很多问题,不过在与同学的讨论中和在网上、在图书馆查找相关的资料,这些问题已经一点一点被解决了,通过这次课设我感觉自己对VHDL语言的理解又进了一步!对硬件描述语言和纯元件语言,如c语言之间的差别又有了更深

14、一层次的理解,不过自我感觉想要对VHDL语言要很熟练的掌握的话,还需要多多的练习才行的。另外VHDL的系统描述能力虽强,不过编写程序的人也要对底层的电路有一定的了解才能更加得心应手的使用VHDL语言编写出高效率,准确的代码。采用常规电路设计数字频率计,所用的器件较多,连线比较复杂,而且存在延时较大、测量误差较大、可靠性低的缺点。采用复杂可编程逻辑器件,以EDA工具为开发手段、运用VHDL语言编程进行数字频率计的设计,将在系统大大简化的同时,提高仪器整体的性能和可靠性。课设带来的知识只是一小部分,想要更深地掌握这门课程,还需要自己在课外时间多加练习,在图书馆或网上找寻更多与EDA相关的电子设计产品,自己进行设计仿真,EDA是一门对于电子学生来说很重要的课程,maxplus2也是一个很重要的而且便于使用的电子设计自动化软件,所以我们要很好的掌握这些东西。七参考文献1 尹常永,EDA技术与数字系统设计,西安:西安电子科技大学出版社,20042 包明,EDA技术与可编程器件的应用,北京航空航天大学出版社,20073 赵明福,EDA技术基础,北京大学出版社,2007

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁