基于CPLD数字频率计的设计.doc
《基于CPLD数字频率计的设计.doc》由会员分享,可在线阅读,更多相关《基于CPLD数字频率计的设计.doc(39页珍藏版)》请在沃文网上搜索。
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。作为外部地址/数据总线使用时,用于
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 CPLD 数字频率计 设计