基于cpld数字频率计的设计Word文档格式.docx

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

基于cpld数字频率计的设计Word文档格式.docx

《基于cpld数字频率计的设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于cpld数字频率计的设计Word文档格式.docx(22页珍藏版)》请在冰点文库上搜索。

基于cpld数字频率计的设计Word文档格式.docx

Abstract

ThisarticlediscussestheuseoffrequencycountsforCPLD,microcontrollercontroltoachievetheimplementationofthedesignprocessofmulti-frequencymeter.Theuseofsuchprecisionfrequencymeterdesignwaystoovercomethetraditionalfrequencymeasurementbasedontheprincipleofthemeasurementprecisionfrequencymeterwithadeclineinthemeasuredsignalfrequencydecreasestheshortcomings.Andotherprecisionmeasurementmethodnotonlyhashighaccuracy,butintheentirefrequencyregiontomaintainaconstantprecision.ThefrequencymeterusingCPLDtoimplementthefrequency,period,pulsewidthanddutycyclemeasurementcount.IusedSUMcompletethemeasurementcircuitcontrol,dataprocessinganddisplayoutput.ThenIdiscussedaboutthecompositionofhardwareandmicrocontrollersoftwarecontrolflow.Thehardwarecircuitincludeskeycontrolmodule,displaymodule,theinputsignalshapingmoduleandMCUandCPLDcontrolmodule.

Thispaperhasparticularlydescribedthetop-to-bottomdesignmethodofthesystem,thecircuitcompositeofthehardwareandthesoftwareprogramdeviceofCPLDandsinglechipcomputer.UnderthetestenvironmentofthesystemdevelopedbyGW48-CKEDAexperiment,theprecisionandvelocityofthemeasurementhavebeenobtainedafterthesimulationandthetestofthehardware.

KEYWORDS:

Frequencymeter,EDAtechnique,CPLD,Singlechipcomputer

第一章引言

随着电子技术的发展,当前数字系统的设计正朝着速度快、容量大、体积小、重量轻的方向发展。

推动该潮流迅猛发展的引擎就是日趋进步和完善的设计技术。

目前数字频率计的设计可以直接面向用户需求,根据系统的行为和功能要求,自上至下的逐层完成相应的描述、综合、优化、仿真与验证,直到生成器件。

上述设计过程除了系统行为和功能描述以外,其余所有的设计过程几乎都可以用计算机来自动地完成,也就是说做到了电子设计自动化(EDA)。

这样做可以大大地缩短系统的设计周期,以适应当今品种多、批量小的电子市场的需求,提高产品的竞争能力。

电子设计自动化(EDA)的关键技术之一是要求用形式化方法来描述数字系统的硬件电路,即要用所谓硬件描述语言来描述硬件电路。

所以硬件描述语言及相关的仿真、综合等技术的研究是当今电子设计自动化领域的一个重要课题。

硬件描述语言的发展至今已有几十年的历史,并已成功地应用到系统的仿真、验证和设计综合等方面。

到本世纪80年代后期,已出现了上百种的硬件描述语言,它们对设计自动化起到了促进和推动作用。

但是,它们大多各自针对特定设计领域,没有统一的标准,从而使一般用户难以使用。

广大用户所期盼的是一种面向设计的多层次、多领域且得到一致认同的标准的硬件描述语言。

80年代后期由美国国防部开发的VHDL语言(VHSICHardwareDescriptionLanguage)恰好满足了上述这样的要求,并在1987年12月由IEEE标准化(定为IEEEstd1076--1987标准,1993年进一步修订,被定为ANSI/IEEEstd1076--1993标准)。

它的出现为电子设计自动化(EDA)的普及和推广奠定了坚实的基础。

据1991年有关统计表明,VHDL语言业已被广大设计者所接受。

另外,众多的CAD厂商也纷纷使自己新开发的电子设计软件与VHDL语言兼容。

由此可见,使用VHDL语言来设计数字系统是电子设计技术的大势所趋。

第二章硬件电路设计

2.1系统顶层电路设计

2.2.1CPLD的结构与功能介绍

可编程逻辑器件是20世纪70年代发展起来的一种新型逻辑器件,它是大规模集成电路技术的飞速发展与计算机辅助设计、计算机辅助生产和计算机辅助测试相结合的一种产物,是现代数字电子系统向超高集成度、超低功耗、超小封装和专用化方向发展的重要基础。

它的应用和发展不仅简化了电路设计,降低了成本,提高了系统的可靠性和保密性,而且给数字系统的设计方法带来了革命性的变化。

该测频系统选用的CPLD器件是ALTERA公司所生产的MAX7000系列中的EPM7128SLC84-15。

图3-2是EPM7128SLC84-15的结构框图,其中逻辑阵列块(LAB)由16个宏单元(Macrocells)阵列组成,多个逻辑阵列块通过可编程互连阵列(PIA)互相连按;

宏单元(Macrocells)由逻辑阵列、乘积项选择阵列和可编程寄存器等3个功能模块组成:

可编程互连阵列(PIA)是一种可编程全局总线,连接着器件中的任何的信号起源和信号目的地,使信号可以通过整个器件,且PIA消除了信号之间的时间偏移,有固定的延时,使时间性能容易预测;

I/0控制块(I/0ControlBlock)允许每一个I/0管脚可以被单独的配置为输入、输出、双向管脚,且所有I/0引脚都有一个三态缓冲器。

图3-2EPM7128SLC84-15结构框图

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

利用VHDL设计的测频模块逻辑结构如图3-3所示:

其中有关的接口信号规定如下:

(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自校。

图3-3CPLD测频专用模块框图

(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);

计数值读出选通控制。

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的计数值,并根据等精度测量公式进行运算,计算出被测信号的频率或周期值。

2.控制部件设计

如图3-4所示,当D触发器的输入端START为高电平时,若FIN端来个上升沿,则Q端变为高电平,导通FIN-CLK1和FSD-CLK2,同时EEND被置为高电平作为标志;

当D触发器的输入端START为低电平时,若FIN端输入一个脉冲上沿,则FIN-CLKI与FSD-CLK2的信号通道被切断。

图3-4测频与测周期控制部分电路

3.计数部件设计

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

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

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

图3-5CONTRL2子模块内部结构

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

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

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

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

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

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

(3-1)

CONTRL2子模块的主要特点是:

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

只有在先检测到上沿后PUL才为高电平,然后在检测到下沿时,PUL输出为低电平;

ENDD输出高电平以便通知单片机测量计数已经结束;

如果先检测到下沿,PUL并无变化;

在检测到上沿并紧接一个下沿后,CONTRL2不再发生变化直到下一个初始化信号到来。

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

(3-2)

3.3单片机主控模块

3.3.1AT89C51单片机性能

AT89C51是一个内含4K字节可编程可擦除的快闪存储器(FlashMemory)和128个字节RAM。

低电压,高性能CMOS结构的8位单片机。

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

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

(1)AT89C51的主要特性如下:

.与MCS-51兼容

.4K字节可编程快闪存储器

.寿命:

1000次写/擦

.数据保留时间:

十年

.128*8位内部RAM

.32可编程I/O线

.两个16位定时器/计数器

.五个中断源

.可编程串行通道

.低功耗的闲置和掉电模式

.片内振荡器和时钟电路

(2)其管脚的具体说明如下:

P0口:

P0口为一个8位漏级开路双向I/O口,每个引脚可驱动8个TTV7。

当P1口的管脚输入数据时,应先把口置‘1’。

作为外部地址/数据总线使用时,用于传送8位数据和低8位地址。

在快闪编程时,P0口输入,当快闪进行校验时,P0口输出,此时P0外部必须被拉至高电平。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能驱动4个TTL门。

PI口管脚写入‘1’后。

被内部上拉为高,可用作输入。

P2口:

P2口是一个内部提供上拉电阻的8位双向I/O口,P2口缓冲器可驱动4个TTL门,当P2口被写‘1’时,其管脚被内部上拉电阻拉高,作为输入。

P2口当用作外部程序存储器或外部数据存储器进行存取时,P2口输出16位地址的高八位。

P3口:

P3口管脚是八个带内部上拉电阻的双向I/O口,可驱动4个TTL门。

当P3口写入‘1'

后,被内部上拉为高电平,并用作输入。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

管脚备选功能

P3.0RXD(串行输入口)

P3.1TYD(串行输出口)

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

P3.3ANTI(外部中断1)

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

P3.4T1(计时器1外部输入)

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

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

P3口同时为快闪编程和编程校验接收一些控制信号。

3.3.2单片机控制电路

单片机测频控制电路如图3-7所示,由单片机完成整个测量电路的测试控制、数据处理和显示输出,CPLD完成各种测试功能。

图3-7单片机测频控制电路

(1)由于CPLD在对频率进行计数时,采用32位二进制计数器,8位数据总线的单片机分四次将32位数据全部读出。

利用AT89C51的P0口读计数器COUNT输出B[7..0]标准频率信号的值,P2口读计数器COUNT输出B[15..8]被测信号的值。

被读出的四组8位数据通过AT89C51的SS0,SS1地址编码选择。

由P1口输出控制。

(2)CS:

由单片机的P1.0口控制。

CS=0时,等精度测频;

CS=1时,测脉宽。

(3)CLR:

系统全清零功能。

(4)ED2:

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

(5)AS:

自校和测频选择。

AS=1测频,AS=0自校。

(6)STROBE:

为预置门闸,门宽可通过键盘由单片机控制,STROBE=1时,预置门打开;

STROBE=0时,预置门关闭。

(7)ED1:

测频计数结束状态信号,EDl=0时计数结束。

(8)SS0,SS1:

计数位读出选通控制。

若令SS=[SS1,SS0],则当SS=0,1,2,3时,可从P0口和P2口由低8位至高8位分别读出两组4个8位计数值。

(9)FS为标准频率信号输入,此频率来源于50MHz的有源晶振。

(10)FX为被测信号输入,此信号是经过限幅整形电路后的信号。

(11)FC为自校频率,取自单片机的外接晶振。

3.4外围电路设计

3.4.1键盘接口电路

键盘接口电路如图3-8所示。

键盘控制命令由并入串出移位寄存器74LS165读入。

当某一键盘按下时,该线为低电平,在单片机主程序中置P3.2为‘0’,将键值置入,然后再将P3.2与P3.3口置‘1’,将键盘值读入单片机,从而实现对键盘动态扫描,实时将键盘命令交单片机处理。

图3-8键盘接口电路

3.4.2显示电路

图3-9中,AT89C51以串行通信方式0,即同步移位寄存器方式通过P3.1实现显示码传送,8个共阳极数码管由8片串入并出74LS164驱动,由于74LS164芯片输出低电平时具有SMA的灌电流能力,在静态显示方式下足以保证显示亮度。

因为74LS164输出没有锁存功能,因此,在传送信号时输出端数码管会有瞬间闪烁,但由于系统采用12MHz晶振。

传送波特率高达1M,且一次发送数据很少,故闪烁并不明显。

P3.4用于键盘和显示电路的切换选通。

另外,由于键盘和显示电路共享单片机的串行口,在每次显示前,程序必须将P3.2置‘0’,将74LS165的输出置‘1’,才能保证P3.1口正确传送显示数据。

图3-9显示电路

3.4.3电源模块

整个电路的供电电源如图3-10所示,220V交流电经变压、整流、滤波后,由一片78L05三端稳压器向系统提供+5V电压信号。

图3-10电源模块

3.4.4其他电路

单片机的时钟电路由12MHz的晶振提供。

CPLD的标准频率信号由50MHz的有源晶振提供。

自校输入信号取自单片机的12MHz晶振。

被测信号经过放大整形电路调理后输入。

第四章软件设计

4.1VHDL语言

4.1.1VHDL简介

VHDL的英文全名是VHSIC(veryHighspeedIntegratedCircuit)HardwareDescriptionLanguage。

1983年由美国国防部发起创建,由IEEE(TheinstituteofElectricalandElectronicEngineers)进一步发展并在1987年作为“正IEEE标准1076”发布。

1993年被更新为IEEE标准1164。

VHDL能够成为标准化的硬件语言并获得广泛应用,因为它具有如下的优点:

1.功能强大设计灵活。

VHDL拥有强大的语言结构,可以用简洁的程序描述复杂的逻辑控制。

为了有效地控制设计的实现,它具有多层次的设计描述功能,支持设计库和可重复使用的元件生成;

支持层次化和模块化设计,同时,VHDL还支持同步、异步和随机电路设计。

2.与具体器件无关。

采用VHDL设计硬件电路时,并不需要首先确定使用哪种器件,当设计完成后,再根据消耗的资源,选择合适的器件。

3.很强的移植能力。

VHDL的移植能力非常强,它是一种标准的硬件描述语言。

同一个设计的程序可以被不同的工具所支持,包括综合工具、仿真工具、系统平台等。

4.强大的硬件描述能力。

VHDL既可以描述系统级电路,又可以描述门级电路。

描述方式既可以采用行为描述、寄存器传输描述,也可以用混合描述方式。

同时,VHDL也支持惯性延迟和传输延迟,以便准确建立硬件电路模型。

5.语法规范,易于共享。

VHDL的语法非常规范,可读性极强。

用VHDL编写的代码文件既可以是程序,也可以是文档。

作为一种工业标准,VHDL易于共享,适合大规模协作开发。

4.1.2VHDL程序设计

一项工程的设计(包括VHDL程序的设计和验证)首先要利用EDA工具的文本编辑器或图形编辑器将它用文本方式或图形方式表达出来。

这两种方式必须首先通过EDA工具进行排错编译,变成VHDL格式,为进一步的逻辑综合做准备。

原理图输入方式比较容易掌握,直观而方便,所画的原理图与传统的器件连接方式完全一样,很容易被人接受,而且编辑器中有许多现成的单元器件可以利用,自己也可以根据需要设计元件。

当然,最具普遍性的输入方法是VHDL程序的文本方式。

这种方法最为通用,任何支持VHDL的EDA工具都支持文本方式的编辑和编译。

4.1.3VHDL的设计方法

电子产品设计的基本思路一直是先选用标准通用集成电路芯片,再由这些芯片和其他元件自下而上的构成电路、子系统和系统。

这样设计出的电子系统所用元件的种类和数量均较多,体积与功耗大,可靠性差。

随着集成电路技术的不断进步,现在人们可以把数以亿计的晶体管,几万门、几十万门、甚至几百万门的电路集成在一块芯片上。

半导体集成电路己由早期的单元集成、部件电路集成发展到整机电路集成和系统电路集成。

电子系统的设计方法也由过去的那种集成电路厂家提供通用芯片,整机系统用户采用这些芯片组成电子系统的“bottom-up”(自底向上)方法改变为一种新的“top-down”(自顶向下)设计方法。

在这种新的设计方法中,由整机系统用户对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路ASIC来实现,且这些专用集成电路是由系统和电路设计师亲自参与设计的,直至完成电路到芯片版图的设计,再交由IC工厂加工,或者是用可编程ASIC(例如CPLD和FPGA)现场编程实现。

图4-1所示为电子系统的两种不同设计方法的步骤。

\\

图4-1“自顶向下”与“自顶向上”设计方法对比

在“自顶向下”的设计中,首先需要进行行为设计,确定该电子系统或VLSI芯片的功能、性能及允许的芯片面积和成本等。

接着进行结构设计,根据该电子系统或芯片的特点,将其分解为接口清晰、相互关系明确、尽可能简单的子系统,得到一个总体结构。

这个结构可能包括算术运算单元、控制单元、数据通道、各种算法状态机等。

下一步是把结构转换成逻辑图,即进行逻辑设计。

接着进行电路设计,逻辑图将进一步转化成电路图。

在很多情况下,这时需进行硬件仿真,以最终确定逻辑设计的正确性。

最后是进行版图设计,即将电路图转化成版图。

“自底向上”的设计,一般是在系统划分和分解的基础上先进行单元设计,在单元的精心设计后逐步向上进行功能块设计,然后再进行子系统的设计,最后完成系统的总体设计。

4.2本系统CPLD模块的设计

4.2.1程序设计步骤:

利用VHDL语言进行程序设计可以分为以下几个步骤:

1.确定电路具体功能。

开发前期先设计总体方案,总体方案相对比较抽象,使用VHDL必须分析电路所要实现的具体功能。

2.设计输入。

设计描述包括两个方面:

(l)系统描述。

系统描述应决定设计方式,设计方式主要有两种:

自顶向下设计、自底向上设计。

自顶向下的处理方式要求将设计划分成不同的功能元件,每个元件具有专门定义的输入和输出,并执行专门的逻辑功能。

而自底向上的处理方式恰恰相反。

(2)编写设计代码。

编写VHDL语言的代码与其它计算机程序语言的代码有很大的不同,编写的VHDL代码必须能够综合到采用可编程逻辑器件来实现的数字逻辑之中。

3.用VHDL仿真器对VHDL源代码进行功能仿真。

在功能仿真阶段,主要对所设计的电路进行功能验证,通过功能仿真,发现设计存在的缺陷。

如输入输出是否有矛盾,有无未加处理的输入信号,是否允许使能等。

通过功能仿真,在设计前期纠正缺陷和错误,可以节省后期的时间,缩短整体开发周期。

4.设计综合、设计优化和设计的布局布线。

选择目标器件、输入约束条件后,VHDL综合优化软件工具将对VHDL源代码进行处理,产生一个优化了的网络表,并可以进行粗略的时序仿真。

5.配置及配置后的时序仿真。

配置指的是将综合优化处理后得到的优化了的网络表,安放到前面选定的CPLD或FPGA目标器件中。

在将优化了的网络表配置到目标

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

当前位置:首页 > 成人教育 > 远程网络教育

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

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