FPGA的数字频率计系统的设计 .doc

上传人:西安人 文档编号:5089881 上传时间:2020-02-01 格式:DOC 页数:40 大小:1.04MB
返回 下载 相关 举报
FPGA的数字频率计系统的设计 .doc_第1页
第1页 / 共40页
FPGA的数字频率计系统的设计 .doc_第2页
第2页 / 共40页
FPGA的数字频率计系统的设计 .doc_第3页
第3页 / 共40页
FPGA的数字频率计系统的设计 .doc_第4页
第4页 / 共40页
FPGA的数字频率计系统的设计 .doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《FPGA的数字频率计系统的设计 .doc》由会员分享,可在线阅读,更多相关《FPGA的数字频率计系统的设计 .doc(40页珍藏版)》请在三一文库上搜索。

1、基于CPLDFPGA的数字频率计系统的设计 (毕业论文)基于CPLDFPGA的数字频率计系统的设计培养单位: 电 力 系 班级: 06电子信息工程技术(2)班姓名: 指导老师: 2009年5月摘 要数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。但是随着复杂可编程逻辑器件(PLD)的广泛应用,以EDA工具作为开发手段,在Quartus II开发平台上,运用VHDL语言设计,通过波形实时仿真,从而使整个系统设计大大简化,提高整体的性能和可靠性。本设计利用VHDL语言在PLD器件上实现数字频率计测频系统的设计。通过用

2、十进制数码显示被测信号的频率,基本整个系统设计通过一片EPM240T100芯片上实现的。整个系统非常精简,而且具有灵活的现场可更改性,硬件电路设计只有简单几部份,在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能。若设计对被测信号的整形,能够测量正弦波、方波和三角波等信号的频率,而且还能对其他多种物理量进行测量。该数字频率计具有高速、精确、可靠、抗干扰性强和现场可编程等优点。【关键词】 频率计 VHDL EDA Quartus II目 录摘 要1第一章 概述31.1 EDA技术及其发展31.2 CPLD/FPGA简介31.3 数字频率计系统的设计背景41.4 课题任务内容和

3、要求4第二章 数字频率计总体方案及工作原理62.1 数字频率计系统的基本原理62.1.1 测频原理62.1.2 测周原理62.2数字频率计总体设计方案7第三章 数字频率计系统硬件设计93.1系统原理框图设计93.2 可编程逻辑器件的选用93.3 时钟电路设计103.4 电源电路设计113.5 显示电路设计123.6 下载接口电路设计143.7 拓展电路的设计153.7.1 ADC0804接口电路设计153.7.2 DAC0832接口电路设计16第四章 数字频率计系统软件设计184.1 系统软件设计概述184.1.1 Quartus II简介184.1.2 Quartus II的设计流程194.

4、1.3 VHDL的设计流程234.2 各功能模块的程序设计244.2.1 分频模块设计244.2.2 测频控制模块设计254.2.3 计数模块设计264.2.4 锁存器模块284.2.5 显示模块设计29第五章 系统调试及误差分析315.1 系统调试315.2 测试结果及分析31结束语32致谢32参考文献33附录一 数字频率计原理图34附录二 数字频率计PCB图35附录三 数字频率计程序清单36第一章 概述1.1 EDA技术及其发展EDA( Electronic Design Automation,电子系统设计自动化)技术是20世纪90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)

5、,CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。现代EDA技术就是以计算机为工具,在EDA软件平台上,根据硬件描述语言VHDL完成的设计文件,能自动地完成用软件方式描述的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。设计者的工作仅限于利用软件的方式来完成对系统硬件功能的描述,在EDA工具的帮助下和应用相应的FPGA/CPLD器件,就可以得到最后的设计结果。尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效。随着大规模集成电路技术和计算机技术的不断发展,

6、在涉及通信、国防、航天、医学、工业自动化、计算机应用、仪器仪表等领域的电子系统设计工作中,EDA技术的含量正以惊人的速度上升;电子类的高新技术项目的开发也逾益依赖于EDA技术的应用。即使是普通的电子产品的开发,EDA技术常常使一些原来的技术瓶颈得以轻松突破,从而使产品的开发周期大为缩短、性能价格比大幅提高。不言而喻,EDA技术将迅速成为电子设计领域中的极其重要的组成部分。1.2 CPLD/FPGA简介可编程逻辑器件(简称PLD)是一种由用户编程来实现某种逻辑功能的新型逻辑器件,主要包括CPLD和FPGA两大类。FPGA和CPLD分别是现场可编程门阵列和复杂可编程逻辑器件的简称。国际上生产CPL

7、D/FPGA的主流公司,并且在国内占有市场份额较大的主要是Xilinx、Altera、Lattice等三家公司。Xilinx公司的FPGA器件有XC2000、XC3000、Spartan、Virtex系列等,可用门数为120018000;Altera公司的主要产品有FLEX10K、MAX3000/7000、APEX20K、Cyclone、Stratix系列等,提供门数为5000250000;Lattice公司的主要产品有ispLSI2000/5000/8000、MACH4/5、ispMACH4000等,集成度可多达25000个PLD等效门。CPLD在结构上主要分为三个部分:可编程逻辑宏单元,可

8、编程输入/输出单元和可编程内部连线。而FPGA在结构上主要分为三个部分:可编程逻辑单元,可编程输入/输出单元和可编程连线。CPLD/FPGA最明显的特点是高集成度、高速度和高可靠性,其时钟延时可小至纳秒级,结合其并行工作方式,在超高速应用领域和实时测控主面有着非常广阔的应用前景。在高可靠应用领域,如果设计得当,将不会存在类似于MCU的复位不可靠和PC的可能跑飞等问题。CPLD/FPGA的高可靠性还表现在几乎将整个系统下载于同一块芯片中,实现所谓片上系统,从而大大缩小了体积,易于管理和屏蔽。1.3 数字频率计系统的设计背景随着数字电子技术的发展,频率测量成为一项越来越普遍的工作,因此测频计常受到

9、人们的青睐。目前许多高精度的数字频率计都采用单片机加上外部的高速计数器来实现,然而单片机的时钟频率不高导致测频速度比较慢,并且在这种设计中,由于PCB版的集成度不高,导致PCB板走线长,因此难以提高计数器的工作频率。为了克服这种缺点,大大提高测量精度和速度,我们可以设计一种用可编程逻辑器件来实现数字频率计。数字集成电路广泛用于计算机、控制与测量系统,以及其它电子设备中。一般说来,数字系统中运行的电信号,其大小往往并不改变,但在实践分布上却有着严格的要求,这是数字电路的一个特点。数字集成电路作为电子技术最重要的基础产品之一,已广泛地深入到各个应用领域数字频率计是用数字显示被测信号频率的仪器,被测

10、信号可以是正弦波,方波或其它周期性变化的信号。如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率,转速,声音的频率以及产品的计件等等。因此,数字频率计是一种应用很广泛的仪器。数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。随着复杂可编程逻辑器件的广泛应用,以EDA工具作为开发手段,运用VHDL语言。将使整个系统大大简化。提高整体的性能和可靠性。1.4 课题任务内容和要求本毕业设计课题任务的内容和要求:一、了解数字频率计系统。二、用硬件描述语言VHDL设计基于CPLD的数字频率计系统。三、频率和周期的

11、测量 输入信号:方波 频率:1Hz50MHz 测量误差:0.01四、设计数字频率计的外围硬件电路原理图。五、制作PCB,并且硬件调试成功。六、要求学生能在讨论的基础上独立完成第二章 数字频率计总体方案及工作原理2.1 数字频率计系统的基本原理2.1.1 测频原理待测信号时基信号测频的原理即在单位时间内被测信号进行计数。用N表示测得的脉冲个数,T为闸门时间。则被测信号的频率fx=N/T。图2-1说明了测量频率的原理及误差产生的原因。计到7个脉冲丢失(少计1个脉冲)多余(比实际多出了0.X个脉冲)图2-1 测频原理假设所测得的脉冲个数为N,则所测量频率的最大误差为1/(N-1)100%。显然,减小

12、误差的方法应该增大测量个数N。要使误差在0.01%以下,则N应大于10000。通过计算,可以得出表2-1的结论:待测信号时基信号可行性1MHz10MHz100Hz可行100KHz1MHz10Hz10KHz100KHz1Hz1KHz10KHz0.1Hz(10s)不可行100Hz1KHz0.01Hz(100s)10Hz100Hz0.001Hz(1000s)1Hz10Hz0.0001Hz(10000s) 表2-1 待测信号与时基信号的关系2.1.2 测周原理测周期的方法用一句话可以概括为:在被测信号周期时间内对某一个基准脉冲进行计数。设时基信号的周期为T,在被测信号一个周期计数内计得的时基信号脉冲数

13、为N。则被测信号的频率为fx=1/(NT)。图2-2说明了测量周期的原理及误差产生的原因。待测信号时基信号计到7个脉冲丢失(少计1个脉冲)多余(比实际多出了0.X个脉冲)图2-2 测周期原理通过测频测周的两幅的比较,我们可以发现这两幅图的差别仅仅是待测信号与时基信号的未知颠倒了。事实上,测频和测周的唯一区别就在于“计数的”究竟是待测信号还是系统提供的时基(基准)信号。以图2-2为例,假设所测得的脉冲个数为N,则所测量频率的最大误差同样为1/(N-1)100%。若要求测量误差在0.01%以下,则N也必须大于10000。表2-2是测周期时待测信号与基准脉冲的关系表:待测信号时基信号可行性1MHz1

14、0MHz100000MHz不可行100KHz1MHz10000 MHz10KHz100KHz1000 MHz1KHz10KHz100 MHz100Hz1KHz10 MHz可行10Hz100Hz1 MHz1Hz10Hz100k Hz0.1Hz1Hz10k Hz表2-2 待测信号与基准脉冲的关系从表2-2可以得出另一个结论:测周法适合低频信号的测量,而对高频信号无能为力。如果要设计一个测频范围为1 Hz50 MHz的数字频率计,应当结合测频法和测周法,高频时采用测频法,通过计算T=1/f得到周期;低频时采用测周法,通过计算f=1/T得到频率。2.2数字频率计总体设计方案本数字频率计系统设计采用可编

15、程逻辑器件作为信号处理及系统控制核心,完成包括分频、计数、显示等一系列工作,总体设计方案如图2-3所示。本方案利用了PLD的可编程的特点,使电路大为简化,利用软件Quartus II和硬件描述语言VHDL对数字系统进行编程、调试和仿真。PLD具有容量大,集成度高,可反复编程与调试,可靠性高,触发器与引脚丰富等优点,此设计充分地发挥PLD的优势及特点。图2-3 总体设计方案第三章 数字频率计系统硬件设计3.1系统原理框图设计系统组成原理框图如图3-1;所示。由CPLD完成各种测试功能,对标准频率和被测信号进行计数。CPLD对整个测试系统进行控制,包括对被测信号的读入与处理、对CPLD测量过程的控

16、制、测量结果数据的处理;最后将测量结果送LED显示输出。系统用50MHz的有源晶振作为CPLD的基准时钟频率。图3-1系统原理框图3.2 可编程逻辑器件的选用可编程逻辑器件是20世纪70年代发展起来的一种新型逻辑器件,它是大规模集成电路技术的飞速发展与计算机辅助设计、计算机辅助生产和计算机辅助测试相结合的一种产物,是现代数字电子系统向超高集成度、超低功耗、超小封装和专用化方向发展的重要基础。它的应用和发展不仅简化了电路设计,降低了成本,提高了系统的可靠性和保密性,而且给数字系统的设计方法带来了革命性的变化。该测频系统选用的CPLD器件是ALTERA公司所生产的MAX II系列中的EPM7240

17、T100。该芯片有240个逻辑单元,等效宏单元是192个,资源比较丰富,内有8Kbit Flash的存储空间。MAX II系列和上一代MAX产品相比,成本降低了一半,功耗只有其1/10,同时保持MAX系列原有的瞬态启动、单芯片、非易失性和易用性。支持实时在系统可编程,允许用户编程正在工程的器件,允许器件在1.8V、2.5V或3.3V电压环境下工作,具有JATG翻译器功能,CPLD的I/O能力加强了其易用性和系统集成能力。 图3-2为EPM240T100原理图。图3-2 EPM240T100原理图3.3 时钟电路设计时钟电路为CPLD提供基准时钟频率。时钟频率输入可编程逻辑芯片后经分频模块分频获

18、得设计所需要的时基信号和扫描频率。无源晶振是有2个引脚的无极性元件,需要借助于时钟电路才能产生振荡信号,自身无法振荡起来。无源晶振需要用DSP片内的振荡器,无源晶振没有电压的问题,信号电平是可变的,也就是说是根据起振电路来决定的,同样的晶振可以适用于多种电压,可用于多种不同时钟信号电压要求的DSP,而且价格通常也较低,因此对于一般的应用如果条件许可建议用晶体。无源晶振相对于晶振而言其缺陷是信号质量较差,通常需要精确匹配外围电路(用于信号匹配的电容、电感、电阻等),更换不同频率的晶体时周边配置电路需要做相应的调整。使用时建议采用精度较高的石英晶体,尽可能不要采用精度低的陶瓷晶体。有源晶振有4只引

19、脚,是一个完整的振荡器,里面除了石英晶体外,还有晶体管和阻容元件。有源晶振不需要DSP的内部振荡器,信号质量好,比较稳定,而且连接方式相对简单(主要是做好电源滤波,通常使用一个电容和电感构成的PI型滤波网络,输出端用一个小阻值的电阻过滤信号即可),不需要复杂的配置电路。相对于无源晶体,有源晶振的缺陷是其信号电平是固定的,需要选择好合适输出电平,灵活性较差,价格相对较高。因为本设计对于时序要求敏感,需要选用比较精密的晶振,因此选择了50MHz的有源晶振。有源晶振型号众多,而且每一种型号的引脚定义都有所不同,有个点标记的为1脚,按逆时针(管脚向下)分别为2、3、4。有源晶振通常的用法:一脚悬空,二

20、脚接地,三脚接输出,四脚接电压。如图3-3所示。图3-3 晶振电路3.4 电源电路设计产品能否稳定的工作,关键取决于电源。为了确保产品能正常稳定工作,本设计采用了两种电源供电方法:一种是用USB供电;另一种是DC7.5V开关电源。两种方法提供的电源分别为+5V和+7.5V,但CPLD工作只需电压DC3.3V的电源即可,因此需要对电源进行降压处理。电源输出端采用了低压差稳压器(AMS1117)进行降压输出。AMS1117是一个低压差电压调节器系列,其压差在1.2V输出,负载电流为800mA时为1.2V。它与国家半导体的工业标准器件LM317有相同的管脚排列。AMS1117有可调电压的版本,通过2

21、个外部电阻可实现1.2513.8V输出电压范围。另外还有5个固定电压输出(1.8V、2.5V、2.85V、3.3V和5V)的型号。频率计电源输出的设计如图3-4所示。图3-4 电源电路设计3.5 显示电路设计本设计采用的是6位8段LED共阴极接法进行显示。要想每位显示不同的字符,可以采用动态显示或者静态显示的方法。所谓静态显示驱动法,即是指每一个LED灯分别对应一个独立的I/O驱动口,其点亮和关闭由该I/O来对其进行控制,互不干扰,但对于I/O驱动能力弱的CPLD,必须增加外部的驱动芯片或驱动三极管等器件。由于每一个LED均由独立的I/O口来控制,因此此种显示驱动的软件设计比较简单明了,无需特

22、别的处理,在需要点亮和关闭时,只需设置相应的I/O输出口的高低电平。而动态显示的原理则利用了人眼对物体的视觉延迟来达到所有LED的同时显示。实际上,在每一个时刻,只有一组LED是处于显示的状态,而其他LED组均为关闭状态,即在每一瞬间只使某一位显示字符。在此瞬间,段选控制I/O口输出相应字符段选码(字型码),而位选则控制I/O口在该显示相应字符。如此轮流,使每位分时显示该位应显示字符。根据人眼视觉特性,当LED所加信号频率大于50Hz时,人眼不能感觉其变化,所以每位显示的间隔不能超过20ms,也就是说要在20ms之内分时的点亮所有LED,LED越多所分的时间越短,亮度就会不足。如果增加点亮时间

23、,又会使扫描频率下降,有闪烁感容易造成人眼的彼劳。本设计采用共阴极动态显示驱动。因为CPLD的I/O驱动能力比较强,所以可以直接驱动数码管,但为了保护I/O口在一个回路之中串接100欧姆的限流电阻。为了灵活使用I/O口,采用了插针方式,硬件上并没有直接连接上去。显示模块如图3-5所示。图3-5 显示模块3.6 下载接口电路设计MAX II系列的CPLD芯片支持JTAG边界扫描测试,设计人员可以通过下载电缆把程序下载到器件运行。每个I/O口都可以自己配置。如果设计中不需要JTAG接口,则JTAG引脚可作I/O引脚来使用,下载电路经过计算机并口到JTAG扫描口的转换电路实现程序的下载。并行下载电缆

24、如图3-6所示。图3-6 计算机与PCB的下载连接示意图需要注意的是,JTAG电路的电源需要由下载的PCB板来提供。并口与JTAG的对应关系如表3-1。下载的ByteBlaster管脚的定义如表3-2。并口JTAGEPM2402TCK243TMS228TDI2311TDO2513NCNC15GNDNC1825GNDNC表3-1 计算机与EPM240的端口连接表接口JTAG相关描述1TCK时钟信号2、10GND信号地3TDO数据输出4VCC电源5TMSJTAG状态控制6、7、8NC无连接9TDI数据输入表3-2 并口与JTAG下载线缆端口的对应表3.7 拓展电路的设计基于EPM240T100可编

25、程逻辑器件的数字频率计系统,还为大家提供了一个硬件学习的平台。由于CPLD支持反复编程、在线编程,只要下载不同的设计程序,就能完成相应功能的数字系统功能,能真正的实现硬件设计软件化。因此,在完成频率计设计的同时,考虑到其通用性,我们还做了其它的拓展设计,例如字符显示、按键控制、数模、模数转换实验等等。下面将介绍其中的部分扩展电路。3.7.1 ADC0804接口电路设计从模拟信号到数字信号的转换称为模数转换,简称A/D(Analog to Digital)转换,与此同时,把实现A/D转换的电路称为A/D转换器,简称ADC(Analog to Digital Converter)。在A/D转换中,

26、因为输入的模拟信号在时间上是连续的,而输出的数字信号是离散量,所以进行转换时只能按一定的时间间隔对输入的模拟信号进行采样,然后再把这些采样值转换为输出的数字量。通常A/D转换需要经过采样、保持、量化和编码四个步骤。图3-7是ADC0804的外围电路设计。图3-7 ADC0804外围电路ADC0804是比较常用的AD转换芯片,外围电路也不是很复杂。转换控制有CPLD提供的时序控制,转换之后的数据通过ADC0ADC7的I/O口上。由于ADC0804输出电平为5V TTL电平,MAX II系列提供I/O设计是3.3V,但是它可以通过串接一个电阻来平衡电平,所以,不需要电压转换芯片,为系统设计节约了成

27、本。3.7.2 DAC0832接口电路设计从数字信号到模拟信号的转换称为数模转换,简称D/A(Digital to Analog)转换,而把实现D/A转换的电路称为D/A转换器,简称DAC(Digital to Analog Converter)转换。DAC0832是比较常用的DA转换器,时序控制要比AD转换器容易很多。这个电路控制只要使能脚CS置低,提供上写上写时钟,按照时钟写数据就可以输入相应的电流。DAC0832为电流输出型,使用得时候要注意它的带负载能力。 图3-7为其外围电路。图3-8 DAC0832外围电路当ILE为高电平,片选信号 /CS 和写信号 /WR1为低电平时,输入寄存器

28、控制信号为1,这种情况下,输入寄存器的输出随输入而变化。此后,当 /WR1由低电平变高时,控制信号成为低电平,此时,数据被锁存到输入寄存器中,这样输入寄存器的输出端不再随外部数据DB的变化而变化。对第二级锁存来说,传送控制信号 /XFER 和写信号 /WR2同时为低电平时,二级锁存控制信号为高电平,8位的DAC寄存器的输出随输入而变化,此后,当 /WR2由低电平变高时,控制信号变为低电平,于是将输入寄存器的信息锁存到DAC寄存器中。第四章 数字频率计系统软件设计4.1 系统软件设计概述随着数字集成技术和计算机技术的迅速发展,数字系统设计的理论和方法也在不断地发展和变化。数字系统的实现方法经历了

29、由分立元件、小规模集成电路(SSI)、中规模集成电路(MSI)到大规模集成电路(LSI)、超大规模集成电路(VLSI)的过程。而从系统总体出发来描述和设计的方法有多种,常用的有自顶向下法和自底向上法。自顶向下法是一种从抽象定义到具体的实现,从高层次到低层次逐步求精的分层次、分模块的设计方法。首先根据系统的总体功能要求,进行系统级设计;然后按照一定的的标准将整个系统划分成若干个子系统;接着将各个子系统划分为若干功能模块,针对各模块进行逻辑电路设计。自底向上法是根据系统功能要求,从具体的器件、逻辑部件或者相似系统开始任借设计者熟练的技巧和丰富的经验通过寻其进行相互连接、修改和扩大,构成所要求的系统

30、。该方法是从底层设计开始的,设计者无论是取现成模块还是自行设计电路,其设计成本和开发周期都优于自顶向下法;但由于设计是从低级别开始,因此不能保证整体设计的最佳性。经对比考虑,本设计采用了自顶向下的分层设计方法。4.1.1 Quartus II简介Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II可以在XP、Linux以及Unix上使用,

31、除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三放EDA工具。此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑

32、设计于一体,是一种综合性的开发平台。Maxplus II作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对Maxplus II 的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在Quartus II中包含了许多诸如SignalTap II、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了Maxplus II 友好的图形界面及简便的使用方法。Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力

33、和直观易用的接口,越来越受到数字系统设计者的欢迎。 Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力,支持MAX7000/MAX3000等乘积项器件。4.1.2 Quartus II的设计流程Altera公司的Qu

34、artus II设计软件提供完整的多平台设计环境,能够直接满足特定设计需要,为可编程芯片系统提供全面的设计环境。QuartusII软件含有FPGA和CPLD设计所有阶段的解决方案。有关Quartus II设计流程的图示说明,可参见图4-1。图4-1 Quartus II 设计流程图Quartus II支持多种设计输入方法,即允许用户使用多种方法描述设计,设计输入方式有:文本编辑器(Text Editor)、模块和符号编辑器(Block & Symbol Editor)、MegaWizard插件管理器。1.设计输入(1). 创建新工程Quartus II 有工程的概念,所谓工程就是当前设计的描述

35、、设置、数据以及输出的集合Quartus II 会将这些存储在不同类型的文件中并置于同一个文件夹下.所以在设计之前,必需创建工程。打开Quartus II 软件,在主界面中执行FileNew Project Wizard.命令,该框最上的一栏是工程的存放路径;第二栏作为当前工程的名字,工程名可以使用任何名字,最好使用和顶层设计相同的名字;第三栏是顶层设计名,该名字必须与顶层文件名字相同,如图4-2所示。图4-2(2).建立文本编辑文件在创建好一个设计工程后,执行菜单FlieNew.菜单命令打开新建对话框,选中Device Design File选项中的VHDL File后点击【OK】按钮新建一

36、个空白的VHDL文档。Quartus II 会自动将其命名为vhdl1.vhd,这时执行FileSave 命令或者使用Ctrl+S 快捷键将其保存。2.项目编译工程文件的创建和源文件的输入完成之后,即可用Quartus II 编译器对设计进行编译。选择菜单命令AssignmentsDevice.,弹出所示的Setting对话框中,设定器件。图4-33.仿真验证在开始仿真之前,应先为Quartus II仿真器建立仿真波形文件.该文件指定所有输入作为激励信号,仿真器利用这些信号仿真产生相同条件下目标器件的输出.创建一个仿真矢量文件选择菜单命令FileNew,选择Other Files标签页并从中选

37、择Vector Waveform File,单击OK按钮,即可打开波形编辑器窗口.选择EditEnd Time命令,在Time框内输入仿真结束时间,选择时间单位,单击按钮OK完成设置.添加输入/输出信号节点选择菜单命令ViewUtility WindowNode Finder,从窗口的Filter列表中选择Pin:all,然后单击List按钮,在Node Found栏内可列出设计中的所有节点.从Node Found栏列出的节点中选择要加入到波形文件中的节点,加入所有需要仿真的节点后,关闭Node Finder窗口.编辑输入信号节点波形在输入信号名上单击鼠标右键,在弹出右键菜单中选择ValueC

38、ount Value.命令,在该框中直接输入数据格式,起始值,增量值,数据类型等.保存波形文件.启动仿真器,进行仿真4.引脚分配选择菜单命令AssignmentsPins,根据自己所需分配引脚,保存分配引脚信息后,必须再编译一次,才能将引脚锁定信息编译进编程下载文件中去.5.配置器件在完成设计输入以及成功的编译、仿真设计之后,配置器件是Quartus II设计流程的最后一步,目的是将设计配置到目标器件中进行硬件验证.执行菜单命令ToolProgrammer启动Programmer工具.4.1.3 VHDL的设计流程1. 系统层次划分/画出系统框图(Hierarchy/Block Diagram

39、)按照“自顶向下”的设计方法对系统进行划分(确定系统由哪些模块构成,各模块又由哪些子模块构成)。2. 编码(Coding)写出VHDL代码。原则上此工作可以在任何文本编辑器内完成,但大多数集成开发环境(如MAX+plusII、Quartus II等)都集成了针对VHDL的编辑器。这些编辑器一般都具有VHDL关键词的高亮显示等特点,有的还内嵌了常用的VHDL程序模板等。3. 编译(Compilation)图4-4 VHDL设计流程图编译器会对VHDL程序进行语法检查,还会产生用于仿真的一些内部信息。这一步骤通常由编译器自动完成,无需我们干预。如果VHDL语法有错误,编译无法通过,则需要修改程序,

40、即回到第2步。事实上,在VHDL设计过程中,常常根据需要往后退一步,甚至更多,这也是流程图中出现很多往回走的箭头的原因。4. 功能仿真(Functional Simulation)VHDL仿真器允许定义输入并应用到设计中,不必生成实际电路就可以观察输出。此仿真主要用于检验系统功能设计的正确性,不涉及具体器件的硬件特性。5. 综合(Synthesis)利用综合器对VHDL代码进行综合优化处理,生成门级描述的网表文件,这是将VHDL语言描述转化为硬件电路的关键步骤。这一步通常由综合器自动完成,但设计者可以设定一些技术上的约束条件来“帮助”综合器。6. 适配(Fitting)利用适配器将综合后的网表

41、文件针对某一具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑分化、布局布线等。7. 时序仿真(Timing Simulation)根据适配后的仿真模型,可以进行时序仿真。因为这时已经得到目标器件的实际硬件特性(如时延特性等),所以仿真结果能比较精确地预期芯片的实际性能。如果仿真结果达不到设计要求,就需要修改VHDL源代码或选择不同的目标器件甚至要重构整个系统。8. 下载到CPLD/FPGA(Programming)如果时序仿真通过,那么可以将适配时产生的器件编程文件下载到CPLD或FPGA中。4.2 各功能模块的程序设计根据频率计的设计要求,我们可将整个电路系统划分为五个设计模

42、块,分频模块、测频控制模块、计数模块、锁存器模块和显示模块。在此基础上建立顶层文件,再对顶层文件进行编译、仿真即可。时钟频率发生电路采用高频率稳定度和高精度的有源晶振作为标准频率发生器。以下分别叙述数字频率计各逻辑模块的功能与设计方法。4.2.1 分频模块设计在数字逻辑电路设计中,分频器是一种基本电路。通常用来对某个给定频率进行分频,以得到所需的频率。整数分频器的实现非常简单,可采用标准的计数器,也可以采用可编程逻辑器件设计实现。由于时钟源信号为50MHz,而电路中需要产生1个时基信号(1Hz)和1个动态扫描频率(1KHz)。为了解决这一问题,本设计利用VHDL硬件描述语言和原理图输入方式,通

43、过Quarter II开发软件和ALTERA公司的MAX II系列EPM240T100C5芯片方便地完成了分频器电路的设计。分频器模块图4-5如下:图4-5 分频器模块引脚名端口说明CLK0输入端待分频信号CLK1输出端分频后的频率CLK2输出端表4-1 输入输出引脚说明分频器的主要作用是将时钟信号(50MHz)进行分频,从而得到频率为1KHz的动态扫描频率和1Hz的基准信号,把这两个频率分别给到显示模块和控制模块中,使其能正常工作。对输入时钟信号首先进行50000分频,得出1KHz的动态扫描频率,再将1KHz再进行一次500分频,得出时基信号1Hz,即50MHZ的频率每计到25000个上升沿

44、,输出信号翻转一次,得出1KHZ的频率,然后1KHz的频率每计到500个上升沿,输出信号翻转一次,得出1Hz的频率。4.2.2 测频控制模块设计频率测量的基本原理是计算每秒钟内待测信号的脉冲个数。这就要求TESTCTL的计数使能信号EN能产生一个1秒脉宽的周期信号,并对频率计的计数器CNT10的EN使能端进行控制。当EN高电平时,允许计数;低电平时,停止计数,并保持其所计的数。在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前1秒钟的计数值锁存进4位锁存器REG4B中,并由外部的7段译码器译出并稳定显示。锁存信号之后,必须有一清零信号CLR_CNT对计数器进行清零,为下1秒钟的计

45、数操作作准备。测频控制信号发生器的工作时序如图4-6所示。为了产生这个时序图,需首先建立一个由D触发器构成的二分频器,在每次时钟CLK上沿到来时其值翻转。其中控制信号时钟CLK的频率取1 Hz,而信号TSTEN的脉宽恰好为1 s,可以用作闸门信号。此时,根据测频的时序要求,可得出信号LOAD和CLR_CNT的逻辑描述。由图4-6可见,在计数完成后,即计数使能信号TSTEN在1 s的高电平后,利用其反相值的上跳沿产生一个锁存信号LOAD,0.5 s后,CLR_CNT产生一个清零信号上跳沿。高质量的测频控制信号发生器的设计十分重要,设计中要对其进行仔细的实时仿真(TIMING SIMULATION

46、),防止可能产生的毛刺。图4-6 测频控制信号发生器工作时序每次测量时,控制模块首先对基准信号进行二分频,产生一个计数使能信号EN启动计数器,对输入脉冲信号进行计数,计数使能信号结束即将计数结果送到锁存器,再产生一个锁存信号LOAD启动锁存器,将计算出来的结果经过锁存器送到显示模块,然后计数器清零,准备下一次计数。它控制着清零信号、计数使能信号以及锁存信号。当EN高电平时,允许计数;当EN低电平时,停止计数。控制模块是整个数字系统的控制部分,它控制着计数模块和锁存模块的工作。控制模块作为数字频率计系统的控制部分,实现了一般计数所需的复位,开始测频等的功能,通过仿真,验证,所有功能准确无误。4.2.3 计数模块设计测频计数器在系统中起到了对待测信号频率计数的功能,设计测频计数器采用了十进制加法,从个位开始计算,当个位计数到9时开始向前进一位,依此类推,可以累加到999999。图4-7是测频计数模块流程图图4-7 计数模块流程图计数模块首先检测模块的输入复位信号RESET是否为高电平(RESTET=1),若是的话,进

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 绩效管理


经营许可证编号:宁ICP备18001539号-1