8位十进制显示数字频率计(带周期)设计报告(共16页).doc
《8位十进制显示数字频率计(带周期)设计报告(共16页).doc》由会员分享,可在线阅读,更多相关《8位十进制显示数字频率计(带周期)设计报告(共16页).doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上EDA期末考试设计报告 设计题目:8位十进制显示数字频率计(带周期测量) 学校:梧州学院 系别:电子信息工程系 班别:09电本2班 姓名:陈迪学号:5 组员:刘芸云 王缉俭 指导老师:黄玉健一、 设计内容:8位十进制显示数字频率计(带周期测量)。二、设计目的与要求:1、 设计电路实现测量1Hz方波信号的频率以及其周期,并以十进制的方式显示。2、 要求其数值用七段LED数码管或液晶屏显示。3、 在实验系统上硬件测试,验证此设计的功能。4、 画出实体图,设计原理图,要求用Protel设计出具体的电路原理图。三、设计原理:8位十进制显示数字频率计(带周期测量)是由8位十进制
2、频率计、8位十进制周期测量器和带锁存功能的64选32数据选择器构成。频率计基准信号采用8Hz的方波信号,而周期测量采用基准信号为50MHz的方波信号。其中,频率计和周期测量由相同的32位数据锁存器和8位十进制计数器及不同的测频控制电路构成。为使电路设计更加简单快捷,且方便阅读与理解,本电路使采用模块化的设计思想,先由VHDL源程序对各个模块进行独立编写、测试,然后封装,再用原理图方式进行连接、整合与波形和硬件仿真。例如将用CLOCK5、CLOCK2输入标准频率,CLOCK0输入被测频,用数码管显示频率和周期。Protel设计原理图:1、 频率测量的基本原理:根据频率的定义,若某一信号在T时间内
3、重复变化N次,则可知该信号的频率为:f =N/T 对此可采用数字逻辑电路中的门电路来实现,如图:在与门端加入被测信号,另一端加宽度为T1的控制信号(称闸门信号),输出端仅能在T1时间内有波形的出现,然后送入计数器计数,得N*T2=T1所以f =N/T1。进一步分析可知,多周期测量可以减小误差。因此,电路设计时我们采用基准信号的8个周期为一个T1。如图CNT-EN信号 在T1时间结束的同时输出一个作用于计数器锁存信号load,在下一个T1来临前输出一个清零信号RST使得计数器复位,为下一次测量做好准备。电路的基准信号为8Hz,由方程可知f=N/(8*(1/8))=N,从而计数器的数值就是被测信号
4、的频率。2、 测量周期的基本原理:如图所示为计数器测量信号周期的原理框图。它是由上图的 标准信号和输入信号位置对调而构成的。可以看出,被测信号经过放大后,形成闸门信号,周期为T2。标准频率的周期为T1,在闸门时间内,标准频率通过闸门形计数脉冲,送至计数器计数,进过译码显示为N。所以T2=N*T1=N/f1。同理,多周期测量也可减小误差,但是由于被测信号为测频控制信号,当被测信号频率较低时,测量需要较长时间,因此我们的电路只采用被测信号的2倍周期进行测量。 为使能测量更高的频率,我们采用了50MHz的信号为计数信号。电路同样设置了锁存和清零的输出信号,同时为防止高频率时锁存和清零过快,电路在闸门
5、时间结束后设置了较长的过渡时间。由方式T=N/(2*50M)=N/,所以数码管显示的最高位位权为0.1依次类推为0.01一直到小数点后8位。当信号小于1Hz和大于100MHz时都超出量程。3、8位十进制计数器的构成:用VHDL语言设计带进位的1位十进制计数器,然后封装如图,再用8个1位计数器和与门连接成8位的十进制计数器。四、 利用VHDL语言来实现各个结构模块:1.带进位的1位10进制计数器COUNTER .VHD带进位的一位十进制计数器 LIBRARY IEEE;-带进位的一位十进制计数器 USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNS
6、IGNED.ALL;-允许用户对操作符重新定义 ENTITY COUNTER ISPORT(CLK,RST,EN: IN STD_LOGIC;-clk时钟频率,rst清零,en使能端 DOUT:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);-4位输出到7段数码管 COUT:OUT STD_LOGIC-进位信号 );END COUNTER;ARCHITECTURE one OF COUNTER ISBEGINPROCESS(CLK,RST,EN)-时钟,清零,使能为敏感信号 VARIABLE Q: STD_LOGIC_VECTOR(3 DOWNTO 0);-定义变量Q为4位
7、BEGINIF RST=1 THEN Q:=(OTHERS =0);-如果rst为高电平,变量Q清零 ELSIF CLKEVENT AND CLK=1 THEN-否则,若clk为上升沿,即上升沿触发 IF EN=1 THEN IF Q0);-否则清零 END IF;END IF;END IF;IF Q =1001 THEN COUT=1; -当Q为9时输出进位信号 1 ELSE COUT =0;END IF; -否则输出 0 DOUT=Q;-把变量信号输出 END PROCESS;END one; 2.32位锁存器REG32B.VHDLIBRARY IEEE; -32位锁存器 USE IEEE
8、.STD_LOGIC_1164.ALL;ENTITY REG32B IS PORT ( LK : IN STD_LOGIC;-锁存信号 DIN : IN STD_LOGIC_VECTOR(31 DOWNTO 0);-计数信号输入 DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) );-计数信号输出并锁存 END REG32B;ARCHITECTURE one OF REG32B ISBEGIN PROCESS(LK, DIN) BEGIN IF LKEVENT AND LK = 1 THEN DOUT = DIN;-上沿边触发锁存 END IF; END PRO
9、CESS;END one; 3.基准频率为8HZ的测频控制电路FTCTRL.VHDLIBRARY IEEE; -频率为8HZ的测频控制电路,用于频率计 USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FTCTRL IS PORT (CLKK : IN STD_LOGIC; - 8Hz CNT_EN : OUT STD_LOGIC; - 计数器时钟使能 RST_CNT : OUT STD_LOGIC; - 计数器清零 Load : OUT STD_LOGIC ); - 输出锁存信号 END FTCTRL;ARC
10、HITECTURE one OF FTCTRL IS SIGNAL M: STD_LOGIC; SIGNAL C: STD_LOGIC_VECTOR(3 DOWNTO 0 );-计数信号 BEGIN K1:PROCESS( CLKK,C )-16分频 BEGIN IF RISING_EDGE(CLKK)THEN IF(C=1111) THEN C=0000; ELSE C=C+1;END IF;-计数为15是清零 IF(C=0001) THEN M=NOT M;ELSIF (C=1001) THEN M=NOT M;-由1开始跳变,变到9时跳变 END IF;END IF; END PROCE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 十进制 显示 数字频率计 周期 设计 报告 16
限制150内