基于CPLD的频率计设计毕业设计论文.docx

上传人:b****5 文档编号:8726523 上传时间:2023-05-14 格式:DOCX 页数:36 大小:220.46KB
下载 相关 举报
基于CPLD的频率计设计毕业设计论文.docx_第1页
第1页 / 共36页
基于CPLD的频率计设计毕业设计论文.docx_第2页
第2页 / 共36页
基于CPLD的频率计设计毕业设计论文.docx_第3页
第3页 / 共36页
基于CPLD的频率计设计毕业设计论文.docx_第4页
第4页 / 共36页
基于CPLD的频率计设计毕业设计论文.docx_第5页
第5页 / 共36页
基于CPLD的频率计设计毕业设计论文.docx_第6页
第6页 / 共36页
基于CPLD的频率计设计毕业设计论文.docx_第7页
第7页 / 共36页
基于CPLD的频率计设计毕业设计论文.docx_第8页
第8页 / 共36页
基于CPLD的频率计设计毕业设计论文.docx_第9页
第9页 / 共36页
基于CPLD的频率计设计毕业设计论文.docx_第10页
第10页 / 共36页
基于CPLD的频率计设计毕业设计论文.docx_第11页
第11页 / 共36页
基于CPLD的频率计设计毕业设计论文.docx_第12页
第12页 / 共36页
基于CPLD的频率计设计毕业设计论文.docx_第13页
第13页 / 共36页
基于CPLD的频率计设计毕业设计论文.docx_第14页
第14页 / 共36页
基于CPLD的频率计设计毕业设计论文.docx_第15页
第15页 / 共36页
基于CPLD的频率计设计毕业设计论文.docx_第16页
第16页 / 共36页
基于CPLD的频率计设计毕业设计论文.docx_第17页
第17页 / 共36页
基于CPLD的频率计设计毕业设计论文.docx_第18页
第18页 / 共36页
基于CPLD的频率计设计毕业设计论文.docx_第19页
第19页 / 共36页
基于CPLD的频率计设计毕业设计论文.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于CPLD的频率计设计毕业设计论文.docx

《基于CPLD的频率计设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于CPLD的频率计设计毕业设计论文.docx(36页珍藏版)》请在冰点文库上搜索。

基于CPLD的频率计设计毕业设计论文.docx

基于CPLD的频率计设计毕业设计论文

山东理工大学

毕业设计(论文)

 

题目:

基于CPLD的频率计设计

 

摘要

频率检测是电子领域里最基本的测量,也是最重要的测量。

由于频率信号抗干扰能力强、易于传输,可以得到相对较高的测量精度,因此频率测量方法的研究也受到越来越多的关注。

基于传统测频原理的频率计的测量精度将随被测信号频率的下降而降低,本次设计中共提出了四种设计方案,通过论证最终决定用等精度的测量方法来完成本次频率计的设计。

在本次设计中选择AT89C51单片机和CPLD的结合来实现。

其中单片机完成整个测量电路的测试控制、数据处理和显示输出;CPLD主要完成频率测量功能,频率的测量范围在1HZ—1MHZ之间,其中测量误差在1HZ;键盘信号由AT89C51单片机进行处理,它从CPLD读回计数数据并进行运算,向显示电路输出测量结果;显示器电路采用5段LED动态显示,由1个74HC138译码器和74HC573锁存器驱动5个数码管。

关键词:

频率计,EDA技术,CPLD,单片机,等精度测量

 

Abstract

Frequencydetectionisthemostbasicintheelectronicsfieldmeasurement,whichisthemostimportantmeasurement.Duetofrequencysignaltransmission,stronganti-jammingcapability,easycangetrelativelyhighmeasurementprecision,sofrequencymeasurementmethodsofresearchhavealsobeenmoreandmoreattention.Basedonthetraditionalprincipleoffrequencymeterfrequencymeasurementaccuracywillbealongwiththedeclineofthemeasuredsignalfrequencyisreduced,thedesignofthecommunistpartyofChinaputsforwardfourkindsofdesignscheme,throughtheargumentfinallydecidedtouseequalprecisionmeasurementmethodtocompletethedesignoffrequencymeter.

InthisdesignchoosethecombinationoftheAT89C51single-chipmicrocomputerandCPLDtoimplement.Thesingle-chipmicrocomputercontrol,theentiremeasurementcircuittestdataprocessinganddisplayoutput;CPLDmaincompletefrequencymeasurementfunction,frequencyofmeasurementrangebetween1hzto1MHZ,whichmeasurementerrorin1hz;Keyboardsignalsareprocessedusingsingle-chipcomputerAT89C51,itreadbackfromCPLDcountdataandcalculation,themeasurementresultstodisplaycircuitoutput;5LEDdynamicdisplay,displaycircuitusedby1,74hc138decoderand74hc573latchdrivefivedigitaltube.

KeyWords:

frequencymeter,EDAtechnologythe,CPLDandsinglechipmicrocomputer,suchasprecisionmeasurement

第一章概述

测频一直以来都是电子和通讯系统工作的重要手段也是重要内容。

在生活中,频率的测量随处可见,每天都在接触,并且可以直接或间接地根据测量频率来获取我们想要得到的信息。

因此频率的测量就显得非常重要了,使用较高精度的方法来测量频率就更加重要了。

比如在我们的日常生活中最常见设备——时钟就是频率测量的应用,根据测量频率来计算时间,我们在科研中常用的GPS设备通过测量频率也在进行GPS点与GPS卫星距离的计算,从而计算出GPS坐标。

测量频率的方法大约可分直接频率测量法与间接频率测量法。

直接测频法常常使用测频率法与测周期法。

然而测频率法与测周期法计数值都会出现正负1个字的误差。

而以中界频率为界限,对于低频的信号使用测周期法,对于高频的信号使用测频法,这样可以确保测试的准确性。

间接测量频率的方法大多是使用等精度测量,此方法是在直接频率测量法下发展的,测量精度非常高。

等精度频率测量法的闸门时间并不是一个固定的值,而是与被测信号同步,是被测信号周期的整数倍。

因此,清除了计数所产生的正负1个字的误差,并且测试频段的等精度测量一直保持完全准确,实测精度不会跟所测信号频率变化而发生变化。

早先的数字频率计大部分由分立元件组成,它的测量范围、精度以及速度都受到非常多的限制。

单片机的开发和应用改变了测量所带来的限制,可是单片机本身也受到一些因素影响,因此在电子领域单片机不能得到突飞猛进的发展。

快速发展的大规模可编程逻辑设备技术可以将多量逻辑功能汇集在一个单一的芯片中。

根据不同的需要,可以提供从几百至上百万之多的逻辑门数目,从根本上解决了单片机的先天性限制问题。

在设备选择上,使用Atmel公司生产的AT89C51单片机和EPM7128SLC84-15。

AT89C51是一种带4K字节FLASH的低电压、高性能8位CMOS单片机。

该器件采用非易失存储器制作技术,并且与MCS-51引脚和指令集相兼容。

编程器可以对芯片上的FPEROM重复编程,1000写/擦循环,并且具有工作电压范围广、可编程串行通道,数据可存储10年等特点。

EPM7128SLC84-15是使用氧化物半导体EZPROM的先进的技术制造的第二代MAX产品。

它可以迅速重新编写和确保可编程擦除100次。

EPM7128SLC84-15是嵌入式CPLD,可以在系统内编程,宏单元数为128个,逻辑块为8个。

使用汇编语言编写单片机软件,用VHDL语言描述来实现CPLD内部丰富的数据层次和结构模型。

频率测量仪器的性能也是不一样的。

使用等精度测量原理,单片机的良好控制功能和CPLD的高速可靠性相结合,使频率测量仪电路简洁,速度更快,功能全面,精度提高,有效防止干扰。

 

第二章系统设计方案与论证

2.1测量原理

2.1.1直接测频法

在特定的一段时间内测某个周期信号的重复变化次数N,其频率表示为f=N/T,是传统的频率测量方法。

它的原理框图见图2-1。

在此测量方式中,被测信号的频率发生改变,它的精度也随之发生改变。

根据频率(每单位时间周期信号发生的次数)的基本定义,由图中知道测量的时间基准,分频过后可以让时间闸门开启或关闭。

闸门若开启则开始计数,闸门若关闭则停止计数。

若闸门开放时间为T,计数值为N,则被测频率F=N/T。

但若被测信号频率过低则存在测量精度与实时性之间的矛盾。

例如,被测信号为10HZ,0.01%的精度。

由δ=1/(N-1)*100%<0.01%,则N>10000。

则最短的闸门时间T=N/F=10000/10=1000s,我们完全无法接受这样的测量。

通过计算对10KHZ以下的信号用测频法测量反应的时间会大于或等于10秒的时间,低频为了得到准确的频率值,甚至要等到几个小时,必然不可行。

因此,这种方法不适用于低频信号的频率测量。

图2.1直接测频法原理框图

2.1.2测周期法

测量周期法的原理与测频法大致相同,互换晶振与被测信号。

T1=N*T,T为时基信号,被测信号的周期T1与计数值N成正比。

这种方法误差比较大,而最大误差也是δ=1/(N-1)*100%。

如果完成测量精度在0.01%以下,则由δ=1/(Ns-1)*100%<0.01%,得Ns>10000。

可以通过计算得到结论:

测周期法适合于测量低频信号,而对高频信号毫无作用。

可见,要使传统频率测量达到高精度标准,必须按照指定的界限划分,以中界频率为界限,对低频段的信号测量使用测周期法,对高频段的信号测量使用测频法。

2.1.3倍频法

把频率测量范围分成多个频段,使用倍频技术,根据频段设置倍频系数,将经整形的低频信号进行倍频后再进行测量,对高频段则直接进行测量。

倍频法较难实现。

2.1.4等精度测频法

等精度测频法实现方式可用图2.1.4说明。

图2.1.5等精度测频法原理图

若所测频率值为fx,其真实值为fxe,标准频率为fs,一次测量中,由于fx计数的起停时间都是由该信号的上跳沿触发的,因此在Tpr时间内对fx的计数Nx无误差,在此时间内的计数Ns最多相差一个脉冲,即Δet≤1,则下式成立:

=

=

可分别推得

根据相对误差公式有

经过整理可得到

因为

,故

,即

2.2系统设计指标

在传统测量频率的方法中,被测信号的频率发生变化,它的测量精度也发生变化。

使用局限很大,然而等精度频率计测量精度很高,并且测试频段一直保持完全准确,被测精度不会随被测信号频率变化而发生变化。

本系统设计的基本指标如下:

1、频率测量范围:

1HZ-999.999KHZ

2、频率测量误差:

1HZ

3、输入灵敏度:

<30mV

4、输入波形:

正弦波、方波、三角波

5、最高输入电压:

30V

6、显示方式:

6位LED数码管显示。

2.3系统总体设计框图

根据频率计的设计要求,我们可将整个电路系统划分为几个基本模块,如图2.3所示。

各模块的实现均有几种不同的设计方案。

图2.3频率计组成模块框图

 

第三章硬件电路设计

3.1系统的组成

等精度数字频率计涉及到的计算包括加、减、乘、除,耗用的资源比较大,用一般中小规模CPLD/FPGA芯片难以实现。

因此,我们选择单片机和CPLD/FPGA的结合来实现。

电路系统组成框图如图3.1所示,其中单片机完成整个测量电路的测试控制、数据处理和显示输出;CPLD/FPGA完成各种测试功能;键盘信号由AT89C51单片机进行处理,它从CPLD/FPGA读回计数数据并进行运算,向显示电路输出测量结果;显示器电路采用七段LED动态显示,由一个个74HC138芯片和一个74HC573驱动数码管。

具体的系统组成框图如图3.1所示。

图3.1系统的组成框图

3.2系统的基本工作方式

(1)P0口是单片机与FPGA的数据传送通信口,P3口用于键盘扫描,实现各测试功能的转换;P1口为双向控制口。

P2口为LED的并行显示控制口。

系统设置5个功能键:

占空比、脉宽、周期、频率和复位。

(2)5个LED数码管组成测量数据显示器,另一个独立的数码管用于状态显示。

(3)BCLK为测频标准频率50MHz信号输入端,由晶体振荡源电路提供。

(4)待测信号经放大整形后输入CPLD的TCLK。

3.3CPLD测频专用模块

3.3.1CPLD的结构与功能介绍

CPLD(ComplexProgrammableLogicDevice)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对规模大,结构复杂,属于大规模集成电路范围。

是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。

其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆将代码传送到目标芯片中,实现设计的数字系统。

相对于PAL和GAL器件来说,它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产(一般在10,000件以下)之中。

3.3.2CPLD测频专用模块逻辑设计

利用VHDL设计的测频模块逻辑结构如图3.2所示,其中有关的接口信号规定如下:

(1)TF(P2.7):

TF=0时等精度测频;TF=1时测脉宽。

(2)CLR/TRIG(P2.6):

当TF=0时系统全清零功能;当TF=1时CLRTRIG的上跳沿将启动CNT2,进行脉宽测试计数。

(3)ENDD(P2.4):

脉宽计数结束状态信号,ENDD=1计数结束。

(4)CHOICE(P3.2):

自校/测频选择,CHOICE=1测频;CHOICE=0自校。

(5)START(P2.5):

当TF=0时,作为预置门闸,门宽可通过键盘由单片机控制,START=1时预置门开;当TF=1时,START有第二功能,此时,当START=0时测负脉宽,当START=1时测正脉宽。

利用此功能可分别获得脉宽和占空比数据。

(6)EEND(P2.3):

等精度测频计数结束状态信号,EEND=0时计数结束。

(7)SEL[2..0](P2.2,P2.1,P2.0):

计数值读出选通控制。

图3.2测频模块逻辑图

3.3.2.1测频/测周期的实现

(1)令TF=0,选择等精度测频,然后在CONTRL的CLR端加一正脉冲信号以完成测试电路状态的初始化。

(2)由预置门控信号将CONTRL的START端置高电平,预置门开始定时,此时由被测信号的上沿打开计数器CNT1进行计数,同时使标准频率信号进入计数器CNT2。

(3)预置门定时结束信号把CONTRL的START端置为低电平(由单片机来完成),在被测信号的下一个脉冲的上沿到来时,CNT1停止计数,同时关断CNT2对fs的计数。

(4)计数结束后,CONTRL的EEND端将输出低电平来指示测量计数结束,单片机得到此信号后,即可利用ADRC(P2.2)、ADRB(P2.1)、ADRA(P2.0)分别读回CNT1和CNT2的计数值,并根据等精度测量公式进行运算,计算出被测信号的频率或周期值。

3.3.2.2控制部件设计

如图3.2.2所示,当D触发器的输入端START为高电平时,若FIN端来一个上升沿,则Q端变为高电平,导通FIN→CLK1和FSD→CLK2,同时EEND被置为高电平作为标志;当D触发器的输入端START为低电平时,若FIN端输入一个脉冲上沿,则FIN→CLK1与FSD→CLK2的信号通道被切断。

图3.2.2测频与测周期控制部分电路

3.3.2.3计数部件设计

图3.2中的计数器CNT1/CNT2是32位二进制计数器,通过DSEL模块的控制,单片机可分4次将其32位数据全部读出。

3.3.2.4脉冲宽度测量和占空比测量模块设计

根据上述脉宽测量原理,设计如图3.2.3(CONTRL2)所示的电路原理示意图。

图3.2.3脉冲宽度测量原理图

测量脉冲宽度的工作步骤如下:

(1)向CONTRL2的CLR端送一个脉冲以便进行电路的工作状态初始化。

(2)将GATE的CNL端置高电平,表示开始脉冲宽度测量,这时CNT2的输入信号为FSD。

(3)在被测脉冲的上沿到来时,CONTRL2的PUL端输出高电平,标准频率信号进入计数器CNT2。

(4)在被测脉冲的下沿到来时,CONTRL2的PUL端输出低电平,计数器CNT2被关断。

(5)由单片机读出计数器CNT2的结果,并通过上述测量原理公式计算出脉冲宽度。

CONTRL2子模块的主要特点是:

电路的设计保证了只有CONTRL2被初始化后才能工作,否则PUL输出始终为零。

只有在先检测到上沿后PUL才为高电平,然后在检测到下沿时,PUL输出为低电平;ENDD输出高电平以便通知单片机测量计数已经结束;如果先检测到下沿,PUL并无变化;在检测到上沿并紧接一个下沿后,CONTRL2不再发生变化直到下一个初始化信号到来。

占空比的测量方法是通过测量脉冲宽度记录CNT2的计数值N1,然后将输入信号反相,再测量脉冲宽度,测得CNT2计数值N2则可以计算出:

3.4单片机主控模块硬件电路设计

3.4.1AT89C51单片机

AT89C51单片机是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,它为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

AT89C51内部主要包含以下部件:

(1)一个8位CPU;

(2)一个片内振荡器及时钟电路;

(3)4K字节ROM程序存储器:

(4)128字节RAM数据存储器;

(5)两个16位定时器/计数器;

(6)可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路;

(7)32条可编程的I/O线(四个6位并行I/O端口)

(8)一个可编程全双工串行口;

(9)具有五个中断源、两个优先级嵌套中断结构。

AT89C51单片机各个管脚作用:

AT89C51单片机各个管脚如图3.4.1所示:

图3.4.1AT89C51单片机最小系统及管脚图

VCC/GND:

供电电源。

P0口:

可以被定义为数据/地址的低八位,能够用于外部程序/数据存储器。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:

标准输入输出I/O,P1口管脚写入1后,被内部上拉为高,可用作输入。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:

既可用于标准输入输出I/O,也可用于外部程序存储器或数据存储器访问时的高八位地址。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:

既可以作标准输入输出I/O,也可作为AT89C51的一些特殊功能口:

管脚备选功能

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)

P3.4T0(记时器0外部输入)

P3.5T1(记时器1外部输入)

P3.6/WR(外部数据存储器写选通)

P3.7/RD(外部数据存储器读选通)

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:

来自反向振荡器的输出。

74HC138译码器

逻辑原理图:

图3.4.274HC138译码器管脚图

3线-8线译码器74HC138译码器的功能表:

输入

输出

H

X

X

X

H

X

X

X

L

X

X

X

X

X

X

X

X

X

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

H

H

H

H

H

H

H

H

L

H

L

H

L

H

L

H

L

L

H

H

L

L

H

H

L

L

L

L

H

H

H

H

L

H

H

H

H

H

H

H

H

L

H

H

H

H

H

H

H

H

L

H

H

H

H

H

H

H

H

L

H

H

H

H

H

H

H

H

L

H

H

H

H

H

H

H

H

L

H

H

H

H

H

H

H

H

L

H

H

H

H

H

H

H

H

L

表174HC138译码器功能表

无论从逻辑图还是功能表我们都可以看到74LS138的八个输出引脚,任何时刻要么全为高电平1—芯片处于不工作状态,要么只有一个为低电平0,其余7个输出引脚全为高电平1。

本次设计采用74LS138译码器作为LED数码管的驱动。

3.4.3七段LED数码管

七段LED数码管的引脚如下图所示

图3.4.3七段LED数码管管脚图

七段LED数码管是利用7个LED外加一个小数点的LED组合而成的显示设备,可显示0~9等10个数字和小数点,使用非常广泛,这类数码管可以分为共阳极和共阴极两种,共阳极就是把所有的阳极连接到共同点com,共阴极就是把所有的LED的一级连接到共同点com,本次设计采用共阳极七段LED数码管显示。

3.4.474HC573锁存器

图3.4.474HC573锁存器

3.4.5单片机与LED显示模块的设计

本次设计采用六个共阴极数码管,一个锁存器与一个译码器构成显示模块,本次设计采用动态显示模式,其中P2.0~P2.7口为数码管显示内容的输出口,通过一个74HC573锁存器与六个LED数码管连接,P3.5~P3.7为数码管显示选择控制端,通过一个74HC138与数码管的公共阴极相连,用来控制数码管的选通与断开。

具体的连接图如图3.4.5所示。

图3.4.5单片机显示模块

3.4.6单片机键盘控制模块的设计

本次设计共有五个按键,分别为复位、占空比、脉宽、周期和频率。

其中复位键直接与单片机的复位引脚相连,其余四个按键分别与单片机的P3.0~P3.3口相连,用来控制占空比、脉宽、周期和频率的测量。

具体的硬件连接如图3.4.6所示。

图3.4.6单片机键盘控制模块

 

第四章单片机控制与运算程序的设计

4.1程序流程图及相关程序

4.1.1主程序流程图

ORG0000H

LJMPMAIN

ORG0030H

MAIN:

CLEAR:

MOVR0,#00H

MOVR1,#128

MOVA,#00H

L1:

MOV@R0,A

INCR0

DJNZR1

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2