欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于CPLD数字频率计的设计.doc

    • 资源ID:1038341       资源大小:392.53KB        全文页数:39页
    • 资源格式: DOC        下载积分:10积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要10积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于CPLD数字频率计的设计.doc

    1、摘要摘 要本文主要论述了利用CPLD进行测频计数,单片机实施控制实现多功能频率计的设计过程。该频率计利用等精度的设计方法,克服了基于传统测频原理的频率计的测量精度随被测信号频率的下降而降低的缺点。等精度的测量方法不但具有较高的测量精度,而且在整个频率区域保持恒定的测试精度。该频率计利用CPLD来实现频率、周期、脉宽和占空比的测量计数。利用单片机完成整个测量电路的测试控制、数据处理和显示输出。并详细论述了硬件电路的组成和单片机的软件控制流程。其中硬件电路包括键控制模块、显示模块、输入信号整形模块以及单片机和CPLD主控模块。本文详细论述了系统自上而下的设计方法及各部分硬件电路组成及单片机、CPL

    2、D的软件编程设计。使用以GW48-CK EDA实验开发系统为主的实验环境下进行了仿真和验证,达到了较高的测量精度。关键词: 频率计,EDA技术,CPLD,单片机IAbstractAbstractThis article discusses the use of frequency counts for CPLD, microcontroller control to achieve the implementation of the design process of multi-frequency meter. The use of such precision frequency mete

    3、r design ways to overcome the traditional frequency measurement based on the principle of the measurement precision frequency meter with a decline in the measured signal frequency decreases the shortcomings. And other precision measurement method not only has high accuracy, but in the entire frequen

    4、cy region to maintain a constant precision. The frequency meter using CPLD to implement the frequency, period, pulse width and duty cycle measurement count .I used SUM complete the measurement circuit control, data processing and display output. Then I discussed about the composition of hardware and

    5、 microcontroller software control flow. The hardware circuit includes key control module, display module, the input signal shaping module and MCU and CPLD control module.This paper has particularly described the top-to-bottom design method of the system, the circuit composite of the hardware and the

    6、 software program device of CPLD and single chip computer. Under the test environment of the system developed by GW48-CK EDA experiment, the precision and velocity of the measurement have been obtained after the simulation and the test of the hardware.KEYWORDS: Frequency meter, EDA technique, CPLD,

    7、Single chip computerII目 录目 录摘 要IAbstractII目 录III第一章 引言1第二章 测量原理及其性能指标22.1测量原理22.2 系统设计指标3第三章 硬件电路设计43.1 系统顶层电路设计43.2 测频模块的工作原理及设计53.2.1 CPLD的结构与功能介绍53.2.2 CPLD测频专用模块逻辑设计63.3 单片机主控模块103.3.1 AT89C51单片机性能103.3.2 单片机控制电路123.4 外围电路设计143.4.1 键盘接口电路143.4.2 显示电路153.4.3 电源模块153.4.4 其他电路16第四章 软件设计174.1 VHDL语言

    8、174.1.1 VHDL简介174.1.2 VHDL程序设计184.1.3 VHDL的设计方法184.2 本系统CPLD模块的设计204.2.1程序设计步骤:204.2.2 本系统CPLD模块的顶层设计214.3 单片机的汇编语言编程25第五章 实验测试及误差分析305.1实验测试的方法305.2 系统的硬件验证305.3 系统误差分析31结 论33参考文献34致 谢35IV第一章 引 言第一章 引言测频一直以来都是电子和通讯系统工作的重要手段之一。高精度的测频仪和频率发生器有着广泛的市场前景。以往的测频仪都是在低频段利用测周的方法、高频段用测频的方法,其精度往往会随着被测频率的下降而下降。该

    9、测频仪利用等精度的测频原理,保证了整个测试范围内恒定的测试精度。在器件选择上,该测频仪采用Atmel公司生产的AT89C51单片机和Altera公司所生产的入tAX7000系列中的EPM7128SLC84-15。AT89C51是一种低功耗、高性能的8位CMOS单片机。片内有4KB的闪烁可编程/擦除只读存储器 (FPEROM),并且与MCS-51引脚和指令系统完全兼容。芯片上的FPEROM允许在线或采用通用的编程器对其重复编程,可循环写入/擦除1000次。并且有宽工作电压范围、存储数据保存时间长(10年)等优点。是一款性价比较高的单片机。EPM7128SLC84-15是在Altera公司的第二代

    10、MAX结构基础上,采用先进的氧化物半导体EZPROM技术制造的。可容纳各种各样、独立的组合逻辑和时序逻辑函数。可以快速而有效的重新编程,并保证可编程擦除100次。EPM7128SLC84-15包含128个宏单元。每16个宏单元组成一个逻辑阵列块,同时,每个宏单元有一个可编程的“与”阵和固定的“或”阵,以及一个具有独立可编程时钟、时钟使能、清除和置位功能的可配置触发器。单片机的软件采用汇编语言编写,CPLD的各种功能块用VHDL语言描述实现。测频仪器性能也各不相同。该测频仪将CPLD的高速高可靠性、单片机的灵活控制功能和等精度测频原理较高的测量精度相结合,具有速度快、功能全、精度高等特点。3第二

    11、章 测量原理及其性能指标第二章 测量原理及其性能指标2.1测量原理 传统的测频原理是在一定的时间间隔内测某个周期信号的重复变化次数N,其频率可表示为f=N/T,其原理框图见图2-1。这种测量方式的精度随被测信号频率的变化而变化。脉冲形成电路闸门电路计数译码器 门控电路时基信号发生器图2-1 传统测频原理框图该课题测频原理电路图如图2-2所示:清零信号D QCLKENCLK CNT1 OUT1CLRCLKENCLK CNT2 OUT2CLR标准频率信号预置门控信号被测信号图2-2 等精度测频原理图当方波预置门控信号由低变为高电平时,经整形后的被测信号上升沿启动D触发器,由D触发器的R端同时启动可

    12、控计数器CNT1和CNT2同时计数,当预置门为低电平时,随后而至的被测信号使可控计数器同时关闭。设FX为整形后的被测信号,FS为基准频率信号,若在一次预置门高电平脉宽时间内被测信号计数值为Nx,基准频率计数值为Ns,则有: ( 2-1 )2.2 系统设计指标 基于传统测频原理的频率计的测量精度将随被测信号频率的改变而改变,在实用中有较大的局限性,而等精度频率计不但具有较高的测量精度,而且在整个测频区域内保持恒定的测试精度。本系统设计的基本指标如下:(1) 对于频率测试功能,测频范围为1HZ-999.999KHZ;对于测频精度为。(2) 对于周期测试功能,信号测试范围与精度要求与测频功能相同。(

    13、3) 对于脉宽测试功能,测试范围为0.1-1s,测试精度为0.01s。(4) 对于占空比测试功能,测试精度为1%-99%。第三章 硬件电路设计第三章 硬件电路设计3.1 系统顶层电路设计 等精度数字频率计涉及到的计算包括加、减、乘、除,耗用的资源比较大,用一般中小规模CPLD/FPGA芯片难以实现。因此,我们选择单片机和CPLD/FPGA的结合来实现。电路系统原理框图如图3-1所示,其中单片机完成整个测量电路的测试控制、数据处理和显示输出;CPLD/FPGA完成各种测试功能;键盘控制命令通过一片74LS165并入串出移位寄存器读入单片机,实现测频、测脉宽及测占空比等功能,单片机从CPLD/FP

    14、GA读回计数数据并进行运算,向显示电路输出测量结果;显示器电路采用七段LED静态显示,由8个芯片74LS164分别驱动数码管。电源部分显示电路键盘输入时钟电路单片机CPLD芯片50MH标准频率被测信号整形电路自校输入图3-1 系统顶层框图系统功能实现的布局如下:(1) P0口和P2口是单片机与FPGA的数据传送通信口。P1口为双向控制口。P3口为LED的串行显示控制口以及用于键盘扫描,实现各测试功能的转换。系统设置5个功能键:占空比、脉宽、周期、频率和复位。(2) 显示电路由8个数码管组成:8个LED数码管组成测量数据显示器。(3) 测频标准频率50MHz信号由晶体振荡源电路提供。(4) 待测

    15、信号经放大整形后输入CPLD/FPGA的TCLK。3.2 测频模块的工作原理及设计 3.2.1 CPLD的结构与功能介绍可编程逻辑器件是20世纪70年代发展起来的一种新型逻辑器件,它是大规模集成电路技术的飞速发展与计算机辅助设计、计算机辅助生产和计算机辅助测试相结合的一种产物,是现代数字电子系统向超高集成度、超低功耗、超小封装和专用化方向发展的重要基础。它的应用和发展不仅简化了电路设计,降低了成本,提高了系统的可靠性和保密性,而且给数字系统的设计方法带来了革命性的变化。该测频系统选用的CPLD器件是ALTERA公司所生产的MAX7000系列中的EPM7128SLC84-15。图3-2是EPM7

    16、128SLC84-15的结构框图,其中逻辑阵列块(LAB)由16个宏单元(Macrocells)阵列组成,多个逻辑阵列块通过可编程互连阵列(PIA)互相连按;宏单元(Macrocells)由逻辑阵列、乘积项选择阵列和可编程寄存器等3个功能模块组成:可编程互连阵列(PIA)是一种可编程全局总线,连接着器件中的任何的信号起源和信号目的地,使信号可以通过整个器件,且PIA消除了信号之间的时间偏移,有固定的延时,使时间性能容易预测;I/0控制块(I/0 Control Block)允许每一个I/0管脚可以被单独的配置为输入、输出、双向管脚,且所有I/0引脚都有一个三态缓冲器。图3-2 EPM7128S

    17、LC84-15结构框图3.2.2 CPLD测频专用模块逻辑设计利用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-3 CPLD测频专用模块框图(5) START(P 2.5):当TF=0时,作为

    18、预置门闸,门宽可通过键盘由单片机控制,START=1时预置门开;当TF=1时,START有第二功能,此时,当START=0时测负脉宽,当START=1时测正脉宽。利用此功能可分别获得脉宽和占空比数据。(6) EEND(P 2.3) 等精度测频计数结束状态信号,EEND=0时计数结束。(7) SEL2.0(P 2.2, P 2.1, P 2.0);计数值读出选通控制。1.测频/测周期的实现(1)令TF=0,选择等精度测频,然后在CONTRL的CLR端加一正脉冲信号以完成测试电路状态的初始化。(2)由预置门控信号将CONTRL的START端置高电平,预置门开始定时,此时由被测信号的上沿打开计数器C

    19、NT1进行计数,同时使标准频率信号进入计数器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端变为高

    20、电平,导通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-5 CONTRL2子模块内部结构测量脉冲宽度的工作步骤如下:(1) 向CONTRL2的CLR端送一个脉冲以便进行电

    21、路的工作状态初始化。(2) 将GATE的CNL端置高电平,表示开始脉冲宽度测量,这时CNT2的输入信号为FSD。(3) 在被测脉冲的上沿到来时,CONTRL2的PUL端输出高电平,标准频率信号进入计数器CNT2。(4) 在被测脉冲的下沿到来时,CONTRL2的PUL端输出低电平,计数器CNT2被关断。(5) 由单片机读出计数器CNT2的结果,并通过下述测量原理公式计算出脉冲宽度。 (3-1)CONTRL2子模块的主要特点是:电路的设计保证了只有CONTRL2被初始化后才能工作,否则PUL输出始终为零。只有在先检测到上沿后PUL才为高电平,然后在检测到下沿时,PUL输出为低电平;ENDD输出高电

    22、平以便通知单片机测量计数已经结束;如果先检测到下沿,PUL并无变化;在检测到上沿并紧接一个下沿后,CONTRL2不再发生变化直到下一个初始化信号到来。占空比的测量方法是通过测量脉冲宽度记录CNT2的计数值N1,然后将输入信号反相,再测量脉冲宽度,测得CNT2计数值N2则可以计算出: ( 3-2 )3.3 单片机主控模块3.3.1 AT89C51单片机性能AT89C51是一个内含4K字节可编程可擦除的快闪存储器(Flash Memory)和128个字节RAM。低电压,高性能CMOS结构的8位单片机。采用ATNIEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由

    23、于将多功能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。作为外部地址/数据总线使用时,用于

    24、传送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后,被内部上拉为高电平,并用作输入。P

    25、3口也可作为AT89C51的一些特殊功能口,如下表所示:管脚备选功能P3.0 RXD(串行输入口)P3.1 TYD(串行输出口)P3.2/INT0(外部中断0)P3.3 ANTI(外部中断1)P3.4 T0(计时器0外部输入)P3.4 T1(计时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为快闪编程和编程校验接收一些控制信号。3.3.2 单片机控制电路单片机测频控制电路如图3-7所示,由单片机完成整个测量电路的测试控制、数据处理和显示输出,CPLD完成各种测试功能。图3-7 单片机测频控制电路(1) 由于CPLD在对频率进行计数时,采用3

    26、2位二进制计数器,8位数据总线的单片机分四次将32位数据全部读出。利用AT89C51的P0口读计数器COUNT输出B7.0标准频率信号的值,P2口读计数器COUNT输出B15.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时,预置

    27、门打开;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读入。当某一键盘按下时,该线为低电平,

    28、在单片机主程序中置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,且一次发送数据很少,故闪烁并不明显。P

    29、3.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晶振。被测信号经过放大整形电路调理后输入。29第四章 软件设计第四章 软件设计4.1 VH

    30、DL语言4.1.1 VHDL简介VHDL的英文全名是VHSIC(very High speed Integrated Circuit) Hardware Description Language。1983年由美国国防部发起创建,由IEEE(The institute of Electrical and Electronic Engineers)进一步发展并在1987年作为“正IEEE标准1076”发布。1993年被更新为IEEE标准1164。VHDL能够成为标准化的硬件语言并获得广泛应用,因为它具有如下的优点:1.功能强大设计灵活。VHDL拥有强大的语言结构,可以用简洁的程序描述复杂的逻辑控制

    31、。为了有效地控制设计的实现,它具有多层次的设计描述功能,支持设计库和可重复使用的元件生成;支持层次化和模块化设计,同时,VHDL还支持同步、异步和随机电路设计。2.与具体器件无关。采用VHDL设计硬件电路时,并不需要首先确定使用哪种器件,当设计完成后,再根据消耗的资源,选择合适的器件。3.很强的移植能力。VHDL的移植能力非常强,它是一种标准的硬件描述语言。同一个设计的程序可以被不同的工具所支持,包括综合工具、仿真工具、系统平台等。4.强大的硬件描述能力。VHDL既可以描述系统级电路,又可以描述门级电路。描述方式既可以采用行为描述、寄存器传输描述,也可以用混合描述方式。同时,VHDL也支持惯性

    32、延迟和传输延迟,以便准确建立硬件电路模型。5.语法规范,易于共享。VHDL的语法非常规范,可读性极强。用VHDL编写的代码文件既可以是程序,也可以是文档。作为一种工业标准,VHDL易于共享,适合大规模协作开发。4.1.2 VHDL程序设计一项工程的设计(包括VHDL程序的设计和验证)首先要利用EDA工具的文本编辑器或图形编辑器将它用文本方式或图形方式表达出来。这两种方式必须首先通过EDA工具进行排错编译,变成VHDL格式,为进一步的逻辑综合做准备。原理图输入方式比较容易掌握,直观而方便,所画的原理图与传统的器件连接方式完全一样,很容易被人接受,而且编辑器中有许多现成的单元器件可以利用,自己也可

    33、以根据需要设计元件。当然,最具普遍性的输入方法是VHDL程序的文本方式。这种方法最为通用,任何支持VHDL的EDA工具都支持文本方式的编辑和编译。4.1.3 VHDL的设计方法电子产品设计的基本思路一直是先选用标准通用集成电路芯片,再由这些芯片和其他元件自下而上的构成电路、子系统和系统。这样设计出的电子系统所用元件的种类和数量均较多,体积与功耗大,可靠性差。随着集成电路技术的不断进步,现在人们可以把数以亿计的晶体管,几万门、几十万门、甚至几百万门的电路集成在一块芯片上。半导体集成电路己由早期的单元集成、部件电路集成发展到整机电路集成和系统电路集成。电子系统的设计方法也由过去的那种集成电路厂家提

    34、供通用芯片,整机系统用户采用这些芯片组成电子系统的“bottom-up”(自底向上)方法改变为一种新的“top-down”(自顶向下)设计方法。在这种新的设计方法中,由整机系统用户对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路ASIC来实现,且这些专用集成电路是由系统和电路设计师亲自参与设计的,直至完成电路到芯片版图的设计,再交由IC工厂加工,或者是用可编程ASIC(例如CPLD和FPGA)现场编程实现。图4-1所示为电子系统的两种不同设计方法的步骤。图4-1 “自顶向下”与“自顶向上”设计方法对比在“自顶向下”的设计中,首先需要进行行为设计,确定该电子系统或VLSI

    35、芯片的功能、性能及允许的芯片面积和成本等。接着进行结构设计,根据该电子系统或芯片的特点,将其分解为接口清晰、相互关系明确、尽可能简单的子系统,得到一个总体结构。这个结构可能包括算术运算单元、控制单元、数据通道、各种算法状态机等。下一步是把结构转换成逻辑图,即进行逻辑设计。接着进行电路设计,逻辑图将进一步转化成电路图。在很多情况下,这时需进行硬件仿真,以最终确定逻辑设计的正确性。最后是进行版图设计,即将电路图转化成版图。“自底向上”的设计,一般是在系统划分和分解的基础上先进行单元设计,在单元的精心设计后逐步向上进行功能块设计,然后再进行子系统的设计,最后完成系统的总体设计。4.2 本系统CPLD

    36、模块的设计4.2.1程序设计步骤:利用VHDL语言进行程序设计可以分为以下几个步骤:1.确定电路具体功能。开发前期先设计总体方案,总体方案相对比较抽象,使用VHDL必须分析电路所要实现的具体功能。2.设计输入。设计描述包括两个方面:(l)系统描述。系统描述应决定设计方式,设计方式主要有两种:自顶向下设计、自底向上设计。自顶向下的处理方式要求将设计划分成不同的功能元件,每个元件具有专门定义的输入和输出,并执行专门的逻辑功能。而自底向上的处理方式恰恰相反。(2)编写设计代码。编写VHDL语言的代码与其它计算机程序语言的代码有很大的不同,编写的VHDL代码必须能够综合到采用可编程逻辑器件来实现的数字

    37、逻辑之中。3.用VHDL仿真器对VHDL源代码进行功能仿真。在功能仿真阶段,主要对所设计的电路进行功能验证,通过功能仿真,发现设计存在的缺陷。如输入输出是否有矛盾,有无未加处理的输入信号,是否允许使能等。通过功能仿真,在设计前期纠正缺陷和错误,可以节省后期的时间,缩短整体开发周期。4.设计综合、设计优化和设计的布局布线。选择目标器件、输入约束条件后, VHDL综合优化软件工具将对VHDL源代码进行处理,产生一个优化了的网络表,并可以进行粗略的时序仿真。5.配置及配置后的时序仿真。配置指的是将综合优化处理后得到的优化了的网络表,安放到前面选定的CPLD或FPGA目标器件中。在将优化了的网络表配置

    38、到目标器件后,从完成的版图上可以得到连线长短、宽窄的信息,把它们反注到原来的网络表上,为再次进行时序仿真做准备。因为己经得到了实际连线引起的时延数据,所以仿真结果能比较精确的预期未来芯片的实际性能。6.器件编程。在成功的完成了设计描述、综合优化、配置和配置后的时序仿真之后,则可以对器件编程和继续进行系统设计的其它工作。4.2.2 本系统CPLD模块的顶层设计在本测频系统中,对标准频率信号和被测信号进行测试功能的工作由CPLD来完成。其硬件电路的实现在前面已述,其软件部分由VHDL语言实现。下面将给出由VHDL语言实现的顶层模块程序。频率计测试模块 FFFCHECK.VHDLIBRARY IEE

    39、E;USE IEEE.STD_LOGIC_ 1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FFFCHECK ISPORT(CHEKF,FINPUT,CHOICE:IN STD_LOGIC;START, CLRTRIG FSTD,TF:IN STD_LOGIC;SEL:IN STD_LOGIC_VECTOR(2 DOWNTO 0 );OO:OUT_STD_ LOGIC_VECTOR(7 DOWNTO 0 );EEND:OUT STD_LOGIC;ENDD:OUT STD_LOGIC);END ENTITY FFFCHECK;ARCHITECTUR

    40、E ART OF FFFCHECK ISCOMPONENT FIN ISPORT (CHKF ,FIN, CHOIS:IN STD_ LOGIC;FOUT:OUT STD_LOG IC);END COMPONENT FIN;COMPONENT CONTRL ISPORT (FIN,START,CLR,FSD:IN STD_LOGIC;CLK1, EEND, CLK2 ,CLRC: OUT STD_LOGIC);END COMPONENT CONTRL;COMPONENT CNT ISPORT (CLK,CLR:IN STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(31 DOW

    41、NTO 0 );END COMPONENT CNT;COMPONENT CONTRL2 ISPORT (FIN, START, CLR:IN STD_LOGIC;ENDD, PUL : OUT STD_LOGIC);END COMPONENTC ONTRL2;COMPONENT GATE ISPORT (CLK2, RSD,CNL,PUL:IN STD-LOGIC;CLKOUT:OUT STD- LOGIC) ;END COMPONENT GATE;SIGNAL INCLK: STD_LOGIC;SIGNAL FOUT, CLRC:STD_LOGIC;SIGNAL CLKI, CLK2,CLK

    42、OUT, PUL:STD LOGIC;SIGNAL Ql, Q2: STD_LOGIC _VECTOR(31 DOWNTO 0 );BEGINOO = Q1(7 DOWNTO 0) WHEN SEL=000ELSE Ql( 15 DOWNTO 8) WHEN SEL=001 ELSEQl (23 DOWNTO 16)WHEN SEL=010 ELSEQl(31 DOWNTO 24) WHEN SEL=011 ELSEQ2 (7 DOWNTO 0 ) WHEN SE L = 100ELSEQ2 (15 DOWNTO 8) WHEN SEL = 101ELSEQ2 (23 DOWNTO 16) W

    43、HEN SEL=110ELSEQ2 (31 DOWNTO 24 ) WHEN SEL= 111 ELSE“00000000”FENPIN: PROCESS (FSTD)ISBEGINIF( FSTDEVENT AND FSTD=1)THENINCLK= NOT INCLK;END IF;END PROCESSF ENPIN;FCH:FIN PORT MAP(CHKFFINPUT,CHOIS=CHOICE,FOUT= FOUT);CON:CONTRL PORT MAP(FIN=FOUT,START=START,EEND = EEND, CLK2= CLK2 ,CLRC= CLRC) ;CONTI

    44、: CNT PORT MAP(CLK=CLK1 ,CLR=CLRC,Q=Q1);CONT2: CNT PORT MAP(CLK=CLKOUT, CLR=-CLRC, Q=Q2);CON2:CONTRL2 PORT MAP(FIN=FOUT,START=START,CLR=CLRC,PUL=PUL, ENDD=ENDD);GATE1: GATE PORT MAP(CLK2=CLK2,FSD =INCLK,CNL=TF,PUL=PUL,CLKOUT=CLKOUT);END ARCHITECTURE ART;4.3 单片机的汇编语言编程图4-2表示单片机主程序流程图。系统初始化后,主程序不断扫描键盘

    45、子程序,当某键按下时,程序跳转到相应的子程序执行其功能,然后返回继续执行键盘扫描主程序。开 始初始化设置键盘扫描测调频主频率调频周期子程序调自校子程序调占空比子程序调测脉宽子程序测频键测周期键自校键占空比键测脉宽键 4-2 单片机主程序流程图主程序如下:LED8 EQU 7FHLED7 EQU 7EHLED6 EQU 7DHLED5 EQU 7CHLED4 EQU 7BHLED3 EQU 7AHLED2 EQU 79HLED1 EQU 78HTF BIT P2.7CLRTRIG BIT P2.6START BIT P2.5ENDD BIT P2.4EEND BIT P2.3ADRC BIT P

    46、2.2ADRB BIT P2.1ADRA BIT P2.0SB1 BIT Pl.0SBZ BIT Pl.1SB3 BIT P1.2SB4 BIT P1.3SB5 BIT P1.4AD0 EQU 30HAD1 EQU 31HAD2 EQU 32HAD3 EQU 33HAD4 EQU 34HAD5 EQU 35HAD6 EQU 36HADA EQU 4FHADB EQU 5FHADC EQU 4DHKEYNUM EQU 29HINT_R1 EQU 46HINT_R0 EQU 47HINT_R2 EQU 48H主程序:ORG 0000H LJMP MAINORG 0030HMAIN:CLEAR: MOV R0, #00HMOV R1, #128


    注意事项

    本文(基于CPLD数字频率计的设计.doc)为本站会员(星星)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922