龙源期刊网 http://www.qikan.com.cn
基于CPLD的数字频率计的设计与研究
作者:千承辉 陈思宇 杜尚宇 来源:《科技传播》2012年第19期
摘要 本文提出了一种基于低端CPLD与单片机相结合所构成的高精度、宽频带的频率计设计,并将其付诸实践,结果证明此方案与传统方案相比,提高了系统的工作速度,节约了设计与制造的成本。
关键词 CPLD;频率计;数字电路
中图分类号TH89 文献标识码A 文章编号 1674—6708(2012)76—0136—02 0 引言
CPLD(复杂可编程逻辑器件)具有编程灵活、集成度高、设计开发周期短、适用范围宽等特点。下面将详细介绍一下基于CPLD的数字频率计的系统功能、硬件电路、软件设计、硬件制作与调试等。
1 系统总功能的分析与电路设置 1.1 系统概述
该测频系统包括时序控制电路、十进制计数电路、锁存电路和显示电路。时序控制电路的功能是对计数电路、锁存电路和译码电路进行时序控制的模块。其控制要求为:先使计数器模块在高电平1s 内进行计数, 在下一个1s低电平内锁存计数的结果, 然后再将锁存的数据进行显示。在第一个测量显示周期结束后, 控制电路将再次发出控制信号, 先对功能电路清零, 然后使系统开始下一个测量周期的工作。最后由八位数码管来显示计频结果。 1.2 理论误差分析
根据计频的原理分析,频率计的误差来自于两个方面,一方面是来自于晶振的误差,一方面是量化误差。通常晶振的误差可以通过选用稳定性高的晶振的方式减小;而量化误差则是由于不确定计数信号的上升沿何时来而引起的,量化误差总是存在的,且等于±1。记被测信号频率为f,记得的脉冲个数为N,计数基准周期为T,则,因为晶振一般来说比较稳定,所以忽略晶振误差不计,则由量化引起的误差为。为减小量化误差可以选用倍频单元,将时基信号扩大后,这样测得脉冲数N变大,以此减小量化误差。 2 软件及时序的设计
龙源期刊网 http://www.qikan.com.cn
数字频率计的设计分为:主控制模块(用于控制其他模块的工作时序)、十进制计数模块(用于对被测量信号的脉冲计数)、锁存器模块(用于锁存计数器计得的脉冲个数,消除显示时由于数据周期的变化而引起的闪动)、译码显示模块(将计得的数对应于数码管的段码从而显示正确的数字),最后用数码管来显示相应的计数结果。其系统电路模块结构如图1所示: 2.1 控制模块设计
为实现计数功能,需要提供一个周期为2s,占空比为50%的基准方波,计数完成之后,需要马上将计得的数据锁存,然后显示。并且计数完成后需要对计数器清零,为下一轮计数做准备,并且在清零之前要为锁存提供一定的时间。译码显示模块只需要一个频率较高的时钟提供扫描信号,使八位结果同时显示在数码管上即可。 2.2 计数器模块设计
十进制计数模块对被测信号进行计数,对被测脉冲的上升沿敏感。此处设计八个计数器(最后由八位数码管显示),计数器的输入为被测信号,并且一个计数使能端,一个清零端。输出端为一个进位位,和一个四位的二进制码。其中个位的进位位作为十位计数器的计数脉冲,以此类推,最后实现计数的目的。 2.3 锁存电路模块设计
锁存电路模块可使系统显示电路的工作稳定而可靠,避免计数电路模块清零时引起显示闪烁的现象。load(锁存信号)信号在计数完成之后有效,当load=1时,输入与输出相等,否则输出保持不变,以此来达到稳定显示的目的。锁存器的输入端除load信号外,有一个32位的二进制代码。
2.4 译码电路模块设计
译码电路模块用于将二进制代码转换成为相应的十进制数的段码,并在数码管上稳定的显示出来,译码电路模块图如图6所示,a[3..0]~h[3..0]代表八个计数器计得的二进制代码,每四位二进制数代表一个十进制数,clk是扫描的时钟,它的频率只需要达到一个能使八位数码管同时显示就可以。而输出端com[7..0]为数码管的位选,每次选中一位数码管,Y[7..0]为数码管的段选。当一个数码管被选中后,就显示相应的段码。 3 硬件电路的制作与调试
硬件电路包括CPLD核心板、数码管显示电路,另外还包括一个STC89C52单片机的最小系统。最开始的系统只包括前面的两个部分,由核心板内部时钟n分频得到一个0.5Hz的基准方波,作为控制模块的输入时钟,但经调试发现,CPLD工作不稳定,因此,基准方波必须外接,为此引入一个单片机的最小系统,旨在解决基准方波有误差的问题。单片机为控制模块提
龙源期刊网 http://www.qikan.com.cn
供一个0.5Hz的基准,实验证明,该基准方波稳定性高,误差小。并且整个系统只需要一个5V的电源供电,硬件系统简单,精度高,易于维护。 4 结论
整个系统很大程度发挥了CPLD的功能,且工作稳定,提出CPLD与单片机相结合的思想,大大提高了测频精度,可与相同成本的FPGA媲美。 参考文献
[1]聂辉.CPLD数字频率计系统的研究与设计[J].重庆科技学院学报:自然科技版,2005,7(1):76—79.
[2]潘松,黄继业.EDA技术与VHDL[M].北京:清华大学出版社,2005.
[3]孟庆海,张洲.VHDL基础及经典实例开发[M].西安:西安交通大学出版社,2008.