等精度数字频率计的设计_第1页
等精度数字频率计的设计_第2页
等精度数字频率计的设计_第3页
等精度数字频率计的设计_第4页
等精度数字频率计的设计_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

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

文档简介

1、本科生毕业设计说明书(毕业论文)题 目:等精度数字频率计的设计 摘 要本设计课题为基于FPGA和单片机的等精度数字频率计的设计。在本设计中,采用先进的自上而下的设计方法,以AT89C52单片机作为系统的主控部件,实现整个电路的信号控制、数据运算处理等功能;一片现场可编程逻辑器件FPGA(Filed Programmable Gate Array)芯片FLEX EPF10K20RC208-4完成各种时序逻辑控制、计数功能。在数字硬件电路EDA设计平台MAX+plus上,使用硬件描述语言VHDL编程完成了FPGA内部的数字硬件电路设计、编译、调试、仿真和下载。本文详细论述了等精度数字频率计的测频原

2、理、硬件电路的组成、设计和单片机软件编程设计。其中硬件电路包括键盘控制模块、显示模块和测量模块,键盘模块通过对六只按键的选择实现了除测频功能外的周期、脉宽、占空比测量等功能的选择;显示模块采用动态显示方式,节省了FPGA内部大量资源;AT89C52单片机的软件编程采用灵活易读的C语言。本设计将AT89C52单片机的控制灵活性和FPGA芯片的现场可编程性相结合,不但大大缩短了开发研制周期,而且使本系统具有结构紧凑、体积小、可靠性高、测频范围宽、精度高等优点。关键词:EDA技术;单片机;FPGA;频率计 77 / 83文档可自由编辑打印The Dsign Of Equal-Accuracy Dig

3、tal FrequencyAbstractThe title of this design is the design of equal-accuracy digital frequency based on FPGA and single chip computer. The digital frequency meter design in this paper which adopts top-down design methodology uses the AT89C52 single chip computer as the main controlling parts .The A

4、T89C52 realizes test signal control ,keyboard scan and output display of LED .One FPGA chip FLEX EPF10K20RC208-4 fulfils timing logic control and count function .Under the hardware circuit design flat of MAX+plus,FPGA software designing,compiling , debugging ,simulation and download are been carried

5、 out in VHDL.This article detail exposition of the testing frequency precision digital principles, hardware circuit composition, design and software programming design of single chip computer.These hardware circuits including keyboard control module, display modules and measurement modules. Keyboard

6、 module through six achieved made the system can measure pulse width and occupy-empty ratio of input signal . The using of dynamic display module, saving a lot of internal FPGA resources. The software programming of AT89C52 single chip computer adopts the flexible and accessible C language. The syst

7、em combines the controlling flexibility of AT89C52 with programmable performance of FPGA , so it not only can shorten develop cycle ,but also has advantage of tightening architecture ,little volume ,high reliability ,wide scope and high precision .Key words: EDA technique; single chip computer; freq

8、uency meter; FPGA 目 录摘 要IAbstractII第一章 绪 论11.1 研究背景及意义11.2 频率计发展概况11.3 论文所做的工作与研究内容2第二章 等精度数字频率计测频原理及设计方法42.1 等精度数字频率计测频原理42.1.1 常用测频方法简介42.1.2 等精度测频原理42.2 等精度数字频率计的设计方法52.2.1 电子系统的传统设计方法52.2.2 当代电子系统的设计方法6第三章 主要芯片及设计工具简介83.1 主要芯片介绍83.1.1 AT89C52单片机性能简介83.1.2 FLEX10K芯片系列简介113.2 MUX+PLUS概述143.3 VHDL语

9、言简介15第四章 硬件电路设计174.1 系统组成174.2 键盘接口电路174.3 显示电路184.4 测量电路194.4.1 测量与自校验选择电路214.4.2 测频原理与测频电路224.4.3 脉宽控制电路244.5 硬件电路的VHDL语言描述254.5.1 D触发器254.5.2 32位计数器264.5.3 MUX64-8多路选择器274.5.4 MUX2-1选择器284.5.5 时钟发生器284.5.6 64位移位寄存器294.5.7 数码管字型译码器304.5.8 数码管片选译码器314.5.9 键盘编码器324.5.10 单片机主控电路33第五章 软件电路设计345.1 主程序3

10、45.2 复位自检程序355.3 数据输出程序365.4 频率测量程序375.5 数据读入程序375.6 占空比测量控制程序375.7 键值读取程序385.8 数制转换程序39第六章 系统性能分析426.1 频率测量范围分析426.1.1 低端频率426.1.2 高端频率426.2 测量精度分析43结 论44参考文献45附录A 系统原理图(a)46附录A 系统原理图(b)47附录B AT89C52单片机内部方框图48附录C 硬件电路的硬件描述语言VHDL描述49附录D 单片机C语言程序64致 谢76第一章 绪 论1.1 研究背景及意义随着电子技术与计算机技术的不断发展,以单片机为核心的测量控制

11、系统层出不穷。在被测信号中,经常遇到以频率为参数的信号,例如流量、转速、晶体压力传感器以及经过参变量频率转换后的信号等。频率信号抗干扰性强,易于传输,可以获得较高的测量精度,所以研究测频方法是电子测量领域的重要内容。传统的数字频率计一般由分离元件搭接而成,其测量范围、测量精度和测量速度都受到很大的限制。虽然单片机的发展与应用改善了这一缺陷,但由于单片机本身也受到工作频率及内部计数器位数等因素的限制,所以无法在此领域取得突破性的进展。随着新型可编程逻辑器件FPGA技术的发展,能够将大量的逻辑功能集成在单个器件中,FPGA根据不同的需要所提供的门数可以从几百门到上百万门,从根本上解决了单片机的先天

12、性不足。本课题所设计的等精度数字频率计不但集成度远远超过了以往的数字频率计,而且在基准频率等外部条件的允许下,可以根据不同场合的精度要求,对硬件描述语言进行一定的改动,使系统在精度提高的同时,而不增加系统硬件,从而降低系统的整体造价。此外,系统芯片(SOC)的发展也要求其包含频率测量的功能,所以用FPGA实现数字频率计也是实现系统芯片的前提条件。该数字频率计的设计及实现应用计数器法,基于上述优势开发的频率计具有良好的应用价值和推广前景。1.2 频率计发展概况传统的数字频率计可以通过普通的硬件电路组合来实现,一般由分离元件搭接而成,其开发过程、调试过程十分繁锁,而且由于电子器件之间的互相干扰,影

13、响频率计的精度,体积较大,已不适应电子设计的发展要求。MSC-51系列单片机具有体积小、功能强、性能价格比高等特点,广泛应用于工业测量、控制和智能化仪器、仪表等领域。以MSC-51系列单片机为核心的频率计,较分离元件搭接而成的频率计改善了性能、提高了可靠性,并可以采用软件实现各种频率测量方法。但由受到单片机本身特性的影响,其晶振最大只能为24MHz,以单片机为核心的频率计的测频范围及精度受到很大的制约。随着EDA技术的发展,现代频率计的设计多采用基于FPGA芯片的方法来完成频率计的设计,即通过VHDL(Very High Speed Integrated Circuit Hardware De

14、scription Language)硬件描述语言的设计,用FPGA来实现。FPGA(Field Programmable Gate Array)即现场可编程逻辑器件是由存放在片内RAM 中的程序来设置其工作状态的,因此工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA 进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此FPGA 能够反复使用。FPGA 的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPR

15、OM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。同时EDA开发工具的通用性、设计语言( 在此为VHDL) 的标准化以及设计过程几乎与所用器件的硬件结构无关,所以设计成功的各类逻辑功能块软件有很好的兼容性和可移植性,可以在很短的时间里完成十分复杂的系统设计。1.3 论文所做的工作与研究内容随着EDA(Electronics Design Automation)技术的发展和可编程逻辑器件的广泛应用,传统的自下而上的数字电路设计方法、工具、器件已远远落后于当今技术的发展。基于EDA技术和硬件描述语言的自上而下的设计技术正在承担起越来越多的数字系统

16、设计任务。 本设计主要论述了利用FPGA进行测频计数,单片机实施控制的方法实现多功能频率计的过程,使得频率计具有了测量精度高、功能丰富、控制灵活等特点。该频率计依照等精度的测量原理,克服了传统计数器测频原理随被测信号频率下降而降低的缺点。等精度的测量方法不但具有较高的测量精度,而且在整个频率域保持恒定的测量精度。该频率计利用FPGA来实现对被测频率信号及标准频率信号的周期计数,由单片机实现对系统的控制、数据运算及数制转换等功能。本设计的主要工作包括以下几项内容:(1)简述了当今频率计的发展状况,对几种常用的测频方法进行了介绍和对比.(2)在FPGA和单片机的基础上采用等精度测量方法,实现了高精

17、度的频率、周期、脉宽和占空比的测量。(3)采用MSC-51单片机来实现对功能键的控制、数据的运算、码制的转换、数据的显示等功能。(4)完成了基于数字硬件电路设计平台Max+ plusII的FPGA硬件电路的设计和单片机的测试控制、数据处理程序。本文分5章介绍了基于FPGA和单片机的等精度数字频率计的设计原理、设计方法、和开发步骤,并对频率计的测量结果和实际输入频率进行了比较,分析了本设计影响测量精度的主要因素。第二章 等精度数字频率计测频原理及设计方法2.1 等精度数字频率计测频原理2.1.1 常用测频方法简介目前常用的测频方法可以分为3类,即:(1)比较法通过与标准频率f0比较确定被测频率f

18、x,测量精度主要取决于标准频率f0的精度。主要方法有用于低频段测量的拍频法、示波器法和用于高频频段测量的差频法等。(2)电路频率特性测量法由电路的已知参数与电路的频率特性得到被测频率fx,主要方法包括用于低频段的电桥法和用于高频或微波频段的谐振法。(3)计数器法由单位时间内被测信号的周期重复次数测得fx,即计数器法测频.目前最常用的计数器法是测频法或测周法,其测量精度主要取决于基准时间和计数的量化误差。当被测频率较高时,采用测频法可以得到较高的测频精度;当被测频率较低时,采用测周法可以得到较高的测频精度。但当被测频率变化范围较大时,这两种方法均不能保证整个频率范围的测量精度。1 本课题测频原理

19、为等精度测频,下面就等精度测频原理进行具体叙述.2.1.2 等精度测频原理等精度测频法是在计数器测频法的基础上发展而来的。其原理图如图2.1所示。当方波预置门控信号CL可由单片机发出,CL的时间宽度对测频精度影响较小,所以可以在1秒至0.1秒间选择,在此设其宽度为BZH和 TF。BZH和TF是两个可控的32位高速计数器,BENA和ENA分别是他们的计数允许信号端,高电平有效。标准频率信号从BZH的时钟输入端BCLK输入,设其频率为FS;经整形后的被测信号从与BZH相似的32位计数器TF的时钟输入端TCLK输入,设其真实频率FXE,测量频率为FX。 图2.1 等精度测频原理图 测频开始前,首先发

20、出一个清零信号CLR,使两个计数器和D触发器置零,然后由单片机发出允许测频命令,即令预置门控信号CL为高电平,这时D触发器要一直等到被测信号的上升沿通过时Q端才被置1,与此同时,将同时启动计数器BZH和 TF,进入“计数允许周期”。在此期间,BZH和 TF分别对被测信号和标准频率信号同时计数。当TPR秒后,预置门控信号CL被单片机置为低电平,但此时两个计数器仍没有停止计数,一直等到随后而至的被测信号的上升沿到来时,才通过D触发器将着两个计数器同时关闭。2设FX为整形后的被测信号频率,FS为基准频率信号频率,若在一次预置门高电平脉宽时间内(TPR)被测信号计数值为Nx;基准频率计数值为NS,则有

21、下式成立: (2-1)2.2 等精度数字频率计的设计方法2.2.1 电子系统的传统设计方法现代电子系统一般由模拟电子系统、数字电子系统和模数混合电子系统三大部分组成。从概念上讲凡是利用数字技术处理和传输信息的电子系统都可以称为数字系统。传统的数字系统设计只能对电路板进行设计,通过设计电路板来实现系统功能。电子产品设计的基本思路一直是先选用标准通用集成电路芯片,再由这些芯片和其它元件自下而上的构成思路、子系统和系统,即常说的”自底向上”的设计方法。“自底向上“一般是在系统划分和分解的基础上先进行单元设计,在单元的精心设计后逐步进行功能模块设计,然后再进行子系统的设计,最后完成系统总体设计。这样设

22、计出的电子系统所用元件的种类和数量较多,体积与功耗大,可靠性差。图2.2(a)所示为传统“自底向上”设计方法的具体设计步骤。随着集成电路技术的不断进步和EDA技术的迅速发展,可编程逻辑器件及EDA技术给今天的电子系统设计者提供了强有力的工具,使得电子系统的设计方法发生了质的变化。现在,只要拥有一台计算机、一套相应的EDA软件和空白的可编程逻辑器件芯片,在实验室里就可以完成数字系统的设计和生产。 2.2.2 当代电子系统的设计方法随着集成电路技术的不断进步和EDA技术的迅速发展,现在人们可以把数以亿计的晶体管,几十万门甚至几百万门的电路集成在一块芯片上。半导体集成电路已由早期的单元集成、部件电路

23、集成发展到整机电路集成和系统电路集成。利用EDA工具,采用可编程器件,通过设计芯片来实现系统功能,这种方法称为基于芯片的设计方法。新的设计方法能够由设计者定义器件内部逻辑,将原来由电路板设计完成的大部分工作放在芯片的设计中进行。这样不仅可以通过芯片设计实现多种数字逻辑系统,而且由于管脚定义的灵活性,大大减轻了电路图设计和电路板设计的工作量和难度,从而有效的增强了设计灵活性,提高了工作效率。同时,基于芯片的设计可以减少芯片的数量,缩小系统的体积,降低能源消耗。电子系统的设计方法也由传统的“自底向上“的方法改为”自顶向下“的设计方法。在这种新的设计方法中,由整机系统用户对整个系统进行方案设计和功能

24、划分,系统的关键电路用一片或几片专用集成电路ASIC来实现,且这些专用集成电路是由系统和电路的设计师亲自参与设计的,直至完成电路到芯片版图的设计,再交由IC工厂加工,或者用可编程ASIC(例如CPLD和FPGA)现场编程实现。1在“自顶向下“的设计中,首先需要进行行为设计,确定该电子系统的功能、性能及允许的芯片面积和成本等。接着进行结构设计,根据该电子系统或芯片的特点,将其分为接口清晰、相互关系明确、尽可能简单的子系统,得到一个总体结构。这个结构可能包括算术逻辑单元、控制子单元、数据通道、各种算法状态机等。下一步是把结构转换成逻辑图,这时需要进行硬件仿真,以最终确定本次设计的正确性。最后进行版

25、图设计,即将电路图转化成版图。图2.2(a)“自顶向下“设计步骤 (b)“自底向上“设计步骤本设计所采用的正是自顶向下的设计方法,缩短了设计周期,降低了设计成本。 第三章 主要芯片及设计工具简介3.1 主要芯片介绍3.1.1 AT89C52单片机性能简介图3.1 AT89C52引脚图AT89C52是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,片内含8K字节可反复擦写的只读程序存储器(EPROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU

26、)和FLASH存储单元。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C52适合于许多较为复杂的控制应用场合,是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。其引脚图如图3.1,内部方框图见附录一。(1) 主要性能参数:·与MCS-51 产品指令和引脚完全兼容兼容·8K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·256*8字节内部RAM·32可编程I/O线·3个16位定时器/计数器

27、·8个中断源·可编程串行UART通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路 AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电共组模式。空闲方式停止CPU工作,但允许RAM、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。(2) 引脚功能说明:VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,即地址/数据复用总线。作为输出口用时,每脚可驱动8TTL门电流。当P1口的管脚写1时,被定义为高阻抗输入。P0能够用于访问外部程

28、序/数据存储器,它可以被定义为地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口输出缓冲器能接收/输出4TTL门电流。P1口管脚写入1后,被内部上拉为高电平,此时可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P1.0、P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接

29、收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口是一组带有内部上拉电阻的8位双响I/O口。P3口输出缓冲级可驱动4个TTL逻辑门电路。P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时被外部拉低的

30、P3口将用上拉电阻输出电流。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,P3口管脚备选功能如下所示:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字

31、节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/E

32、A保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。 (3) 振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何

33、要求,但必须保证脉冲的高低电平要求的宽度。 (4) 芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。33.1.2 FLEX10K芯片系列简介随着电子技术的不断发展,电子系统

34、的设计方法也发生了很大的变化,传统的设计方法正逐步退出历史舞台,而基于EDA技术的芯片设计正在成为电子系统设计的主流。大规模可编程逻辑器件CPLD和FPGA是当今应用最广泛的两类可编程专用集成电路(ASIC)。可编程逻辑器件是20世纪70年代发展起来的一种新型逻辑器件,是一种由用户编程来实现某种逻辑功能的新兴器件,芯片内的逻辑门、触发器等硬件资源可由用户配置来连接来实现专用的用户逻辑功能。它是大规模集成电路技术飞速发展与计算机辅助设计、计算机辅助生产和计算机辅助测试相结合的一种产物,是现代数字系统向超高集成度、超低功耗、超小封状和专用化方向发展的重要基础。它的应用和发展不仅简化了电路设计,降低

35、了成本,提高了系统的可靠性和保密性,而且给数字系统的设计方法带来了革命性的变化。目前常用的可编程逻辑器件从结构上可将其划分为两大类:CPLD和现场可编程门阵列FPGA。FPGA是 20世纪80年代中期出现的可编程逻辑器件,其结构类似于掩膜可编程门阵列(MPGA),它由许多独立的可编程模块组成,拥护可以通过编程将这些模块连接起来实现不同的设计。FPGA兼容了MPGA和PLD两者的优点,因而具有更高的集成读、更强的逻辑实现能力和更好的设计灵活性。FPGA具有掩膜可编程门阵列(MPGA)的通用结构,它由逻辑功能块排成阵列组成,并由可编程的互连资源连接这些逻辑功能块以及相应的输入/输出单元来实现不同的

36、设计。其中FPGA的功能由逻辑结构的培植数据决定。工作时这些配置数据存放在片内的SRAM或熔丝上。基于SRAM的FPGA器件在工作前 需要从芯片外部加载配置数据。用户可以控制加载过程,在现场修改器件的逻辑功能,即所谓的现场编程。FLEX 10K器件结构图如图3.2所示: 图3.2 FLEX 10K器件结构图 各种FPGA再结构上的差异主要反映在可编程逻辑块CLB上,常见的结构主要有三种类型,即查找表结构、多路开关结构和多级与非门机构。本测频系统选用FPGA器件是Altera公司所生产的FLEX10K系列中的EPF1020RC(208-4)。FLEX10K系列是第一款多达25万门的嵌入式PLD,

37、FLEX10K具有高密度和易于在设计中实现复杂宏函数与存储器的特点,因此可以适应系统级设计的要求。每个FLEX10K器件都包含一个嵌入式阵列,它为设计者提供了有效的嵌入式门阵列和灵活的可编程逻辑。另外,FLEX10K器件也提供多电压I/O接口,它允许器件桥接在不同电压工作系统中。FLEX10K还具有多个低失真时钟,以及时钟锁定和时钟自举锁相环电路,内部三态总线等特性。其具体性能特点如下:(1) 工业界第一种嵌入式PLD系列,具有在单个器件中系统集成的能力,具有实现宏函数的嵌入式阵列和实现普通功能的逻辑阵列。(2) 高密度 具有10000到250000个可用门,高达40960位内部RAM。(3)

38、 系统级特点 支持多电压I/O接口;低功耗,维持状态时电流小于0.5mA,遵守PCI总线规定;内置JTAG边界扫描测试电路;器件采用先进SRAM工艺制造;通过外部EPROM、集成控制器或JTAG接口实现电路可重构(ICR);时钟锁定和时钟自举选项有助于减小时钟延迟/变形和对时钟进行倍频;器件内低变形时钟树形分布;所有器件都经过100%的性能测试。 (4) 灵活的内部连接 快速通道连续式布线结构带来快速可预测的连线延时;具有可以用来实现快速加法器、计数器和比较器的专用位链;具有实现告诉、多输入逻辑函数专用级连链;模仿三态功能可以是内部三态总线;多达6个全局时钟信号和4个全局清除信号。(5) 功能

39、强大的I/O引脚 每个引脚都有一个独立的三态输出使能控制;每个I/O引脚都有漏极开路选择;可编程输出电压摆率控制可以减小开关噪声。(6) 具有快速建立时间和时钟到输出的外部寄存器(7) 多样的封装形式 84到600引脚的各种封装,封装形式有TQFP、PQFP、BGA和PLC等;同一种封装中的各种FLEX10K器件的引脚兼容。(8) 具有良好的软件设计支持和布局布线的能力(9) 能够与其它公司的多种EDA工具接口FLEX 10K器件主要包括嵌入式阵列、逻辑阵列、FastTrack互连和I/O单元等4部分。另外FLEX 10K器件还包括6个用于驱动寄存器控制端的专用输入引脚,以确保高速低失真(小于

40、1.5ns)控制信号的有效分布。这些信号是用于专用的布线通道,这些专用通道提供了比FastTrack互连更短的延时和更小的失真。4个全局信号可由4个专用输入引脚驱动,也可以由器件内部逻辑驱动。这为时钟分配或产生用于清楚器件内部多个寄存器的异步清除信号提供了理想的方法。43.2 MUX+PLUS概述MAX+PLUS是Altera公司为开发其可编程逻辑器件而推出的专用软件,其易学、易用、界面友好且集成化程度高,全称是Multiple Array Matrix and Progtammable Logic User System(多阵列矩阵及可编程逻辑用户系统)。MAX+PLUS是一个完全集成化的可

41、编程逻辑环境,能满足用户各种各样的设计需要。他支持Altera公司的不同结构器件,可在多平台上运行。MAX+PLUS具有突出的灵活性和高效性,为设计者提供了多种可自由选择的设计方法和工具。丰富的图形界面,可随时访问的在线帮助文档,使用户能够快速轻松的掌握和使用MAX+PLUS软件。MAX+PLUS软件众多突出出的特点如下:(1)开放式的界面:MAX+PLUS软件可与其他工业标准的设计输入、综合与校验工具相连接它EDA工具的接口遵循EDIF200、EDIF300、参数模块库LPM2.1.0,标准延迟格式SDF2.0等多种标准MAX+PLUS软件接口允许用户使用Altera或标准的EDA设计输入工

42、具来创建逻辑设计MAX+PLUS的编译器对Altera器件的设计进行编译,使用Altera或其他EDA校验工具进行器件级或板级仿真。(2)设计与结构无关:MAX+PLUS支持Altera公司的各种可编程逻辑器件,提供了工业界真正与结构无关的可编程逻辑设计环境。MAX+PLUS的编译器还提供了逻辑综合与优化功能以减轻用户的设计负担。(3)完全集成化:MAX+PLUS的设计输入、综合编译、时序分析、仿真校验下载/配置全部集成在一起,加快动态调试,缩短开发周期;(4)丰富的设计库:MAX+PLUS提供丰富的库单元共设计者使用,其中包括74系列的全会部器件和多种特殊的逻辑功能以及参数化的兆功能。(5)

43、支持多种硬件描述语言,包括VHDL、Verilog HDL、AHDL语言。(6)模块化工具:设计者可从各种设计输入、编辑、校验及器件编程工具中作出选择,形成用户风格的开发环境,必要时还可以在保留原始功能的基础上添加新的功能。MAX+PLUS的设计过程包括设计输入、项目编译、功能时序仿真、编程配置。其中常用的设计输入方法有:通过MAX+PLUS图形编辑器创建图形文件(.gdf);通过MAX+PLUS文本编辑器,使用VHDL语言创建文本设计文件(.vhd)。使用Verilog HDL语言创建文本文件(.V)。43.3 VHDL语言简介硬件描述语言(HDL,Hardware Description

44、Language)是EDA技术的重要组成部分,常用的硬件描述语言有VHDL、Verilog、ABEL等,VHDL是EDA技术的主流硬件描述语言之一,也是本文设计所采用的硬件描述语言。VHDL的英文全名是Very High Speed Integrated Circuit Hardware Description Language,诞生于1982年。1987年VHDL被IEEE和美国国防部确认为标准硬件描述语言。自IEEE公布了VHDL(IEEE-1076)的标准版本之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的

45、接受,并逐步取代了原有的非标准化硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高抽象层次和系统描述能力上扩展了VHDL的内容,公布了新版本的VHDL即IEEE标准的1076-1993版本,又得到了众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家预言,在新的世纪中,VHDL和Verilog将承担起几乎全部的数字系统设计任务。VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多硬件特征的语句外,VHDL的风格和语法十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项设计实体分成外部和内部,外部是可视的,是端口,内部是不可视的,是内部

46、功能和算法的完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成之后,其它的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用VHDL进行工程设计的优点是多方面的,具体如下:(1)支持从系统级到门级电路的描述,同时也支持多层次的混合描述;描述形式可以是结构描述,也可以是行为描述,或二者兼而有之。VHDL支持从上到下的设计,也支持从下到上的设计;支持模块化设计,也支持层次化设计。(2)VHDL具有丰富的仿真语句和库函数,在设计早期,即尚未完成设计时,就可以查验设计系统的功能可行性,随时可对设计项目进行模拟仿真。也就是在远离门级的较高层次上进行模

47、拟,使设计者在设计早期就能对整个设计项目的结构和功能的可行性做出决策。(3)VHDL具有行为描述能力和程序结构,能支持大规模设计的模块分解和已有设计模块的再利用功能。VHDL中设计实体的概念、程序包的概念、设计库的概念都为大型设计项目的分解和并行工作提供了有利的支持。这一点符合大规模电子系统的高效、高速设计完成必须由多人甚至由多个开发组共同并行工作才能实现的市场需求。(4)用VHDL完成的一个确定的设计项目,在EDA工具软件的支持下,编译器将VHDL所表达的电路功能自动地转换为文本方式表达的基本逻辑元件连接图网表文件。应用EDA工具的逻辑优化功能,可以自动的把一个综合后的设计项目变成一个更小、

48、更高速的电路系统。反过来,设计者还可以从综合和优化后的电路获得设计信息反馈去更新修改VHDL设计描述,使之更加完善。(5)VHDL对设计项目的描述具有独立性,实际设计者可以在不懂硬件的结构,不知最终实现的目标器件为何的情况下,而进行独立的设计。正是因为VHDL的硬件描述与具体的工艺技术和硬件结构无关,VHDL的设计项目的目标硬件器件具有广阔的选择范围,其中包括各系列的CPLD、FPGA及各种门阵列器件。(6)VHDL具有类属描述语句和子程序调用等功能,对于已完成的设计项目,在不改变源程序的条件下,只需改变类属参数或函数,就能轻易改变设计项目的规模和结构。第四章 硬件电路设计4.1 系统组成本设

49、计的核心部件为AT89C52单片机和现场可编程芯片FPGA。所有信号包括基准频率信号、被测信号以及自校输入信号均可在AT89C52单片机的控制下输入到FPGA芯片中,单片机将每次测试结果读入内存中,经运算处理后,以十进制的形式送到8位数码管显示电路显示。整个系统在硬件上可分为显示模块、键盘输入模块、测量模块四个部分。键盘控制命令通过FPGA内部的扫描译码电路读入单片机,来实现测频、测周期、测脉宽、测占空比及复位等功能的控制。该设计以FPGA的系统40MHz晶振作为标准频率,单片机的晶振由FPGA系统晶振分频得到,易于实现单片机与FPGA同步。系统框图如图4.1所示。具体硬件原理图见附录一。图4

50、.1 等精度测频系统框图4.2 键盘接口电路键盘接口电路如图4.2所示。键盘控制命令由键盘扫描译码电路读入,当有按键按下时向单片机发出中断请求读取键值。键盘译码电路的keyp引脚接单片机的外部中断0输入引脚,用于向单片机发出中断请求读取键值。没有按键按下时键盘译码电路的keyp为高电平,当有按键按下时,键盘扫描译码电路在确定不是干扰后,keyp引脚变为低电平向单片机发出中断请求读取键值,按键撤消后keyp恢复高电平。键盘译码电路的kv0.2用于向单片机输出键值。由于单片机读取键值的操作是通过外部中断引起的,这样就避免了因对键盘扫描而占用大量单片机的CPU,提高了单片机的使用效率。图4.2 键盘

51、接口电路4.3 显示电路本设计中的显示方式为动态显示,使用动态显示方式可节省FPGA内部大量资源。显示频率为50Hz。动态显示即每次只有一个LED被选中。但是每次驱动的间隔很短,利用人体视觉效应,看起来8个数码管好象同时点亮。显示电路由移位存储器、字型译码器、LED片选译码器、时钟发生器以及七段数码管组成。其中移位存储器用于存放要显示的十进制数据,其si引脚接单片机的RXD来接收单片机输出的数据;si-clk用于接收移位脉冲;引脚sel0.2用于接收单片机发出的控制信号来实现对某一时刻要显示数据的选择。字型译码器的作用是将十进制数据转换为LED字型码以驱动七段LED数码管。时钟发生器的作用是通

52、过对标准频率的分频来输出一个2Hz的周期信号,这个信号为显示闪烁时的频率。LED片选译码器用于对八片LED输出片选信号,由于显示方式为动态显示,因此某一时刻只能有一片LED被选中点亮。其s-ena引脚为显示闪烁使能引脚,当为低电平时显示以时钟发生器发出的频率闪烁,以便在某些特殊场合下引起用户的注意。S-ena为低电平时显示闪烁,为高电平时正常显示。显示电路原理图如图4.3所示: 图4.3显示模块电路4.4 测量电路测量电路部分由测频与自校选择模块、脉宽控制模块和测频模块组成。其中测频与自校选择模块的作用是在系统系统自检时将标准频率作为被测频率信号输送给系统,而在正常测量时将被测信号输送给系统。

53、脉宽控制模块和测频模块根据按键键值共同控制选择被测量。其中管脚SPUL为脉宽、测频选择输入信号,由单片机根据需要发出。当SPUL为高电平时测频模块的32位计数器的输入使能由D触发器控制,其测量预置门控时间为被测信号周期的整数倍,此时计数值用来计算被测信号的频率。当SPUL为低电平时标准计数器的输入使能由附加模块的PL输出来控制,测量门控时间为被测信号的一个正脉宽的时间或一个低脉宽的时间宽度。此时标准计数器的计数值用来测量被测信号的脉宽宽度。测量电路如图4.4所示。CLR为低电平时计数器使能端BENA为低电平,测频电路不工作,系统清零。Spul为1时系统测量被测信号的频率, CL均为高电平后,在

54、随后到来的TCLK上升沿BENA及START引脚变为高电平,计数器开始计数。当CL变为低电平后,在随后到来的TCLK上升沿BENA变为低电平,计数器停止计数。同时START引脚变为低电平用以通知单片机计数结束。在单片机发出的SEL0.2控制下通过data0.7分8次将计数器的计数值读入单片机。测量电路原理图如图4.4所示,测量电路波形图如图4.5所示,测量电路逻辑符号如图4.6所示。 图4.4 测量电路原理图 图4.5 测量电路波形图 图4.6 测量电路逻辑符号下面具体就这三个模块进行讲述。4.4.1 测量与自校验选择电路测频与自校电路用于系统自检,AS引脚接单片机的P23脚,FX接标准频率输

55、入,FC接被测频率输入。系统自检时AS为高电平,FOUT输出标准频率BCLK,将标准频率做为被测频率进行测量,然后根据测量结果以判断系统运行是否正常。自检结束后AS恢复为低电平,FOUT输出被测频率TCLK。标准频率取自FPGA的外部晶振。该模块采用图形输入法实现,原理图如图4.7所示,其波形图如图4.8所示,选择控制信号AS为高电平是输出端为BCLK,AS为低电平时输出为TCLK。图4.7 测量与自校验选择电路图4.8 测量与自校验选择电路波形图图4.9 测频与自校选择电路逻辑符号4.4.2 测频原理与测频电路在第二章已经对测频原理进行了详细介绍,但是为了使大家更好的了解等精度测频原理的方法

56、,有必要在此再对常用测频方法及等精度测频原理进行简单介绍。目前市场上所采用的测频方法可以分为以下几种:一是利用电路的某种响应特性来测量频率,谐振测频法和电桥测频法是这类测量方法的典型代表。二是比较法,即利用标准频率与被测频率进行比较来测量频率,其准确度取决于标准频率的准确度。拍频法、示波器法以及差频法等均属于此类方法的范畴。以上两种方法都适合与模拟电路中实现,还有一类目前使用最广泛的计数测频法则适合于数字电路实现。该方法根据频率定义,记下单位时间内周期信号的重复次数,又称为电子计数器测频法。电子计数器测频法又有两种实现方法:直接计数测频法和等精度测频法。直接计数测频法只是简单地记下单位时间内周期信号的重复次数,其计数值会有一个计数误差。此方法的测量精度主要取决于基准时间和计数器的计数误差。等精度测频法是在直接测频法的基础上发展起来的。其原理图如图4.9。测频模块由两个32位计数器、一个D触发器和一片64-8选择器组成。其管脚BCLK为标准频率信号的输入引脚,TCLK管脚为被测频率信号的输入引脚;CL管脚为预置门控信号输入引脚;CLR为计数器清零信号输入引脚,每次新的测量开始时都要将计数器清零以免产生错误;SEL2.0管脚为单片机读入数据时的

温馨提示

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

评论

0/150

提交评论