基于CPLD的建议数字频率计的设计.docxVIP

  • 2
  • 0
  • 约8.16千字
  • 约 18页
  • 2018-02-23 发布于贵州
  • 举报
基于CPLD的建议数字频率计的设计

基于CPLD的简易数字频率计目录任务书…………………………………………………………………………………………41 设计目的和要求………………………………………………………………….42任务日期………………………………………………………………………….5一、设计总体思路和基本框图…………………………………………………………………61 设计总体思路…………………………………………………………………….62 基本原理………………………………………………………………………….83总体框图………………………………………………………………………….8二、各单元模块设计…………………………………………………………………………..161模块FEN…………………………………………………………………………...172模块SEL……………………………………………………………………………173 模块CORNA………………………………………………………………………...194模块LOCK………………………………………………………………………...195模块CH…………………………………………………………………………...196模块DISP………………………………………………………………………...197模块YM…………………………………………………………………………...19三、顶层文件设计……………………………………………………………………………..201总体电路图………………………………………………………………………...19四、调试下载………………………………………………………………………….20五、心得体会…………………………………………………………………………………..24六、参考文献…………………………………………………………………………………...24一.设计总体思路,基本原理和框图1.设计总体思路采用现场可编程门阵列(FPGA)为控制核心,利用VHDL语言编程,下载烧制实现。将所有器件集成在一块芯片上,体积大大减小的同时还提高了稳定性,可实现大规模和超大规模的集成电路,测频测量精度高,测量频率范围大,而且编程灵活、调试方便.2.基本原理众所周知,频率信号易于传输,抗干扰性强,可以获得较好的测量精度。因此,频率检测是电子测量领域最基本的测量之一。频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,即闸门时间为1 s。闸门时间可以根据需要取值,大于或小于1 s都可以。闸门时间越长,得到的频率值就越准确,但闸门时间越长,则每测一次频率的间隔就越长。闸门时间越短,测得的频率值刷新就越快,但测得的频率精度就受影响。一般取1 s作为闸门时间。数字频率计的关键组成部分包括分频器,计数器、锁存器、片选电路,译码驱动电路和显示电路.3.总体框图二、各个单元模块设计1、模块FEN采用计数器构成分频电路,对1KHz的时钟脉冲进行分频,取得不同量程所需要的时间基准信号,实现量程控制。模块FEN通过对4Hz时钟的分频得到0.5Hz时钟,为模块CORNA提供1s的闸门时间。源程序:library ieee;use ieee.std_logic_1164.all;entity fen isport(clk:in std_logic; q:out std_logic);end fen;architecture fen_arc of fen isbeginprocess(clk)variable cnt:integer range 0 to ;variable x:std_logic;beginif clkevent and clk=1 then if cnt then cnt:=cnt+1; else cnt:=0;x:=not x;end if;end if;q=x;end process;end fen_arc;合成后如下图:图3模块FEN仿真波形如图:2、模块SEL模块SEL产生数码管的片选信号。源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sel isport(clk:in std_logic; q: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 then cnt:=cnt+1;end if;q=cnt;en

文档评论(0)

1亿VIP精品文档

相关文档