《EDA技术课程设计报告doc(11页).doc》由会员分享,可在线阅读,更多相关《EDA技术课程设计报告doc(11页).doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-EDA技术课程设计报告doc-第 - 9 - 页EDA技术课程设计报告 课题名称:六位频率计的设计电子工程系2010年6月10日目 录一 概述- 1 -(一)设计背景及意义- 2 -(二)设计任务与要求- 2 -二 六位频率计的工作原理- 2-三 六位频率计的设计与仿真- 3 -(一)六位十进制频率计的设计与仿真- 4 -(二)六位十六进制频率计的设计与仿真- 6 -四 调试过程、测试结果及分析- 9 -(一)六位十进制频率计的调试过程、测试结果及分析- 9 -(二)六位十进制频率计扩展功能的调试过程、测试结果及分析- 9 -(三)六位十六进制频率计的调试过程、测试结果及分析- 10 -五
2、课程设计体会- 11 -六 参考文献- 12 -六位频率计的设计一 概述(一)设计背景及意义随着数字电子技术的发展,频率测量成为一项越来越普遍的工作,因此测频计常受到人们的青睐。目前许多高精度的数字频率计都采用单片机加上外部的高速计数器来实现,然而单片机的时钟频率不高导致测频速度比较慢,并且在这种设计中,由于PCB版的集成度不高,导致PCB板走线长,因此难以提高计数器的工作频率。为了克服这种缺点,大大提高测量精度和速度,我们可以设计一种可编程逻辑器件来实现数字频率计。数字频率仪器是数字电路中一个典型应用,实际的硬件设计用到的器件较多,联机比较复杂,而且会产生比较大的延时。随着复杂可编程逻辑器件
3、的广泛应用,将使整个人系统大大简化,提高整体性能。它是直接用十进制数字来显示被测信号频率的一种测量装置。它不仅可以测量正弦波、方波、三角波、尖脉冲信号和其他具有周期的信号的频率,而且还可以测量他们的周期。经过改装,还可以测量脉冲宽度,做成数字式脉冲测量仪;可以测量电容,做成数字式电容测量仪;在电路中增加传感器,还可以做成数字脉搏仪、计数器等。因此数字频率仪在测量物理量方面有广泛应用。(二)设计任务与要求1、设计任务采用原理图设计并制作六位十进制频率计,用VHDL语言方法设计并制作六位十六进制频率计。 2、设计要求a) 参考信号频率为1Hz;b) 测量频率范围: 六位十进制频率计:1Hz100k
4、Hz; 六位十六进制频率计:1Hz4MHz;c) 结果能用数码显示器显示。二 六位频率计的工作原理频率计的设计结构一般都是由频率计测频时序控制电路,计数器电路,锁存器以及显示器这四个模块组成(原理框图如下所示)。根据频率的定义以及频率的测量基本原理可知,测定信号的频率必须有一个脉宽为1s的输入信号脉计数允许的信号,由于测频时序控制电路是一个16分频电路,因此1HZ脉冲信号经过测频时序控制电路后便会产生频率为1/16HZ的输出信号,即时钟周期为16s。由于测频控制电路输出的是使能信号高电平有效,则只有在脉宽为8s时才能计数,即在1s的输入信号下可计8个数。当在计数器输入端输入一个NHZ的信号时,
5、则它在使能端输出高电平下一共可计8N个数值,当时钟信号下降沿来临时产生所存信号把所计的数值锁存到锁存器中并通过显示电路显示出来。当在下一个脉宽上升沿来之前开始清零为下一次计数做准备。1 测频控制信号发生器测频控制信号发生器产生测量频率的时序控制器,是设计频率计的关键。这里控制信号取为1 Hz,2分频后就是一个脉宽为1 s的时钟信号,用来作为计数闸门信号。当时钟信号为高电平时开始计数;在时钟信号的下降沿,产生一个锁存信号,锁存数据后,还要在下次时钟信号上升沿到来之前产生清零信号,为下次计数做准备,清零信号是上升沿有效。2 . 计数器计数器以待测信号作为时钟,在清零信号到来时,异步清零;待测信号为
6、高电平时开始计数。本文设计的计数器计数最大值是 999 999。3. 锁存器当锁存信号上升沿到来时,将计数器的计数值锁存,这样可由外部的七段译码器译码并在数码管上显示。设置锁存器的好处是显示的数据稳定,不会由于周期性的清零信号而不断闪烁。锁存器的位数应跟计数器完全一样,均是24位。4. 译码驱动电路 本文的数码管采用动态显示方式,每一个时刻只能有一个数码管点亮。数码管的位选信号电路是74LS138芯片,其8个输出分别接到8个数码管的位选,3个输入分别接到EPF10K10LC84-4的I/O引脚。5. 数码管显示本文采用6个共阴极数码管来显示待测频率的数值,其显示范围从O999999。三 六位频
7、率计的设计与仿真要在实验箱上观测到实验现象时,则必须经过两大步骤: .软件测试。其中包括原理图的设计与仿真或是VHDL语言描述与仿真和管脚锁定 .硬件测试。它包括试验箱的下载和电路的搭建软件测试原理图设计与仿真步骤:打开quartusII软件,首先创建一个工程并保存,然后新建一个原理图文件(.dbf)或是VHDL文件,此时原理图文件(VHDL文件)名要与工程名相同且与工程保存在同一路径下,最后在工程里面打开原理图文件或是VHDL文件则可在其中编辑原理图或编写VHDL语言描述。原理图(或VHDL)编辑完成后先编译,编译成功后则可进行防真。打开仿真文件(.vwf),先添加进原理图(或VHDL)的功
8、能端口即输入输出端口,然后根据实现其功能的原理设置时钟周期(一般设置为20us)以及各端口的脉冲频率。如果输出端是计数端,则应在count vauletiming 里面设置count every的计数时钟,并且还可根据需求设置输出方式是按二进制,十进制还是十六进制形式输出。各项数据设置完成后,按原理图文件名保存并保存在与其同一路径下,然后仿真,直到仿真成功为止。如果以上编辑的都是底层文件时,则需要将底层文件包装变成一个单一元件并放置在工程路径指定的目录中以备顶层文件的编辑调用,如是顶层或是单一文件时则不需要进行构建元件符号。由于底层文件不需要在试验箱上观测效果,则没必要进行管脚锁定以及后面的相
9、关操作了,而顶层文件是要在实验箱上观测最终实验结果的则仿真完成后需进行管脚锁定。.硬件测试硬件结果显示步骤:连接实验箱上的电源线,将计算机下载线连接到实验箱上,根据各端口对应的管脚进行连线,完成后打开电源与试验箱开关进行配置文件下载,但在下载之前一定要先编译一次。下载成功后则可在试验箱直接观测到实验现象。(一)六位十进制频率计的设计与仿真底层 TF_CTRL原理图:其仿真波形: 底层CNT_10原理图:其仿真波形:顶层TOP原理图:其仿真波形:(二)六位十六进制频率计的设计与仿真-测频控制电路(FTCTRL)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;US
10、E IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FTCTRL ISPORT (CLKK : IN STD_LOGIC; -1Hz CNT_EN : OUT STD_LOGIC; -计数器时钟使能RET_CNT : OUT STD_LOGIC; -计数器清零 LOAD : OUT STD_LOGIC); -输出锁存信号END FTCTRL;ARCHITECTURE behave OF FTCTRL IS SIGNAL Div2CLK : STD_LOGIC;BEGIN PROCESS(CLKK) BEGIN IF CLKKEVENT AND CLKK=1 THEN -1
11、Hz时钟2分频 Div2CLK = NOT Div2CLK; END IF; END PROCESS; PROCESS(CLKK,Div2CLK) BEGIN IF CLKK=0 AND Div2CLK=0 THEN RET_CNT=1; -产生计数器清零信号 ELSE RST_CNT = 0; END IF; END PROCESS; LOAD = NOT Div2CLK; CNT_EN = Div2CLK;END behave;仿真波形:-24位锁存器(REG24B)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG24B ISPORT
12、( LK : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(23 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(23 DOWNTO 0);END REG24B;ARCHITECTURE behave OF REG24B ISBEGIN PROCESS(LK,DIN) BEGIN IF LKEVENT AND LK = 1 THEN DOUT = DIN; END IF; END PROCESS;END behave;仿真波形:-24位计数器(COUNTER24B)LIBRARY IEEE;USE IEEE.STD_LOGIC_1
13、164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNTER24B IS PORT ( FIN : IN STD_LOGIC; -时钟信号 CLR : IN STD_LOGIC; -清零信号 ENABL : IN STD_LOGIC; -计数使能信号 DOUT : OUT STD_LOGIC_VECTOR(23 DOWNTO 0); -计数结果END COUNTER24B;ARCHITECTURE behave OF COUNTER24B ISSIGNAL CQI : STD_LOGIC_VECTOR(23 DOWNTO 0);BEGINPROC
14、ESS (FIN,CLR,ENABL) BEGIN IF CLR = 1 THEN CQI 0); -清零 ELSIF FINEVENT AND FIN = 1 THEN IF ENABL = 1 THEN CQI = CQI + 1; END IF; END IF;END PROCESS;DOUT CLK1HZ,CNT_EN = TSTEN1,RST_CNT = CLR_CNT1,Load = Load1); U2 : REG24B PORT MAP( LK = Load1,DIN = DTO1,DOUT = DOUT); U3 : COUNTER24B PORT MAP( FIN = FS
15、IN,CLR = CLR_CNT1,ENABL = TSTEN1,DOUT = DTO1);END struc;仿真波形:四 调试过程、测试结果及分析(一)六位十进制频率计的调试过程、测试结果及分析 调试过程:软件调试。完成顶层文件TOP的编辑后,则对实验结果进行软件调试。首先将其编译一遍,然后创建一个TOP.vwf仿真文件,导入CLK,CLK1,Q23.0输入输出端设置相关参数。将时钟周期设置为20us,CLK与CLK1时钟分别设置为200ns和400ns,Q端设置为十六进制输出。故计数器从零开始计数计到 后开始锁存并有Q端输出锁存值16。在下一个时钟上升沿之前清零为其做计数准备。因此可得如
16、上所示的TOP仿真波形。如在此得不到正确的实验结果,则应检查输入时钟频率是否设置正确;TOP.vwf文件时否在工程下打开的;lisence stupde ID是否获取等问题 硬件调试。搭建好电路并试验箱下载成功后,将CLK1接入1HZ信号,CLK接入1HZ,10HZ,则可得到如下测试结果。如得不到如下测试结果,则 先检查是否是才CLK与CLK1的输入时钟频率接反了或配置下载时否是成功的。分析:根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1秒的对输入信号脉冲计数允许的信号;1秒计数结束后,计数值锁入锁存器的锁存信号和为下一测频计数周期作准备的计数器清0信号。这个清0信号可以
17、由一个测频控制信号发生器产生,即TF_CTRL,它的设计要求是,TF_CTRL的计数使能信号ENB能产生一个1秒脉宽的周期信号,并对频率计的每一计数器CNT10的ENB使能端进行同步控制。当ENB高电平时,允许计数;低电平时停止计数,并保持其所计的脉冲数。其测试结果如下: 表1 六位十进制频率计的测试结果CLK1=1Hz(测试门限为8s)clk1Hz10Hz100Hz1kHz10kHz100kHz测试结果880800800080000800000(二)六位十进制频率计扩展功能的调试过程、测试结果及分析调试过程与上基本相同,不同的是输出的结果不同。如按上面仿真时的参数设置则输出的计数值应是2,实
18、验箱上的测试结果如表2所示。分析:当测定信号的输入时钟为1s时,测频控制电路的输出脉宽是8s,而为了使测频控制电路也输出1s的脉宽,则对8s的输出的脉宽进行三次倍频将它与QA,QB,QC与即CNT_EN= (在原理图上增加一个四输入与门将QC,QB,QA相与后再做使能端输出),相与后再作为使能端信号输出,得到1s脉宽。因此当输入一个NHZ的脉冲信号时,它输出的计数值即为N. 实现其原理波形分析如下所示: 表2 六位十进制频率计的测试结果CLK1=1Hz(测试门限为1s)clk1Hz10Hz100Hz1kHz10kHz100kHz测试结果110100100010000100000(三)六位十六进
19、制频率计的调试过程、测试结果及分析其调试过程同十进制的类似,不同的是输出的方式不同,此是按十六进制输出。软件实验结果即为FREQTEST的仿真波形。而在硬件上由于实验上的数码管是按8421BCD码输出,则当数码管上的数值超过了9时是无法显示的。分析:实验原理基本与十进制频率计的相同,只是这里的设计要求是:TFCTRL的计数使能信号CNT_EN能产生一个1秒脉宽的周期信号,并对频率计的24位二进制计数器COUNTER24B的ENABL使能端进行同步控制。当CNT_EN高电平时,允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前1秒钟
20、的计数值锁存进各锁存器REG24B中,并由外部的十六进制7段译码器译出,显示计数值。设置锁存器的好处是,显示的数据稳定,不会由于周期性的清零信号而不断闪烁。锁存信号之后,必须有一清零信号RST_CNT对计数器进行清零,为下1秒钟的计数操作作准备。其调试结果如下:表2 六位十六进制频率计的测试结果CLK1=1Hz(测试门限为1s)clk1Hz10Hz100Hz1kHz10kHz100kHz1MHz2MHz4MHz测试结果1A643E82710186A0F42401E84803D090五 参考文献1潘松.继业.EDA技术与VHDL.清华大学出版社.2006.2李辉.PLD与数字系统设计.西安电子科技大学出版社.2005.3荀殿栋,徐志军等.数字电路设计使用手册.2003.4边计年,薛宏熙译.用VHDL设计电子线路.北京:清华大学出版社.2000.5潘松 王国栋.VHDL实用教程M.西安:西安电子科技大学出版社.2001.6王金明,杨吉斌。数字系统设计与Verilog HDL.北京:电子工业出版社.2002.7谭会生.EDA技术及应用M.北京航空航天大学出版社.2003. 8谢克明. 电子电路EDA. 兵器工业出版社.2001.9徐志军,徐光辉.CPLD/FPGA的开发应用.北京:电子工业出版社.2002.