基于单片机与FPGA的等精度频率计的设计单片机部分.doc

上传人:文库蛋蛋多 文档编号:4148374 上传时间:2023-04-07 格式:DOC 页数:73 大小:1.06MB
返回 下载 相关 举报
基于单片机与FPGA的等精度频率计的设计单片机部分.doc_第1页
第1页 / 共73页
基于单片机与FPGA的等精度频率计的设计单片机部分.doc_第2页
第2页 / 共73页
基于单片机与FPGA的等精度频率计的设计单片机部分.doc_第3页
第3页 / 共73页
基于单片机与FPGA的等精度频率计的设计单片机部分.doc_第4页
第4页 / 共73页
基于单片机与FPGA的等精度频率计的设计单片机部分.doc_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《基于单片机与FPGA的等精度频率计的设计单片机部分.doc》由会员分享,可在线阅读,更多相关《基于单片机与FPGA的等精度频率计的设计单片机部分.doc(73页珍藏版)》请在三一办公上搜索。

1、毕业设计论文题 目:基于单片机与FPGA的等精度频率计的设计-单片机部分基于单片机与FPGA的等精度频率计的设计-单片机部分摘 要本设计课题为基于单片机与FPGA的等精度频率计的设计。本设计以AT89C51单片机作为系统的主控部件,实现整个电路的信号控制、数据运算处理等功能;一片现场可编程逻辑器件FPGA芯片FLEX EPF10K20RC208-4完成各种时序逻辑控制、计数功能。本文详细论述了等精度数字频率计的测频原理、硬件电路的组成、设计和单片机软件编程设计、系统的误差分析。其中硬件电路包括键盘控制模块、显示模块和测量模块,键盘模块采用独立式的键盘,实现了测频功能,还实现了周期、脉宽、占空比

2、测量等功能的选择;显示模块采用静态显示方式,因此电路结构简单,显示方便;AT89C51单片机的软件编程采用灵活易读的C语言。本设计将AT89C51单片机的控制灵活性和FPGA芯片的现场可编程性相结合,不但大大缩短了开发研制周期,而且使本系统具有结构紧凑、体积小、可靠性高、测频范围宽、精度高等优点。关键词:EDA技术;单片机;频率计;FPGA Based on the MCU and FPGA such as the frequency accuracy of design- SCM part AbstractThe design issues for the frequency of such

3、 as the frequency accuracy of design which based on the MCU and FPGA. In the design AT89C51 as a main component, completed the whole circuit s signal control, the data processing functions and so on; a field programmable logic device FPGA and chip FLEX EPF10K20RC208-4 completed logic controling and

4、counting function.This paper discusses in detail the accuracy of the figures such as the frequency in frequency measurement principle, hardware circuit components, design and microcontroller software design. Circuit includes hardware keyboard control module, module and measurement module keyboard mo

5、dule of six keys choice, it not only completes the functional test frequency but also completes the cycle, pulse width, duty cycle measurement function of choice; Module static display mode made the circuit simple, and convention to show; AT89C51 flexible software programming in C language accessibi

6、lity. The design which combinated AT89C51 control flexibility and FPGA Field Programmable Phase not only greatly shortens the development cycle time, but also makes the system have the advantages of compact, small size, high reliability, Measuring frequency range, the higher precision.Key words: EDA

7、 technology; Microcontroller; Cymometer; FPGA目 录摘 要IAbstractII第一章 引言11.1 研究背景与意义11.2 频率计的发展概况11.3 论文所做的工作与研究内容2第二章 等精度数字频率计测频原理与设计方法42.1 等精度数字频率计测频原理42.1.1 数字频率计的测频方法简介42.1.2 等精度测频原理52.2 等精度数字频率计的设计方法72.2.1 电子系统的设计方法7第三章 主要芯片及设计工具简介83.1 主要芯片性能介绍83.1.1 AT89C51单片机性能介绍83.1.2 FLEX10K系列芯片性能介绍113.2 MAX+PL

8、USII概述143.3 KEIL C51语言简介143.4 VHDL 语言简介16第四章 硬件电路设计184.1 系统组成184.2 键盘接口电路194.3 显示电路204.3.1 LED显示模块204.3.2 显示模块214.4 测量电路234.4.1 测量与自校选择电路244.4.2 测频/测周电路254.4.3 脉宽控制电路274.5 硬件电路的VHDL语言描述284.5.1 D触发器284.5.2 32位计数器304.5.3 MUX64-8多路选择器314.5.4 MUX2-1选择器314.5.5 时钟发生器324.5.6 单片机主控电路32第五章 软件设计345.1 单片机主程序34

9、5.2 复位自检程序355.3 键盘程序365.4 测频子程序375.5 测周期子程序385.6 测脉宽子程序385.7 占空比子程序385.8 显示子程序39第六章 系统性能分析406.1 占空比子程序406.1.1 低端频率406.1.2 高端频率406.2 频率测量精度分析41结论43参考文献44附录A 系统原理图45附录B AT89C51单片机内部框图46附录C 硬件电路的VHDL描述47附录D 单片机C语言程序清单54致谢67第一章 引言1.1 研究背景与意义随着科学技术与计算机应用的不断发展,以单片机作为核心的测量控制系统层出不穷。在被测信号中,较多的是模拟和数字开关信号,此外还经

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

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

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

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

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

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

16、空比的测量。 采用MSC-51单片机来实现对功能键的控制、数据运算、码制转换、数据显示等功能。 完成了频率计的系统硬件电路的设计,同时完成了基于数字硬件电路设计平台Max+plus的FPGA硬件电路设计,FPGA模块用来完成高速计数器的功能;单片机完成测试控制、数据处理等功能,并对整个系统进行总体控制。 对频率计的系统性能进行分析,分别分析了低端频率和高端频率得出本设计的测频范围是0.01Hz40MHz,同时分析了测量精度。 本文分6章介绍了基于FPGA和单片机的等精度数字频率计的设计原理、设计方法、开发步骤,并且对频率计的测量结果和实际输入频率进行比较,分析了本设计影响测量精度的主要因素。第

17、二章 等精度数字频率计测频原理与设计方法2.1 等精度数字频率计测频原理2.1.1 数字频率计的测频方法简介目前数字频率计的测频方法可以有以下几种实现方法: 直接测量法直接测量法是把频率信号经脉冲形成电路后加闸门的一个输入端,只有在闸门开通时间T(以秒计)内,计数脉冲被送到十进制计数器进行计数。设计数器的值为N,由频率定义可以计算得到被测信号频率为: (2-1)经分析,此种测量在低频段的相对测量误差较大。增大T可以提高测量精度,但在低频段仍不能满足任务要求。 组合法直接测量周期法在低频段精度高。组合法是指在低频时采用直接测量周期法测量信号的周期,然后换算成频率。这种方法在一定程度上可以弥补方法

18、的不足,电路实现较为复杂。 倍频法 直接测量法在高频段有着很高的精度。可以把频率测量范围分为多个频段,使用倍频技术,根据频段设置倍频系数将经整形的低频信号进行倍频后进行测量,高频段则进行直接测量。 直接测量周期法用被测信号经放大整形后形成的方波信号直接控制计门控电路,使主门开放时间等于信号周期,时标为Ts的脉冲在主门开放时间进入计数器。设T为被测周期,Ts为时标,在Tx时间计数值为N,可以根据以下公式来算得被测信号周期: (2-2)此种方法,被测信号频率越高,测量误差越大。采用多个周期进行计数取平均值的方法虽可提高精度,每一次的等待时间较长,显然是不可取的4。本课题测频原理为等精度测频原理5,

19、下面就等精度测频原理进行具体叙述。2.1.2 等精度测频原理等精度测频法的最大特点是在整个被测频率范围内都能达到相同的测量精度,而与被测信号频率大小无关。其原理图如图2.1所示。图2.1 等精度测频原理图图2.2 等精度频率计测频波形时序图当方波预置门控信号CL可由单片机发出,CL的时间宽度对测频精度影响较小,所以可以在1秒至0.1秒间选择,在此设其宽度为Tpr。BZH和TF模块是两个可控的32位高速计数器,BENA和ENA分别是它们的计数允许信号端,高电平有效。标准频率信号从BZH的时钟输入端BCLK输入,设其频率为Fs;经整形后的被测信号从与BZH相似的32位计数器TF的时钟输入端TCLK

20、输入,设其真实频率为Fxe,被测频率为Fx。测频原理说明如下:测频开始前,首先发出一个清零信号CLR,使两个计数器和D触发器置零,同时通过信号ENA禁止两个计数器计数。这是一个初始化操作。然后由单片机发出允许测频命令,即令预置门控信号CL为高电平,这时D触发器要一直等到被测信号的上升沿通过时Q端才被置1,与此同时,将同时启动计数器BZH和TF,进入“计数允许周期”。在此期间,BZH和TF分别对标准频率信号(频率为Fs)和被测信号(频率为Fx)同时计数。当Tpr秒后,预置门控信号CL被单片机置为低电平,但此时两个计数器仍没有停止计数,一直等到随后而至的被测信号的上升沿到来时,才通过D触发器将把这

21、两个计数器同时关闭。设Fx为整形后的被测信号频率,Fs为基准信号频率,设在一次预置门时间Tpr中对被测信号的计数值为Nx,对标准频率信号的计数值为Ns,则有下式成立: (2-3)不难得到测得的频率为: (2-4)最后通过控制SEL选择信号和64位至8位的多路选择器MUX64-8,将计数器BZH和TF中的两个32位数据分8次读入单片机并按式(2-4)进行计算和结果的显示。2.2 等精度数字频率计的设计方法2.2.1 电子系统的设计方法现代电子系统一般由模拟子系统、数字子系统和微处理器子系统三大部分组成。从概念上讲,凡是利用数字技术处理和传输信息的电子系统都可以称为数字系统。传统的数字系统设计只能

22、对电路板进行设计,通过设计电路板来实现系统功能。利用EDA工具,采用可编程器件,通过设计芯片来实现系统功能,这种方法称为基于芯片的设计方法。新的设计方法能够由设计者定义器件的内部逻辑,将原来由电路板设计完成的大部分工作放在芯片的设计中进行。这样不仅可以通过芯片设计实现多种数字逻辑系统,而且由于管脚定义的灵活性,大大减轻了电路图设计和电路板设计的工作量和难度,从而有效的增强了设计的灵活性,提高了工作效率。同时,基于芯片的设计可以减少芯片的数量,缩小系统体积,降低能源消耗。图2-2所示为电子系统的传统设计方法和基于芯片的设计方法。图2-2(a)传统设计方法 (b)基于芯片设计方法 可编程逻辑器件和

23、EDA技术给今天的硬件系统设计者提供了强有力的工具,使得电子系统的设计方法发生了质的变化。现在,只要拥有一台计算机、一套相应的EDA软件和空白的可编程逻辑器件芯片,在实验室里就可以完成数字系统的设计和生产。第三章 主要芯片及设计工具简介3.1 主要芯片性能介绍3.1.1 AT89C51单片机性能介绍图3-1 AT89C51引脚图AT89C51是一个内含4K字节可编程可擦除的快闪存储器(Flash Memory)和128个字节RAM,低电压,高性能CMOS结构的8位单片机。采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和快闪存

24、储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 AT89C51的主要特性如下:与MCS-51兼容4K字节可编程快闪存储器寿命:1000次写/擦数据保留时间:十年128*8位内部RAM 32可编程I/0线 两个16位定时器/计数器五个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 其管脚的具体说明如下:VCC: 供电电压GND: 接地P0口:P0口为一个8位漏级开路双向I/O口,每个引脚可驱动8个TTL门电流。当P1口的管脚输入数据时,应先把口置1。作为外部地址/数据总线使用时,用于传送8位数据和低8位地址

25、。在快闪编程时,P0口输入,当快闪进行校验时,P0口输出,此时P0外部必须被拉至高电平。P1 口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能驱动4个TTL门。P1口管脚写入1后,被内部上拉为高,可用作输入。P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。P2口:P2口是一个内部提供上拉电阻的8位双向I/0口,P2口缓冲器可驱动4个TTL门电流,当P2口被写1 时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。P1口当用作外部程序存储器或外部数据存储器进行存取时,P2口输出16位地址的高

26、八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P3口:P3口管脚是八个带内部上拉电阻的双向I/O口,可驱动4个TTL门电流。当P3口写入1后,被内部上拉为高电平,并用作输入。P3口也可作为 AT89C51的一些特殊功能。如下表所示:管脚 备选功能P3. 0 RXD(串行输入口)P3. 1 TXD(串行输出口)P3.2 (外部中断0)P3.3 (外部中断1)P3. 4 T0(计时器0外部输入)P3. 5 T1(计对器1外部输入)P3. 6 (外部数据存储器写选通)P3. 7 外部数据存储器读选通)P3口同时为快闪编程和编程校

27、验接收一些控制信号。RST: 复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG: 当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。PSEN: 外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 EA/VPP: 外部程序存储选择信号,输入,低电平有效。当保持低电平时,则在此期间外部存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式为1时, 将内部锁定为RESET;当 端保持高电平时,将从内部程序存储器读取指令码,只有当程序计

28、数器PC大于内部程序存储器地址空间时,才从外部程序存储器读取指令码,因此在没有内部ROM或不适用内部ROM的系统中, /VPP引脚一律接地。 XTAL1: 反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2: 来自反向振荡器的输出。 振荡器特性:XTAL1 和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡都可以采用。如采用外部时钟源驱动器件,XTAL2应不接。由于输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 芯片擦除:整个EPROM阵列和三个锁定位的电擦除可通过正确的控制信

29、号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM、定时器、计数器、串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所有其它芯片的功能,直到下一个硬件复位为止6。3.1.2 FLEX10K系列芯片性能介绍随着电子技术的发展,电子系统的设计方法也发生了很大的变化。传统的设计方法正逐步退出历史舞台,而基于EDA技术的芯片设计正在成为电子系统设计的主流

30、。大规模可编程逻辑器件CPLD和FPGA是当今应用最广泛的两类可编程专用集成电路(ASIC)。可编程逻辑器件是20世纪70年代发展起来的一种新型逻辑器件,是一种由用户编程来实现某种逻辑功能的新型器件,芯片内的逻辑门、触发器等硬件资源可由用户配置来连接实现专用的用户逻辑功能。它是大规模集成电路技术飞速发展与计算机辅助设计、计算机辅助生产和计算机辅助测试相结合的一种产物,是现代数字系统向超高集成度、超低功耗、超小封装和专用化方向发展的重要基础。它的应用和发展不仅简化了电路设计,降低了成本、提高了系统的可靠性和保密性,而且给数字系统的设计方法带来了革命性的变化。目前常用的可编程逻辑器件从结构上可划分

31、为两大类:CPLD和现场可编程门阵列FPGA。FPGA是20世纪80年代中期出现的可编程逻辑器件,其结构类似于掩膜可编程门阵列(MPGA),它由许多独立的可编程模块构成,用户可以通过编程将这些模块连接起来实现不同的设计。FPGA兼容了MPGA和PLD两者的优点,因而具有更高的集成度、更强的逻辑实现能力和更好的设计灵活性。FPGA具有掩膜可编程门阵列(MPGA)的通用结构,它由逻辑功能块排成阵列组成,并由可编程的互连资源连接这些逻辑功能块以及相应的输入/输出单元来实现不同的设计。其中FPGA的功能由逻辑结构的配置数据决定。工作时这些配置数据存放在片内的SRAM或熔丝上。基于SRAM的FPGA器件

32、在工作前需要从芯片外部加载配置数据。用户可以控制加载过程,在现场修改器件的逻辑功能,即所谓的现场编程。FLEX(Flexibl Logic Element Matrix)10K系列芯片是ALTERA公司新近推出的PLD产品。与ALTERA公司先前推出的MAX7000系列EPLD相比,FLEX10K(以下简称10K)系列具有更加丰富的内部资源(最多可达10万门),更加充裕的可配置的I/O管脚(最多达406条)。再加上其低廉的价格,使得10K系列芯片受到越来越多用户的欢迎。由于10K系列芯片是以可重新配置的CMOS静态RAM单元为基础构成的,因此必须在每次开机时对芯片进行配置。 本测频系统选用FP

33、GA器件是Alter公司所生产的FLEX10KEPF1020RC(208-4)。FLEX10K系列是第一款多达25万门的嵌入式PLD,FLEX10K具有高密度和意欲在设计中实现复杂宏函数和存储器的特点,因此可以适应系统级设计的要求。每个FLEX10K器件都包含一个嵌入式阵列,它为设计者提供了有效的嵌入式门阵列和灵活的可编程逻辑。另外,FLEX10K器件也提供多电压I/O接口,它允许器件桥接在不同电压工作系统中。FLEX10K还具有多个低失真时钟,以及时钟锁定和时钟自举锁相环电路,内部三态总线等特性。其具体性能特点如下: 工业界第一种嵌入式PLD系列,具有在单个器件中系统集成的能力,具有实现宏函

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

35、输入逻辑函数专用级连链;模仿三态功能可以是内部三态总线;6个全局时钟信号和4个全局清除信号。 功能强大的I/O引脚 每个引脚都有一个独立的三态输出使能控制;每个I/O引脚都有漏极开路选择;可编程输出电压摆率控制可以减小开关噪声。 具有快速建立时间和时钟到输出的外部寄存器。 多样的封装形式 84到600引脚的各种封装,封装形式有TQFP、PQFP、BGA和PLC等;同一种封装中的各种FLEX10K器件的引脚兼容。 具有良好的软件设计支持和布局布线的能力。 能够与其他公司的多种EDA工具接口7。3.2 MAX+PLUSII概述MAX+plus的全称是Multiple Array Matrix an

36、d Programmable Logic User System(多阵列矩阵既可编程逻辑用户系统)。MAX+plus是一个完全集成化的可编程逻辑设计环境,能满足用户各种各样的设计需要。它具有的强大功能能够极大地减轻设计者的负担,是设计者可以快速的完成所需的设计。MAX+plus开发系统具有很多突出的优点,这使他深受用户的青睐。 开放式的界面。Altera公司与EDA的各个开发商紧密合作,使MAX+plus可以与其他工业标准的设计输入、综合、校验工具相联接。当前MAX+plus软件提供与多种第三方EDA工具的接口。 设计与结构无关。MAX+plus支持Altera公司的多种可编程逻辑器件,提供了

37、工业界真正与结构无关的可编程逻辑设计环境。 可在多种平台上运行。 完全集成化。MAX+plus软件的设计输入、处理、检验功能完全集成于可编程逻辑开发工具内,从而可以更快的进行调试,缩短开发周期。 模块化工具。 支持硬件描述语言。MAX+plus支持多种HDL的设计输入,包括标准的VHDL、VerilogHDL以及Altera公司自己开发的硬件描述语言AHDL。3.3 KEIL C51语言简介C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。目前,使用C语言进行程序设计已经成为软件开发的一个主流。用C语言开发系统可以大大缩短开发周期,明显增强程序的可读性,便于改进

38、和扩充。而针对8051的C语言日趋成熟,成为了专业化的实用高级语言。C语言作为一种非常方便的语言而得到广泛的支持,国内最通用的是Keil C51。C语言程序本身不依赖于机器硬件系统,基本上不作修改就可将程序从不同的单片机中移植过来。C提供了很多数学函数并支持浮点运算,开发效率高,故可缩短开发时间,增加程序可读性和可维护性。C-51与ASM-51相比,有如下优点:1.对单片机的指令系统不要求了解,仅要求对8051 的存贮器结构有初步了解;2.寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理;3.程序有规范的结构,可分成不同的函数,这种方式可使程序结构化;4.具有将可变的选择与特殊操作组

39、合在一起的能力,改善了程序的可读性;5.提供的库包含许多标准子程序,具有较强的数据处理能力;6.由于具有方便的模块化编程技术,使已编好程序可容易地移植;Keil C51 Vision2集成开发环境是Keil Software,Inc/Keil Elektronik GmbH开发的基于80C51内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具,可以完成从工程建立到管理、编译、连接、目标代码的生成、软件仿真和硬件仿真等完整的开发流程。尤其C编译工具在产生代码的准确性和效率方面达到了较高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。Keil C51集成开发环境的主要功能

40、有以下几点:l Vision2 for WindowsTM:是一个集成开发环境,它将项目管理、源代码编辑和程序调试等组合在一个功能强大的环境中;l C51国际标准化C交叉编译器:从C源代码产生可重定位的目标模块;l A51宏汇编器:从80C51汇编源代码产生可重定位的目标模块;l BL51连接/定位器:组合由C51和A51产生的可重定位的目标模块,生成绝对目标模块;l LIB51库管理器:从目标模块生成链接器可以使用的库文件;l OH51目标文件至HEX格式的转换器:从绝对目标模块生成Intel HEX文件;l RTX51实时操作系统:简化了复杂的实时应用软件项目的设计。本设计采用的是C51的

41、语言,因为C语言的可读性好、通俗易懂。3.4 VHDL 语言简介美国国防部在20世纪70年代末和80年代初提出了VHSIC(Very High Speed Integrated Circuit)计划,VHSIC计划的目标是为下一代集成电路的生产、实现阶段性的工艺极限以及完成10万门级以上的设计建立一项新的描述方法。1981年美国国防部提出了一种新的硬件描述语言HDL,称为“超高速集成电路硬件描述语言”,简称VHDL(VHISC Hardware Description Language)语言。VHDL语言是IEEE标准化的硬件描述语言,并且已经成为系统描述的国际公认标准。VHDL语言的特点决定

42、了它的地位,它的特点主要有: 强大的功能和灵活性。VHDL语言具有功能强大的语言结构,可以用简明明确的程序来描述复杂的逻辑控制。为了有效控制设计的实现,它具有多层次的设计描述功能,支持设计库和可重复使用的元件生成;而且它还支持阶层设计和提供模块设计的创建。 独立于器件的设计。 可进行程序移植。VHDL语言的移植能力就是指同一个设计的VHDL语言描述可以从一个模拟工具移植到另一个模拟工具、从一个综合工具移植到另一个综合工具或者从一个工作平台移植到另一个工作平台。 性能评估能力。 易于ASIC移植。 VHDL语言标准、规范,易于共享和复用。VHDL语言的语法规范、标准,可读性强。用VHDL语言书写

43、的代码文件既是程序,又是文档;既是设计人员进行设计成果交流的交流文件,也可以作为合约签约者之间的合同文本。尽管VHDL语言作为IEEE的工业标准具有许多其它硬件描述语言所不具有的主要优势,同时他也存在着一些不足之处。具体表现在: 需要了解较多的硬件电路知识。 VHDL语言的描述会与实际硬件电路的工作方式不符。 不具有描述模拟电路的能力7。第四章 硬件电路设计4.1 系统组成本设计的核心部件为AT89C51单片机和现场可编程芯片FPGA,所有信号包括标准频率信号,被测信号,自校信号均可在AT89C51单片机的控制下送到FPGA芯片中,单片机将每次测试结果读入内存RAM中,经运算处理后,由RXD口

44、以BCD码的形式送入数码管显示电路显示。整个系统在硬件上可分为显示模块、键盘输入模块和测频模块三个部分。键盘控制命令直连单片机,快速的实现测频、测周期、测脉宽、测占空比及复位等功能的控制。该设计以FPGA系统外接的40MHz晶振作为标准频率,单片机由外接的12MHz标准晶振提供时钟电路。等精度测频框图如图4.1所示。图4.1 等精度测频系统框图4.2 键盘接口电路本设计采用独立式键盘,其一般应用在按键数量比较少的系统中。键盘控制命令由键盘扫描译码电路读入,当有按键按下时向单片机发出中断请求读取键值。键盘译码电路的ky引脚接单片机的外部中断0输入引脚,用于向单片机发出中断请求读取键值。没有按键按

45、下时,键盘译码电路的ky为高电平;当有按键按下时,键盘扫描译码电路在确定不是干扰后,ky引脚变为低电平,向单片机发出中断请求读取键值,当按键撤销后,ky恢复高电平。键盘译码电路的k0.2用于向单片机输入键值。由于单片机读取键值的操作是通过外部中断引起的,这样在没有键按下时,CPU就不会执行扫描程序,提高了CPU工作的效率。键盘接口电路如图4.2所示。图4.2 键盘接口电路4.3 显示电路4.3.1 LED显示模块发光二极管LED是一种通电后能发光的半导体器件,其导电性质与普通二极管类似。LED数码显示器就是由发光二极管组合而成的一种新型显示器件。在单片机系统中应用非常普遍。LED数码显示器是一

46、种由LED发光二极管组合显示字符的显示器件。它使用了8个LED发光二极管,其中7个用于显示字符,1个用于显示小数点。LED数码显示器有两种连接方法:(1)共阳极接法。把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。当阴极端输入低电平时,段发光二极管就导通点亮,而输入高电平时则不点亮。(2)共阴极接法。把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。当阳极端输入高电平时,段发光二极管就导通点亮,而输入低电平时则不点亮。在本设计中所采用的是共阴极接法的LED数码显示器,其引脚排列如图4.3所示:图4.3 LED数码显示管示意图4.3.2 显示模块LED数码管显示电路采用八片首尾相连的74LS164锁存器和8个LED数码管显示测试结果。考虑到提高单片机IO口的利用率,降低编程复杂性,提高单片机的计算速度以及降低数码显示器对主系统

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号