基于FPGA的等精度数字频率计设计毕业论文设计.docx_第1页
基于FPGA的等精度数字频率计设计毕业论文设计.docx_第2页
基于FPGA的等精度数字频率计设计毕业论文设计.docx_第3页
基于FPGA的等精度数字频率计设计毕业论文设计.docx_第4页
基于FPGA的等精度数字频率计设计毕业论文设计.docx_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

兰州交通大学毕业设计(论文)摘要频率是常用的物理量,工程中很多物理量的测量,如时间测量、速度控制等,都可转化为频率测量。此外,还经常遇到以频率为参数的测量信号,例如流量、转速等。所以频率测量方法的研究越来越受到重视。基于传统测频原理的频率计的测量精度将随被测信号频率的下降而降低, 在实用中有较大的局限性, 而等精度频率计不但具有较高的测量精度, 而且在整个频率区域能保持恒定的测试精度。本课题设计的等精度数字频率计是采用当今电子设计领域流行的EDA技术,以FPGA为核心,配合STC89C51单片机。同时,采用等精度测频原理,实现了0.01Hz-50MHz信号频率的等精度频率测量。此外,该系统还实现测量周期、脉宽、占空比等功能。设计中用一块FPGA芯片EP2C5Q208C8完成各种时序逻辑控制、计数功能。在Ouartus II平台上,用VHDL语言编程完成FPGA的软件设计、编译、调试、仿真和下载。用STC89C51单片机作为系统的主控部件,实现整个电路的测试信号控制、数据运算处理、键盘扫描和控制数码管的显示输出。系统将单片机STC89C51的控制灵活性及FPGA芯片的现场可编程性相结合,不但大大缩短了开发研制周期,而且使本系统具有结构紧凑、体积小,可靠性高,测频范围宽、精度高等优点。关键词:频率计;EDA技术;FPGA;单片机AbstractFrequency is commonly used physical quantity, lots of measurement of physical quantity in the project, such as the measurement of time, the control of velocity, can be changed into the measurement of frequency. Besides, the measured signal with a frequency parameter, such as the rate of flow, the rotational speed, is often encountered. So the research of the method of measuring frequency has become more and more significant in the real application.According to the principles of traditional frequency measurement , the measurement accuracy of frequency meter will decrease with the signal frequency decrease .but it has more limitations in the real application, equal precision frequency meter not only has high accuracy, but also maintains constant test accuracy in the whole frequency region .With the help of FPGA and cooperating with the single chip computer STC89C51,The digital frequency design in our program has realized the precision measurement of 0.01Hz-50MHz signal frequency by adopting the current EDA technique prevailing in the electronic designs and using the principle of multi-period synchrony frequency measurement. Besides, the system can complete the cycle, pulse width, duty cycle measurement function . In this design, using an FPGA chip EP2C5Q208C8 completes a variety of temporal logic control and counting function. In the platform of Ouartus II, using VHDL language completes FPGA software design, compiler, debugging, simulation, and download. By use of the STC89C51 single chip computer as the main controlling parts, the control of the tested signal, the scan of keyboard and the output display of LED can be realized. The system combines the control flexibility of STC89C51 with programmable performance of FPGA, consequently, not only can it shorten the period of the development and research, but also it has the advantages of compact structure, little volume, high reliability, wide scope and high precision.Keywords:Frequency meter,EDA technique,FPGA, Single chip computer毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日目录摘要IAbstractII目录III1 绪论31.1 本课题的研究背景及意义31.2 本课题的主要内容32 系统设计的相关理论32.1 频率测量方法的研究32.1.1 常用测频方案32.1.2 等精度测频原理32.1.3 等精度测频误差分析32.2 单片机模块理论及知识32.2.1 MCS-51单片机结构简介32.2.2 Keil vision 3软件概述32.2.3 Proteus软件概述32.3 FPGA模块理论及知识32.3.1 FPGA原理概述32.3.2 Quartus II 软件概述32.3.3 VHDL语言简介及开发优点33 系统硬件电路设计33.1 系统顶层电路组成33.2 被测信号放大整形电路设计33.3 单片机模块设计33.3.1 单片机最小系统33.3.2 键盘接口电路33.3.3 LED数码管显示电路33.4 FPGA模块电路设计33.4.1 基本单元电路33.4.2 测量与自检选择电路33.4.3 脉宽控制电路33.4.4 测频与测周期电路33.5 单片机与FPGA的相互控制电路34 系统软件设计34.1 单片机主程序设计34.2 复位自检程序设计34.3 键盘程序设计34.4 测频子程序设计34.5 测周期子程序设计34.6 测脉宽子程序设计34.7 测占空比子程序设计34.8 LED数码管显示子程序设计35 系统性能分析35.1 测量范围分析35.2 测量精度分析35.3 被测信号幅值分析3结论3致谢3参考文献3附录一 FPGA程序3附录二 单片机程序3521 绪论1.1 本课题的研究背景及意义EDA(Electronic Design Automation电子设计自动化)代表了当今电子设计技术的最新发展方向,通过VHDL(Very High Speed Integrated Circuit Hardware Description Language)硬件描述语言的设计,用FPGA(FieldProgrammable Gate Array现场可编程门阵列)来实现小型电子设备的设计,是开发仪器仪表的主流。据统计,目前发达国家在电子产品开发中EDA工具的利用率已达很高,而大部分的FPGA已采用HDL(Hardware Description Language硬件描述语言)设计。由于VHDL已成为IEEE标准,目前的EDA工具可以使ASIC系统的行为、功能、算法用VHDL描述直接生成FPGA器件,使设计者将精力集中于设计构思,提高了设计效率,同时也利于设计的分解、交流和重用。随着微电子技术和计算机技术的发展,可编程逻辑器件,EDA技术,SOPC等新概念和新技术层出不穷,新技术的应用迅速渗透到电子、通信、信息、汽车制造等领域,有力的推动了社会生产力的发展和社会信息化程度的提高。目前,市场上的频率计厂家可分为三类:中国大陆厂家、中国台湾厂家、欧美厂家。其中,欧美频率计厂家所占有的市场份额最大。欧美频率计厂家主要有:Pendulum Instruments和Agilent科技。Pendulum Instruments公司是一家瑞典公司,总部位于瑞典首都斯德哥尔摩。Pendulum公司源于Philips公司的时间、频率部门,在时间频率测量领域具有40多年的研发生产经历。Pendulum Instruments公司常规频率计型号主要有:CNT-91、CNT-90、CNT-81、CNT-85。同时,Pendulum Instruments公司还推出铷钟时基频率计CNT-91R、CNT-85R。以及微波频率计CNT-90XL(频率测量范围高达60G)。Agilent科技公司是一家美国公司,总部位于美国的加利福尼亚。Agilent科技公司成立于1939年,在电子测量领域也有着70多年的研发生产经历。Agilent科技公司的常规频率计信号主要有:53181A、53131A、53132A。同时,Agilent科技公司还推出微波频率计:53150A,53151A,53152A(频率测量范围最高可达46G)。基于FPGA的等精度频率计有运算速度快、系统较稳定、测量范围广等特点。其中主要应用到EDA(电子设计自动化)技术。伴随着集成电路技术的发展,EDA逐渐成为重要的设计手段。已经广泛应用于模拟与数字电路系统等许多领域。EDA是一种实现电系统或电子产品自动化设计的技术,它与电子技术、微电子技术的发展密切相关,它吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机为工作平台,促进了工程发展。本设计利用FPGA进行测频计数,单片机实施控制,实现频率计的设计过程。该频率计利用等精度的设计方法,克服了基于传统测频原理的频率计的测量精度随被测信号频率的下降而降低的缺点。等精度的测量方法不但具有较高的测量精度,而且在整个测频区域内保持恒定的测试精度。1.2 本课题的主要内容随着EDA(Electronics Design Automation)技术的发展和可编程逻辑器件的广泛应用,传统的自下而上的数字电路设计方法、工具、器件已远远落后于当今技术的发展。基于EDA技术正在承担起越来越多的数字系统设计任务。本设计主要论述了利用FPGA进行测频计数,单片机实施控制,实现多功能频率计的过程,使得频率计具有了测量精度高、功能丰富、控制灵活等特点。该频率计依照等精度的测量原理,克服了传统计数器测频原理随被测信号频率下降而降低的缺点。等精度测量方法不但具有较高的精度,而且在整个频率域保持恒定的测量精度。该频率计利用FPGA来实现对频率、周期、脉宽、占空比的测量计数,由单片机实现对系统的控制、数据的显示、数据运算及数制转换等功能。本课题的主要工作包括以下几项内容:(1)简述了本课题研究的背景和意义。(2)详细地论述了系统设计的相关理论,主要包括等精度频率计的测频原理、单片机和FPGA应用平台的介绍。(3)完成了频率计的系统硬件电路的设计,同时完成了基于数字硬件电路设计平台Quartus的FPGA硬件电路设计,FPGA模块用来完成高速计数器的功能;单片机完成测试控制、数据处理、键盘输入控制、数码管显示控制等功能,并对整个系统进行总体控制。(4)用C语言完成了系统中单片机控制的的软件设计。(5)对频率计的系统性能进行分析,通过分析得出,本设计的测频范围是0.01Hz50MHz,测量精度为百万分之一,被测信号的幅度为0.2mv-5v。 本文分5章介绍了基于FPGA的等精度数字频率计的设计原理、设计步骤,性能分析等。2 系统设计的相关理论2.1 频率测量方法的研究2.1.1 常用测频方案在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。测量频率的方法有多种,其中等精度测量频率具有精度高、使用方便、测量迅速,以及便于现测量、过程自动化等优点,是频率测量的重要手段之一。普通测频有两种方式:一是间接测频法,二是直接测频法。方案一:采用间接测频法,即周期法。通过测量待测信号的周期并求其倒数,需要有标准频率的信号,在待测信号的一个周期内,记录标准频率的周期数,这种方法的计数值会产生最大为1个脉冲误差,并且测试精度与计数器中记录的数值有关,为了保证测试精度,测周期法仅适用于低频信号的测量。方案二:采用直接测频法。直接测频法就是在确定的闸门时间内,记录被测信号的脉冲个数。由于闸门时间通常不是待测信号的整数倍,这种方法的计数值也会产生最大为1个脉冲误差。进一步分析测量准确度:设待测信号脉冲周期为Tx,频率为Fx,当测量时间为T=1s时,测量准确度为=Tx/T=1/Fx。由此可知直接测频法的测量准确度与信号的频率有关:当待测信号频率较高时,测量准确度也较高,反之测量准确度也较低。因此直接测频法只适合测量频率较高的信号,不能满足在整个测量频段内的测量精度保持不变的要求。方案三:采用等精度频率测量法,测量精度保持恒定,不随所测信号的变化而变化。在快速测量的要求下,要保证较高精度的测频,必须采用较高的标准频率信号。单片机受本身时钟频率和若干指令运算的限制,测频速度较慢,无法满足高速、高精度的测频要求;而采用高集成度、高速的现场可编程门阵列FPGA为实现高速、高精度的测频提供了保证。综上所述,本设计所采用的测频方法就是等精度频率测量法,下面我们将对等精度频率测量法做进一步介绍。2.1.2 等精度测频原理等精度测频方法是在直接测频方法的基础上发展起来的。它的闸门时间不是固定的值,而是被测信号周期的整数倍,即与被测信号同步,因此,避免了对被测信号计数所产生1个字误差,并且达到了在整个测试频段的等精度测量。其测频原理如图2.1所示。在测量过程中,有两个计数器分别对标准信号和被测信号同时计数。首先给出闸门开启信号(预置闸门上升沿),此时计数器并不开始计数,而是等到被测信号的上升沿到来时,计数器才真正开始计数。然后预置闸门关闭信号(下降沿)到时,计数器并不立即停止计数,而是等到被测信号的上升沿到来时才结束计数,完成一次测量过程。可以看出,实际闸门时间t与预置闸门时间t1并不严格相等,但差值不超过被测信号的一个周期1。图2.1 等精度测频原理波形图等精度测频的实现方法可简化为图2.2所示。CNT1和CNT2是两个可控计数器,标准频率信号从CNT1的时钟输入端CLK输入;经整形后的被测信号从CNT2的时钟输入端CLK输入。当预置门控信号为高电平时,经整形后的被测信号的上升沿通过D触发器的Q端同时启动CNT1和CNT2。CNT1、CNT2同时对标准频率信号和经整形后的被测信号进行计数,分别为NS与NX。当预置门信号为低电平的时候,随后而来的被测信号的上升沿将使两个计数器同时关闭,所测得的频率为(FS/NS)*NX。则等精度测量方法测量精度与预置门宽度和标准频率有关,与被测信号的频率无关。在预置门时间和常规测频闸门时间相同而被测信号频率不同的情况下,等精度测量法的测量精度不变。图2.2 等精度测频实现原理图2.1.3 等精度测频误差分析设在一次实际闸门时间t中计数器对被测信号的计数值为Nx,对标准信号的计数值为Ns。标准信号的频率为fs,则被测信号的频率如式(2-1):fx=(Nx/Ns)fs (2-1)由式2-1可知,若忽略标频fs的误差,则等精度测频可能产生的相对误差如式(2-2): =(|fxe-fx|/fxe)100% (2-2)其中fxe为被测信号频率的准确值。在测量中,由于fx计数的起停时间都是由该信号的上升沿触发的,在闸门时间t内对fx的计数Nx无误差(t=NxTx);对fs的计数Ns最多相差一个数的误差,即|Ns|1,其测量频率如式(2-3):fxe=Nx/(Ns+Ns)fs (2-3)将式(2-1)和(2-3)代入式(2-2),并整理如式(2-4):=|Ns|/Ns1/Ns=1/(tfs) (2-4)由上式可以看出,测量频率的相对误差与被测信号频率的大小无关,仅与闸门时间和标准信号频率有关,即实现了整个测试频段的等精度测量。闸门时间越长,标准频率越高,测频的相对误差就越小。标准频率可由稳定度好、精度高的高频率晶体振荡器产生,在保证测量精度不变的前提下,提高标准信号频率,可使闸门时间缩短,即提高测试速度2。2.2 单片机模块理论及知识2.2.1 MCS-51单片机结构简介MCS-51单片机分为51和52两个系列,包括80c51、87c51、80c52、87c52等典型产品型号,它们的结构基本相同,主要差别仅在片内存储器、计数器。中断源的配置有所不同,其中52子系列在存储器容量、计数器和中断源数量都高于51子系列。考虑到本设计采用STC89C51,这里将以80c51为例进行介绍3。MCS-51单片机的内部结构包含了作为微型计算机必需的基本功能部件,如CPU、RAM、ROM、定时/计数器和可编程并行I/O口、可编程串行口等。这些功能部件通常都挂靠在单片机内部总线上,通过内部总线穿送数据信息和控制信息。其基本内部结构如图2.3所示。图2.3 MCS-51单片机内部基本结构80C51单片机内部资源主要包括:8位中央处理器;片内振荡器和时钟电路;4KB片内程序存储器(ROM);128字节的片内RAM;2个16位定时/计数器;可寻址64KB外部程序存储器和64KB数据存储空间的控制电路;4个8位双向I/O口;1个全双工串行口;5个中断源;80C51单片机采用40引脚双列直插式封装形式,其引脚分布如图2.4所示。(1)电源及晶振引脚(4只)- VCC、GND、XTALL1、XTAL2;(2)控制引脚(4只)-PSEN、ALE、EA、RST;(3)并行I/O口引脚(32只)-P0.0-P0.7、P1.0-P1.7、P2.0-P2.7、P3.0-P3.7。图2.4 80c51单片机引脚图2.2.2 Keil vision 3软件概述Keil是德国Keil Software公司出品的单片机集成开发软件,该软件支持51单片机的所有变种。Keil 提供了包括C编译器、宏汇编、连接器、库管理及一个功能强大的仿真调试器在内的完整开发方案,并通过一个集成开发环境(Vision 3)将这些部分组合在一起。Keil单片机集成开发软件可以运行在Windows98/NT/2000及XP等操作系统下。Vision 3软件界面包括4大组成部分,即菜单工具栏、项目管理窗口、文件窗口和输出窗口。其软件开发流程为:(1)创建一个项目,从器件库中选择目标器件,配置工具设置;(2)用C语言或汇编语言创建源程序;(3)用项目管理器生成应用;(4)修改源程序中的错误;(5)测试,连接应用。2.2.3 Proteus软件概述Proteus软件是英国Labcenter公司开发的电路及单片机系统设计与仿真软件。Proteus软件可以实现数字电路、模拟电路及微控制器系统与外设的混合电路系统的电路仿真、软件仿真、系统协同仿真和PCB设计等功能。Proteus软件是目前唯一能对各种处理器进行实时仿真、调试与测试的EDA工具,真正实现了在没有目标原形时可以对系统进行调试、测试和验证。Proteus软件大大提高了企业的产品开发率,降低了开发风险。由于Proteus软件逼真、真实的协同仿真功能,它也特别适合于作为配合单片机课堂教学和实验的学习工具。Proteus软件提供了30多个元器件库、7000余种元器件。元器件涉及电阻、电容、二极管、三极管、变压器、继电器、各种放大器、各种激励源、各种微控制器、各种门电路和各种终端等。Proteus软件还提供有交直流电压表、逻辑分析仪、示波器、定时/计数器和信号发生器等测试信号工具,用于电路测试。Proteus软件主要由两个设计平台组成:(1)ISIS(Intelligent Schematic Input System)原理图设计与仿真平台,它用于电路原理图的设计以及交互式仿真。(2)ARES(Advanced Routing And Editing Software)高级布线和编辑软件平台,它用于印制电路板的设计,并产生输出文件。2.3 FPGA模块理论及知识2.3.1 FPGA原理概述FPGA器件具有高密度、高速率、系列化、标准化、小型化、多功能、低功耗、低成本,设计灵活方便,可无限次反复编程,并可现场模拟调试验证等特点。使用FPGA器件,可在较短地时间内完成一个电子系统地设计和制作,缩短了研制周期,达到快速上市和进一步降低成本的要求4。FPGA具有掩模可编程门阵列地通用结构,它由排成阵列的逻辑功能块组成,由可编程的互连资源连接这些逻辑功能块来实现不同的设计。FPGA由可配置逻辑块(CLB-Configurable Logic Block)、输入/输出模块(IOB-I/O Block)和互连资源(IR-Interconnect Resource)三部分组成。可配置逻辑块CLB是实现用户功能的基本单元,它们通常规则地排列成一个阵列,散布于整个芯片;可编程输入/输出模块(IOB)主要完成芯片上逻辑与外部封装脚的接口,它通常排列在芯片的四周;可编程互连资源(IR)包括各种长度的连线线段和一些可编程连接开关, 它们将各个CLB之间或CLB、 IOB之间以及IOB之间连接起来,构成特定功能的电路。 (1)可配置逻辑块 (CLB)一般有三种结构形式: 查找表结构; 多路开关结构; 多级与非门结构。CLB是FPGA地主要组成部分,它主要由逻辑函数发生器、触发器、数据选择器等电路组成。(2)输入/输出模块(IOB)IOB主要由输入触发器、输入缓冲器和输出触发/锁存器、输出缓冲器组成。其结构如下图所示。每个IOB控制一个引脚,它们可被配置为输入、输出或双向I/O功能。(3)可编程连线(IR)FPGA芯片内部单个CLB输入输出之间、各个CLB之间、 CLB和I/OB之间的连线由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现所需功能的电路连接。 连线通路的数量与器件内部阵列的规模有关,阵列规模越大, 连线数量越多。2.3.2 Quartus II 软件概述Quartus II是Altera公司提供的FPGA/CPLD开发集成环境,Altera是世界上最大的可编程逻辑器件供应商之一。Quartus II在21世纪初推出,是Altera前一代FPGA/CPLD集成开发环境MAX+PLUSII的更新换代产品,其界面友好,使用便捷。它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。Altera的Quartus II提供了完整的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统(SOPC)设计的综合性环境和SOPC开发的基本设计工具,并为Altera DSP开发包进行系统模型设计提供了集成组合环境。Quartus II设计工具完全支持VHDL、Verilog的设计流程,其内部嵌有VHDL、Verilog逻辑综合器。Quartus II也可利用第三方的综合工具。同样,Quartus II具备仿真功能,同时也支持第三方的仿真工具,如ModelSim。此外,Quartus II与MATLAB和DSP Builder结合,可以进行基于FPGA的DSP系统开发和数字通信模块的开发。Quartus II包括模块化的编译器。编译器包括的功能模块有分析/综合器(Analsis & Synthesis)、适配器(Fitter)、装配器(Assembler)、时序分析器(Timing Analyzer)、设计辅助模块(Design Assistant)、EDA网表文件生成器(EDA Net list Writer)、编辑数据接口(Compiler Database Interface)等。可以通过选择Start Compilation来运行所有的编译器模块,也可以通过选择Start单独运行各个模块。还可以通过选择Compiler Tool(Tools菜单),在Compiler Tool窗口中运行该模块来启动编译器模块。在Compiler Tool窗口中,可以打开该模块的设置文件或报告文件,或打开其他相关窗口。此外,Quartus II还包含许多十分有用的LPM(Library of Parameterized Modules)模块,它们是复杂或高级系统构建的重要组成部分,在SOPC设计中被大量使用,也可以与Quartus II普通设计文件一起使用。Altera提供的LPM函数均基于Altera器件的结构做了优化设计。在许多实用情况中,必须使用宏功能模块才可以使用一些Altera特定器件的硬件功能,如各类片上存储器、DSP模块、LVDS驱动器、PLL以及SERDES和DDIO电路模块等。Quartus II编译器支持的硬件描述语言有VHDL(支持VHDL87及VHDL97标准)、Verilog HDL及AHDL(Altera HDL)。Quartus II支持层次化设计,可以在一个新的编辑输入环境中对使用不同输入设计方式完成的模块(元件)进行调用,从而解决了原理图与HDL混合输入设计的问题。在设计输入之后,Quartus II的编译器将给出设计输入的错误报告。可以使用Quartus II带有的RTL Viewer观察综合后的RTL图。Quartus II作为目前CPLD/FPGA开发工具理想的综合、仿真软件,具有许多优良的特性。(1)继承了MAX+PLUSII的优点图形输入依然形象,图形符号与MAX+PLUSII一样符合数字电路的特点,大量74系列器件符号使能初学者在较短的时间里利用图形编辑设计出需要的电路。文本输入几乎和MAX+PLUSII相同,而且在文本的每一行都有行号,使用语言编写的电路清晰易读。低层编辑仍然采用Chipview方式,引脚排列位置映射了实际器件引脚,只要简单地鼠标拖放即可完成低层编辑。(2)支持的器件更多除了支持MAX3000、MAX7000、FLEX6000、FLEX10KE、ACEX1K等MAX+PLUSII已经支持的器件外,还支持PEX20K、APEX20KE、AREXII、EXCALIBUR-ARM、Mercury、Stratix等MAX+PLUSII下无法支持的大容量高性能的器件。(3)增加了网络编辑功能QuartusII支持一个工作组环境下的设计要求,包括支持基于Internet的协作设计,与Cadence、ExemplarLogi、MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。(4)提升了调试能力QuartusII增加了一个新的快速适配编译选项,可保留最佳性能的设置,加快了编译过程,可缩短50%的编译时间,对设计性能的影响小。(5)不足之处软件结构庞大,使用复杂,不如MAX+PLUSII简单、易学易用。2.3.3 VHDL语言简介及开发优点VHDL的英文名全称是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言 。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。VHDL主要用于描述数字系统的结构,行为,功能和接口,非常适用于可编程逻辑芯片的应用设计。与其它的HDL相比,VHDL具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。就目前流行的EDA工具和VHDL综合器而言,将基于抽象的行为描述风格的VHDL程序综合成为具体的FPGA和CPLD等器件的网表文件已不成问题。VHDL语言与其它HDL语言相比有一些自己的特色,下面作一简要说明。(1)设计功能强、方法灵活、支持广泛。VDHL语言可以支持自上而下 ( Top_Down)的设计方法,它具有功能强大的语言结构,可用简洁明确的代码描述来进行复杂控制逻辑的设计,可以支持同步电路、异步电路、以及其它随机电路的设计。其范围之广是其它HDL语言所不能比拟的。此外,VHDL语言可以自定义数据类型,这也给编程人员带来了较大的自由和方便。(2)系统硬件描述能力强。VHDL语言具有多层次的设计描述功能,可以从系统的数学模型直到门级电路,支持设计库和可重复使用的组件生成,它支持阶层设计且提供模块设计的创建。VHDL语言能进行系统级的硬件描述是它的一个最突出的优点。(3)可以进行与工艺无关编程。VHDL语言设计系统硬件时,没有嵌入描述与工艺相关的信息,不会因为工艺变化而使描述过时。与工艺技术有关的参数可通过VHDL提供的类属加以描述,工艺改变时,只需修改相应程序中的类属参数即可。(4)VHDL语言标准、规范,易于共享和复用。VHDL既是IEEE承认的标准,故VHDL的设计描述可以被不同的EDA设计工具所支持。从一个仿真工具移植到另一个仿真工具,从一个综合工具移植到另一个综合工具,从一个工作平台移植到另一个工作平台去执行。这意味着同一个VHDL设计描述可以在不同的设计项目中采用,方便了设计成果的设计和交流。另外,VHDL语言的语法比较规范,从而其可读性比较好,给阅读和使用都带来了极大的好处。(5)方便ASIC移植。VHDL语言的效率之一,就是如果你的设计是被综合到一个CPLD或FPGA的话,则可以使你设计的产品以最快速度上市。当产品的产量达到相当的数量时,采用VHDL进行的设计可以很容易转成用专用集成电路(ASIC)来实现,仅仅需要更换不同的库重新进行综合。由于VHDL是一个成熟的定义型语言,可以确保ASIC厂商交付优良质量的器件产品。此外,由于工艺技术的进步,需要采用更先进的工艺时,仍可以采用原来的VHDL代码。3 系统硬件电路设计3.1 系统顶层电路组成本设计的核心部件为STC89C51单片机和现场可编程芯片FPGA,所有信号包括标准频率信号,被测信号,自检信号均可在STC89C51单片机的控制下送到FPGA芯片中,单片机将每次测试结果读入内存RAM中,经运算处理后,由RXD口以BCD码的形式送入数码管显示电路进行显示。整个系统在硬件上可分为标准频率信号模块、被测信号放大整形电路模块、单片机模块和FPGA模块。系统的总体设计框图如图3.1所示。键盘控制命令直连单片机,快速的实现测频、测周期、测脉宽、测占空比及复位等功能的控制。该设计以FPGA开发板外接的50MHz晶振作为标准频率信号,在应用时我们只需将晶振的引脚与我们设计的FPGA芯片对应配置就可以了。单片机由外接的12MHz标准晶振提供时钟电路。图3.1 等精度数字频率计系统的总体设计框图3.2 被测信号放大整形电路设计为了能测量不同幅值与不同波形的周期信号的频率,必须对被测信号进行放大与整形处理,使之成为能被计数器有效识别的矩形脉冲信号。信号放大与波形整形电路的作用即在于此。信号放大可以采用一般的运算放大电路,波形整形可采用施密特触发器。在设计过程中,考虑到输入的信号幅度不定,这时很难确定放大器的放大倍数,并且施密特触发器要求输入电平很高,所以放大器的放大倍数要随输入信号幅度随时调整,因此采用一般的方案实现困难。为了解决这个问题,我们采用集成运算放大器构成过零比较器5来实现,这时只要被测信号电压达到20mV(由运放参数决定)以上,即可将输入的三角波、正弦波或锯齿波整形成能被计数器识别的矩形脉冲信号。所设计的电路如图3.2所示,其中,R1是输入耦合电阻,R2是稳压管的限流电阻,D1和D2是4.3v稳压管,经放大整形后输出矩形波,其幅度是5V。图3.2 被测信号放大整形电路设输入波形(被测信号)为30mV、1KHz的正弦波,经Proteus仿真得到的输入、输出波形如图3.3所示。图3.3 被测信号输出波形3.3 单片机模块设计3.3.4 单片机最小系统单片机最小系统包括时钟电路和复位电路,此为固定电路,其原理图如图3.4所示。单片机在启动运行时需要复位,使CPU及其它功能部件处于一个确定的初始状态,并从这个初始状态开始工作,单片机应用程序必须以此作为设计的前提条件。另外,在单片机工作过程中,如果出现死机,也必须对单片机进行复位,使其重行开始工作。产生单片机复位的条件是:在RST引脚端出现满足复位时间要求的高电平状态,该时间等于系统时钟振荡周期建立时间再加两个机器周期时间(一般不小于10ms)。本设计采用复合复位接法的复位电路。单片机执行指令的过程可分为取指令、分析指令和执行指令三个步骤,每个步骤又有许多微操作所组成,这些微操作必须在统一的时钟控制下才能按照正确的顺序执行。单片机的时钟信号可以由两种方式产生,即内部时钟方式和外部时钟方式。本设计采用内部时钟方式,内部时钟方式是利用单片机芯片内部的振荡电路实现的,此时需要单片机的XTAL1和XTAL2引脚外接定时元件。定时元件一般用晶体振荡器和电容组成并联谐振回路,电容C1和C2一般取30pF左右,主要作用是帮助振荡器起振,晶体振荡器的频率范围在1.213MHz。晶体振荡频率越高,则系统的时钟频率越高,单片机运行速度也就越快。图3.4 单片机最小系统3.3.5 键盘接口电路本设计采用由数字芯片74LS148组成的独立式键盘,其一般应用在按键数量比较少的系统中,键盘接口电路如图3.5所示。键盘控制命令由键盘扫描编码电路读入,当有按键按下时向单片机发出中断请求并读取键值。键盘编码电路的YEX引脚接单片机的外部中断0(INT0)输入引脚,用于向单片机发出中断请求并读取键值。没有按键按下时,键盘编码电路的YEX为高电平;当有按键按下时,键盘扫描编码电路在确定不是干扰后,YEX引脚变为低电平,向单片机发出中断请求读取键值,当按键撤销后,YEX恢复高电平。键盘编码电路的Y0.2用于向单片机输入键值,其Y0.2接单片机的P10.2。由于单片机读取键值的操作是通过外部中断引起的,这样在没有键按下时,CPU就不会执行扫描程序,提高了CPU工作的效率。图3.5 键盘接口电路74LS148为8线-3线编码器,其逻辑符号如图3.6所示,编码器输入信号均为低电平有效,且I7的优先权最高,I6次之,I0最低。编码输出信号Y2、Y1和Y0则为二进制反码输出,将其取反就可得到原码输出。选通输入端(使能输入端)S、使能输出端以及扩展输出端YEX是为了便于使用而设置的三个控制端。74LS148的逻辑功能表如表3.1所示。图3.6 74LS164的逻辑符号表3.1 74LS164的逻辑功能表输入输出SI0I1I2I3I4I5I6I7Y2Y1Y0YSYEX10000000001010110111011110111110111111011111110111111111000011111100110011110101000110111111111100000000当S=1时,编码器不工作,编码器输出Y2、Y1和Y0及YEX和YS全为1(真值表第一行),所有的输出端都被锁在高电平。当S=0时,编码器工作,如果没有有效的编码输入信号需要的编码,Y2、Y1和Y0仍然全为1,但YS、YEX为0、1,(真值表第二行),如果有有效的编码输入信号需要的编码,则按输入的优先级对优先权最高的一个有效输入信号进行编码,且YS、YEX为1、0(真值表第310行)。3.3.6 LED数码管显示电路LED数码管显示电路采用八片首尾相连的74LS164锁存器和8个共阴LED数码管显示测试结果。考虑到提高单片机IO口的利用率,降低编程复杂性,提高单片机的计算速度以及降低数码显示器对主系统的干扰,采用串行静态显示方式。八片首尾相连的74LS164作为LED数码管的静态显示锁存器,数字芯片74LS164为TTL单向8位移位寄存器,其引脚图如图3.7所示,逻辑图如图3.8所示,可实现串行输入,并行输出。其中DSA、DSB(第1、2管脚)为串行数据输入端,两个引脚按逻辑与运算规律输入信号,数据通过两个输入端(DSA 或 DSB)之一串行输入,任意一个输入端可以用作高电平使能端,控制另一输入端的数据输入。也可以把两个输入端连接在一起,或者把不用的输入端接高电平,一定不要悬空。时钟信号(CP) 每次由低变高时,数据右移一位,输入到Q0, Q0 是两个数据输入端(DSA 和 DSB)的逻辑与的结果。复位 (MR) 输入端上的一个低电平将使其它所有输入端都无效,同时异步地清除寄存器,强制所有的输出端为低电平。本次设计中将DSA 和 DSB接到STC89C51的RXD端,CP(第8管脚)为时钟输入端,连接到STC89C51的TXD端。每一个时钟信号的上升沿加到CP端时,移位寄存器移一位,8个时钟脉冲过后,8位二进制数全部移入74LS164中。MR (第9管脚)为复位端,当CLR=0时,移位寄存器各位输出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论