前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇数字频率计范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
简易数字频率计的有效使用,为实际测量问题的有效处理带来了重要的参考依据。在此形势影响下,合理地使用CPLD器件,可以优化简易数字频率计的设计方案,完善这种频率计的服务功能。文中通过对频率计测频原理相关内容的阐述,客观地说明了实现基于CPLD简易数字频率计设计的重要性。
【关键词】CPLD 简易数字频率计 设计方案 服务功能
在可靠的EDA技术及CPLD芯片支持下,可以设计出集成程度高、速度快的数字频率计,优化频率计各部分的组成功能。基于CPLD简易数字频率计设计目标的实现,有利于增强电路仿真的准确性,扩大数字频率计的实际应用范围。在具体的设计过程中,技术人员需要对CPLD的相关特点及简易数字频率计的设计要求进行必要地了解,确保最终得到的频率计在实际的应用中能够达到预期的效果。
1 基于CPLD的简易数字频率计各模块的设计
1.1 设计原理
结合CPLD芯片的优势,在具体的设计过程中,需要明确设计流程。简易数字频率计设计的流程包括:被测信号fm输入到CPLD芯片里完成对被测信号的测频、计数、锁存、译码,输出信号接数码管显示。通过这样的设计流程可知,CPFD芯片在简易数字频率计设计中占据着重要的地位,确保了规定时间内可以获得准确的被测信号。
1.2 CPLD模块原理
相比一般的芯片,这种芯片的集成程度高,定制过程中充分地考虑了用户的实际需求。在CPLD芯片的支持下,有利于完善简易数字频率计的测试功能,扩大测频范围。设计方案制定的过程中,合理地运用CPLD芯片,可以雅虎硬件电路的设计方案,为数字频率计构建出控制、计数、锁存、译码的功能模块,并通过合理的方式构建出性能可靠的系统,深入理解COLD模块原理,可以增强简易数字频率计设计方案的适用性,最大限度地满足设计生产活动的各种需求。
1.3 控制电路模块的有效设计
控制电路模块的有效使用,有利于增强系统的控制效果,优化数字频率计的服务功能。这种控制电路模块的主要作用包括:
(1)结合测频工作的具体要求,在较短的时间内获得计数信号CNT-EN;
(2)在计数器的计数值确定后,可以及时地获取锁存信号LOAD,增强锁存器的实际作用效果;
(3)为了满足下一个周期计数的实际需求,提供可靠的清零信号RST-CNT。
在具体的设计过程中,这三个信号的产生有着一定的顺序:首先产生的是计数信号,能够对周期为2s的信号进行计数;其次,在一定的时间内产生锁存信号,对得到的计数值进行必要地锁存;最后,在清零信号的作用下对既有的计数值进行清零,开始下一周期的计数工作。结合控制电路模块的实际最优,可知它本质上是一个控制器,工作周期为1s,输出的是时基信号CLKK[1]。
1.4 计数电路模块的有效设计
计数电路模块工作过程中主要采用的是十进制计数方式,结合CPLD芯片的优势,可以将原先的六进制计数器转变为十进制计数器,并在相关的方式作用下,将所有相同的十进制计数器连接成一个完整的计数电路模块,促使数字计数器使用中可以增强对被测信号的实际作用效果。完善计数电路的服务功能,需要设置必要的输入端:被测信号顺利进入计数器的输入端CLK、计数器清零功能的RST及计数器工作使能端ENA。在这三个输入端的共同配合下,可以对被测信号变化过程进行实时地计数,用二进制代码对十进制数进行必要地表示。
1.5 锁存电路模块的有效设计
为了增强数字频率计工作状态的稳定性,需要合理地设置锁存电路模块,避免计数器清零过程中产生闪络的问题。将一定数量的锁存器按照合理的方式进行合理地连接,构成可靠的锁存电路模块,对所有的输出数据进行及时地锁存。在具体的设计过程中,设置工作使能端LOAD、多个数据输入端DIN,并通过对计数值的分析,设置锁存器的输出端DOUT。完善锁存器符号及端口功能,可以为锁存电路模块的服务功能提供可靠地保障。
1.6 译码电路模块的有效设计
在译码电路模块的支持下,可以完善二进制代码的编码工作,结合数码管驱动器的实际作用,实时地显示出各种数字字符。在译码电路模块设计的过程中,应设置译码器,通过多个译码器的有效连接,完善译码功能。这种功能实际作用发挥的过程中,应设置多个数据输出端及输入端,促使译码电路模块使用中能够达到预期的效果。
2 基于CPLD的简易数字频率计的软件设计
利用VHDL语言及由上向下的设计思想,可以通过层出化的设计方式,实现基于CPLD简易数字频率计的设计目标。在数字频率计软件设计的过程中,核心模块包括译码、锁存、计数、控制。将VHDL视为底层元件,结合相关开发工具的优势,利用文本输入的方式完成编程工作。不同的电路模块通过文本的方式进行显示,并在编译、仿真等方式的作用下,优化所有电路模块的服务功能。促使各种器件在实际应用中能够发挥出最大的作用。在完成连接器件工作的过程中,为了使这些器件使用中能够达到预期的效果,应选择可靠的图形输入方式,形成可靠的频率计主电路图,通过实验箱对数字频率计各部分的组成功能进行必要地测试。
3 结束语
合理地运用CPLD,设计得出可靠的简易数字频率计,可以满足使用者在不同测频范围内的多样化需求,从而为数字频率计应用范围的扩大打下坚实的基础。使用这种可靠的设计方法,可以提高电路板的利用效率,优化系统的组成结构,为各种信号频率测量过程中准确性的增强提供可靠的保障。
参考文献
[1]孟晋,孙荣庆.基于CPLD的4位数字频率计的设计与实现[J].辽宁高职学报,2014(06).
[2]范启亮.一种简易数字频率计的设计与实现[J].科技风,2014(20).
[3]李振川,马晓涛.基于CPLD的数字频率计的设计实现[J].河北软件职业技术学院学报,2010(03).
作者简介
毛会琼(1978-),女,辽宁省法库市人。硕士学位。现为中国矿业大学信息与电气工程学院实验师。从事于检测与转换技术、电工技术、电路实验等方面的教学与科研工作。
王军(1981-),男,山东省曲阜市人。博士学位。现为中国矿业大学信息与电气工程学院高级实验师。研究方向为创新教育、仿生机器人与生物特征识别。
【关键词】数字频率计;VHDL;状态机
1.引言
数字频率计是通讯设备、计算机、电子产品等生产领域不可缺少的测量仪器。由于硬件设计的器件增加,使设计更加复杂,可靠性变差,延迟增加,测量误差变大。通过使用EDA技术对系统功能进行描述,运用VHDL语言,使系统简化,提高整体的性能和可靠性。采用VHDL编程设计的数字频率计,除了被测信号的整形部分,键输入和数码显示以外,其他都在一片FPGA上实现,从而让整个系统非常精简,让其具有灵活的现场更改性,在不改变硬件电路的基础上,进一步改进提高系统的性能,使数字频率计具有高速,精确度高,可靠性强,抗干扰等优点,为数字系统进一步的集成创造了条件[1]。
2.数字频率计的工作原理
频率测量方法中,常用的有直接测频法、倍频法和等精度测频法[2]。其中直接测频法是依据频率的含义把被测频率信号加到闸门的输入端,只有在闸门开通时间T(以ls计)内,被测(计数)的脉冲送到十进制计数器进行计数。直接测频法比其他两个方案更加简单方便可行,直接测频法虽然在低频段测量时误差较大,但在低频段我们可以采用直接测周法加测量,这样就可以提高测量精度了。直接周期测量法是用被测周期信号直接控制计数门控电路,使主门开放时间等于Tx,时标为Ts的脉冲在主门开放时间进入计数器。设在Tx期间计数值为N,可以根据Tx=N×Ts来算得被测信号周期。因此本文采用低频测周,高频测频的方法来提高精度,减小误差[3]。
3.主要功能模块的实现
该系统设计的控制器是由状态机实现,通过在不同测量档位,选择合理的时基信号频率降低误差,确定各状态转移条件和状态名,采用低频档位测周,高频档位测频的方法。20MHz晶振送入分频器,分出各档时基信号和其它模块所需的触发信号,分频器将各档时基信号传给状态机,同时待测信号进入状态机,状念机进行状态转换,将量程溢出信号和状态显示信号表征在发光二极管上。如图表1所示。
表1 频率量程状态
3.1 状态机模块
首先对系统复位,如果此时状态机的初始状态为Fl00k,若超量程信号送入状态机,则状态转换到FlM,如果仍有超量程信号则状态转换到F10M,如果仍有超量程信号则状态转换到F100M,如果还有超量程信号则状态转换到Overflow H产生高溢出信号;若欠量程信号送人状态机,则状态转换到P1ms,如果有超量程信号则状态转换到P10ms,如果仍有超量程信号则状态转换到P100ms,如果仍有超量程信号则状态转换到P1s,如果还有超量程则状态转换到OverflowL产生低溢出信号[4]。如图1所示。
3.2 计数器模块
在“待计数信号”的两个时钟周期内完成计数与控制信号(Over与Low)的传输,在量程合适的情况下,还将计数值输出。这两个时钟周期内,第1个时钟周期完成计数,第2个时钟周期完成控制信号的传输与计数值输出。这样做的好处是稳定,将计数与控制信号传输分开进行。避免了一些可能遇到的“时钟跳变”。但这种做法的缺点也很明显,那就是在测周期模式下,假如待测信号是1Hz的,那么系统可能需要2s(两个时钟周期)才能显示正确的数值。
3.3 十分频模块
由于1kHz~10kHz的信号无论用测频法还是测周期法都是不可行的,可以采用预分频的方法[5],将1kHz~10kHz的信号十分频,然后用测周期法测出周期,再计算出频率。
3.4 同步整形电路模块
通过同步整形电路处理外部的异步信号,超量程和欠量程。源程序如下:
library ieee;
use ieee.std_logic_1164.all;
entity SignalLatch is
4.系统的功能仿真和验证分析
据状态转换图,这里将状态机的程序分成两个进程,进程1完成状态转移过程,进程2控制各状态下的输出值如下图2所示,timecounter=clocktested为50KHz。为了方便观察,将数值改小,计数值大于100且小于或等于1000时输出!将clock1设为50K,clock2计数时钟设为5M,得出仿真如图3所示Result为100符合计数要求。如图4所示给clk1一个5KHz的频率,经过十分频后clk2输出0.5KHz,clk1的周期是0.2ms,经过十分频后是2ms.。同步整形电路仿真如图5所示。
由以上模块进行仿真得出了频率的测量。如图6、7、8所示。
图8
5.结论
采用此方法设计的数字频率计占用FPGA芯片资源较少,成本较低,减少了电路的尺寸,具有一定的参考实用价值。利用Quartus II平台进行了仿真和硬件测试,基本达到了设计的要求。系统具有较好可靠性,灵活性。
参考文献
[1]王本有,孟坚,苏守宝.一种基于FPGA的数字IC设计[J].电子技术.
[2]潘松,黄继业.EDA技术实用教程[M].北京:科学出版社,2010.
[3]黄任.AVR单片机与CPLD/FPGA综合应用入门[M].北京:北京航空航天大学出版社,2004.
[4]韩威,徐火生,方湘艳.EDA与集成电路工程设计[M].北京:科学出版社,2009.
[5]候伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计[M].西安电子科技大学出版社,2004:6.
【关键词】测频;频率计;电路设计
1.相关理论概述
数字频率计采用数字电路制作成以十进制码来现实被测信号频率,对于周期性变化的信号频率能够实现有效的测量的一种仪器。它是教学、科研等工作中的基础测量仪器,在模拟电路和数字电路实验中有着重要的作用,其能够直接读出信号源所产生的不同频率范围的信号将会对实验产生很大的影响。频率计主要用在正弦波、矩形波等周期性信号频率值的测量等,它的拓展功能能够实现对信号周期及其脉冲宽度的测量,引起对信号源的接受敏捷度使得其称为试验箱中的重要组成部分。
信号频率测量方法按照工作原理可以分为无源测量、比较测量、示波测量及技术等测量方法。其中最常见的测量方法是电子计数器,在该种技术下,频率计实现单位时间内被测信号脉冲数的直接计数,并将其频率值以数字的形式显示。实现了对不同频率、精确度的测频需求,保障了测量结果的精确度和速度。
2.整形电路的设计
整形电路就像把模拟的信号转换成为二值信号,也就是使其成为只有高电平和低电平的离散信号。在电路设计时我们可以将电压比较器用作模拟电路及数字电路的接口电路,通过其把非矩形信号转换成矩形信号。在选择比较器时,我们要充分考虑影响信号接收和转换功能的各种因素。下图为其整体设计结构图:
首先,是信号传播可能存在的延迟及时时间。信号传播的延迟时间是比较器选择时所要考虑的重要参数,这种时间的延迟有当信号通过元器件时所产生的传输时间上的延迟和信号上升及下降的时间延迟,只有将延迟的时间降低到最小才能有效的缩短信号处理的时间。
其次,要充分考虑电源电压对比较器的影响。就传统而言,比较器一般需要正负 15 伏的双电源来进行供电或者需要达到36 伏的单电源进行供电,这种传统的比较器在一些工业控制中仍有使用的空间和发展前途但以不适应发展的主流。现在多数的比较器需要在限定的电压条件下进行工作,即在电池电压所能够运行的单电源单位内进行工作,因此对其提出了低电流和小封装等当面的要求,并且在实际的应用中比较器还应该具备一定的关断的功能。当具备上述条件是,比较器才能够在试验箱中得到有效的利用,保证频率计在不同电源电压条件下的正常工作。
再次,充分考虑功耗对比机器的影响。功耗的大小直接影响比较器使用寿命和工作效果,功耗越低时其比较器的耗损相对较低,使用使用寿命得到延长,然而功耗由于器件的运作速度相关,功耗降低的同时可能带来运作速度的降低,因此,在比较器选择时,充分考虑功耗与元器件寿命及其运作速度的关系,寻得一种最优组合。
最后,不可忽视门限电压对比较器的影响。器件的设置可以用来实现对门限电大的测量,门限电压的大小与电路抗干扰能力呈现一种正比例的关系但与其敏感度成反比例关系。当我们通过对门限电压的测量并通过一定的公式计算,根据实际工作的需要来确定门限电压的具体值。
当我们充分考虑上述影响因素时,便会有针对性的选择相应的新品用于单元电路的设计,从而实现信号在电路中的顺利传输,避免芯片烧坏等现象的发生。
3.计数电路的设计
实现对信号的整形后我们便要关注一些低频信号由于其上升速度等原因可能产生的计数影响,因此在电路设计时应该根据信号的特点来完善计数电路的设计。低频信号上升缓慢或者高频信号叠加于其中时会使得计数电路将该种抖动作为输入脉冲予以计数,从而产生计数上的误差。避免该种现象的发生,我们可以通过低通滤波器的使用来处理低频信号传输中可能产生的抖动,并经过滤波器滤除叠加的高频信号。而反相器的使用可以实现在滤波前把高频信号和低频信号予以分开,即仅使低频信号经过反相器实现滤波得到比较规则的矩形信号而高频信号则不经过该过程。经滤波后的矩形信号输入到单片机中,在单片机选择时,低电压、高性能是我们考虑的重要方面,同时还要选择体积较小功能相对较强的单片器,实现迅速有效的技术。单片机计数器的精确度和终端结构的类型都会影响计数结果,通过精密比较器的植入和振荡器电路的设置,实现频率计的精度和存储等方面的要求。在单片机选择时还应该考虑技术进步革新对于存储器程序的选择和更新的可能,并且考虑单片机大小对于整个电路系统的影响,保证程序写入的便利性。下图为其计数模块设计图:
此外,对于计数电路的设计还要考虑信号频率高低的不同对计数器可能产生的影响,实现单片机对不同信号频率进行分频处理。经过整形后的信号进入选定规格的反相器后,对不同频级的信号进行分级处理,单片机频率自动分辨处理能力的选择能够有效的降低一些频级信号的分辨和处理,保证计数器工作的效率和速度。同时计数器的显示值的大小根据信号的频值进行实现随机变动,实现对不分频信号、高频机低频信号的有效计数。
4.显示电路的设计
显示电路是数字频率计电路设计的重要组成部分,它负责将整形电路及计数电路处理的数据显示出来。在该电路设计时我们要考虑的因素便是显示材料的选择及数据显示的方式。LED 数码管的类型会对数据的现实产生一定的影响,而该种材质的数据显示方式又分为动态和静态两种。就两种现实方式的优缺点而言,静态现实具备较高的亮度,为我们及时准确的读取数值提供了视觉便利,且其接口编程相对容易,但是该种显示方式会占用较多的口线,显示的位数直接关系到锁存器的数量,这直接带来所用器件数量繁多和连线的庞杂 ;而动态显示相交而言能够避免上述一些缺点。在动态显示使用时,先确定未选实现选定未选的段码的显示,经过一定的延时再实现对下一选定为送段码显示,并依此循环。下图为其显示模块图:
其具体的工作流程可以解释为,单片机中不同的构建作为译码器实现信号的输入,由译码器的输出来确定数码管的选择位。将每个数码管的公共端与一个接有高电平的 PNP 三极管的集电极相连,同时将三极管的基极和译码器的输出端相连接,这样可以通过对软件编程来设置单片机中的不用位置构建,从而设计译码器的输入端,其输出端设为低电平且只设一位,从而使与其连接的三界关处于一种饱和的状态,实现对计数器数据的动态显示。实现显示器电路中各元件的有机连接后,还要注重送段码的相关问题,使得相应位数的送段码可以通过一定串行口在数码管上进行显示。
5.结束语
除上述电路设计外,电子频率计的设计还要注重电源、滤波等电路的设计,只有将各种影响其工作的单元电路的设计不断的精细化和完善时,才能有效的保证其工作的效率和在实验和工业中的使用效果。
【参考文献】
[1]沈亚钧.基于单片机的数字频率计设计[J].山西电子技术,2012(05).
[2]杨帆.数字频率计的设计与实现[J].科技广场,2011(09).
关键词:PC104;CPLD;多周期同步测频;VHDL
中图分类号:TP391;TP368.1文献标识码:B
文章编号:1004-373X(2010)02-086-04
Design of Frequency Measuring Module Based on PC104 and CPLD
LIU Guohua1,HE Huafeng1,TIAN Pengfei1,WANG Lin2
(1.The Second Artillery Engineering College,Xi′an,710025,China;
2.The Second Artillery Military Representative Office in the Area of Xiaogan,Xiaogan,432100,China)
Abstract:According to the need of some test system,a high_accuracy frequency measuring module is designed based on PC104 and CPLD.A method of synchronous multi_period frequency measurement is used to achieve the equal precision measure to the tested frequency channel.The hardware circuit of the frequency measuring module is designed.And the detailed VHDL source code to achieve digital frequency using CPLD is given.The interface logic of PC104 bus is compiled using the way of schematic diagram,and the emulation is done by the software of MAXPLUSⅡ.The digital frequency and the interface logic are accurately working showed by the result.This frequency measuring module has been proved to be high_accurate,stable and reliable in the practical application.
Keywords:PC104;CPLD;synchronous multi_period frequency measurement;VHDL
随着科学技术的发展,嵌入式产品在军事领域的应用日益广泛,特别是在各种系统的自动化测试领域[1]。频率测试是测试系统中的重要测试项目,在此设计一种基于PC104嵌入式计算机和CPLD的高精度测频模件,以满足对频率量的测试。
1 测频原理
传统的频率测量方法有两种[2]:直接测频法和测周期法。直接测频法就是在给定的闸门信号中填入被测脉冲,通过必要的计数线路,得到填充脉冲的个数,从而算出待测信号的周期。它的主要缺点是存在被测脉冲的±1个误差,难以兼顾低频和高频实现等精度测量,所以测量准确度较低。测周期法[3]是在一个信号周期内记录下基准定时脉冲的个数,然后换算成频率f。主要缺点是存在基准脉冲的±1个误差,适用于较低频率的测量。
多周期同步测频方法[4]是在直接测频的基础上发展而来的,其特点在于测量过程中实际闸门时间不是固定值,而是被测信号周期的整数倍,即与被测信号是同步的,因此消除了对被测信号计数产生的±1个误差,测量精度大大提高,而且达到了在整个测量频段的等精度测量。多周期同步测频法的原理[5,6],如图1所示。
图1 多周期同步测频法原理
如图1所示,首先,由控制线路给出闸门开启信号,计数器等到被测信号的上升沿到来时,真正开始计数;然后,两组计数器分别对被测信号和标准频率信号计数。当控制线路给出闸门关闭信号后,计数器等到被测信号下降沿到来时结束计数,完成一次测量过程。可以看出,实际闸门与设定闸门并不严格相等,但最大差值不超过被测信号的一个周期。被测频率的计算方法为:
fx=(Nx/N0)f0(1)
式中:Nx为被测信号的计数值;N0为标准频率信号的计数值;f0为标准频率信号的频率;τ为闸门时间,计数器的开闭与被测信号完全同步,即在实际闸门中包含整数个被测信号的周期,因而不存在对被测信号计数的±1个误差。
2 硬件电路设计
如图2所示,该模件硬件主要包括PC104控制处理模块、CPLD测试模块、信号调理模块、继电器驱动模块和高精度20 MHz晶振。在该系统中为了实现对多路频率信号的测量,采用了通过继电器控制来选择信号的方案。通过CPLD控制继电器的动作,接通不同的继电器开关,被测信号通过继电器之后,由6N137高速光电隔离器隔离、电平转换之后送入CPLD进行测频。由于CPLD的I/O口驱动电流较小,所以加了一级ULN2803驱动器来驱动继电器的线包。CPLD主要完成的功能是实现数字频率计,采用多周期同步测频法完成对输入信号频率的测量,并通过与PC104的接口逻辑,将测量结果送给PC104主机,由主机进行频率值的计算及显示,从而完成整个测频模件的功能,CPLD选用Altera公司的EPM7128SQC100芯片。
图2 模件硬件电路设计
3 软件设计
3.1 测频电路程序设计
对于CPLD的编程,一般有通过电路原理图的方式和通过硬件描述语言即VHDL语言两种方式\。第一种方式直观性强,较好理解,适用于小规模数字电路的设计;第二种方式具有多层次描述系统硬件功能的能力,可读性强,适用于时序电路及大规模电路的设计。本文采用两者相结合的方式,用VHDL语言实现数字频率计的设计,用原理图的方式实现了PC104主机的接口逻辑,并进行仿真。结果表明完全可以满足功能需求,编译环境为Max+PlusⅡ。
以下为数字频率计的VHDL语言源代码[8-10]。设计了两个32位计数器,一个8位数据选择器及一个触发器控制闸门信号。
LIBRARY IEEE;
USE IEEE.STD_LOGIC-1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY frequency IS
PORT (BCLK,TCLK:IN STD_LOGIC;
CLR,CL:IN STD_LOGIC;
SEL:IN STD_LOGIC_VECTOR
(2 DOWNTO 0);
START,EEND:OUT STD_LOGIC;
DATA: OUT STD_LOGIC_VECTOR
(7 DOWNTO 0));
END ENTITY frequency;
ARCHITUCTURE behavior OF frequency IS
SIGNAL BC:STD_LOGIC_VECTOR
(31 DOWNTO 0);
SIGNAL TC:STD_LOGIC_VECTOR
(31 DOWNTO 0);
SIGNAL ENA: STD_LOGIC;
BEGIN
START
CH:PROCESS (SEL)
BEGINCASE SEL IS
WHEN "000"=>DATA
WHEN "001"=>DATA
WHEN "010"=>DATA
WHEN "011"=>DATA
WHEN "100"=>DATA
WHEN "101"=>DATA
WHEN "110"=>DATA
WHEN "111"=>DATA
WHEN OTHERS =>
DATA
END CASE;END PROCESS;
BF:PROCESS (BCLK,CLR)
BEGIN IF CLR=′1′ THEN
BC 0);
ELSIF (BCLK′EVENT AND BCLK=′1′) THEN
IF ENA = ′1′ THEN
BC
END IF;END IF;END PROCESS;
TF:PROCESS (BCLK,CLR)
BEGIN IF CLR=′1′ THEN
TC 0);
ELSIF (BCLK′EVENT AND BCLK=′1′) THEN
IF ENA = ′1′ THEN
TC
END IF;END IF;END PROCESS;
TR:PROCESS (TCLK,CLR)
BEGIN
IF (TCLK′EVENT AND TCLK=′1′) THEN
ENA
END IF;END PROCESS;
EN:PROCESS (ENA)
BEGIN
IF (ENA′EVENT AND ENA=′0′) THEN
EEND
END IF;END PROCESS;
END ARCHITUCTURE behavior;
以上程序通过软件编译后生成数字频率计的逻辑功能模块图如图3所示。
以下是程序的仿真波形(见图4),标准频率为20 MHz,被测信号频率为0.1 MHz,仿真时间设为120 μs。
图3 数字频率计逻辑功能模块图
图4 数字频率计仿真结果
从仿真的结果可以看出,在定时脉冲CL到来时,计数器并没有开始计数,而是等到被测信号的上升沿到来时,START信号才开启,计数器开始计数,定时脉冲结束时,计数器也是等到被测信号的上升沿到来时才结束计数,实现了多周期同步测频。图4中被测信号频率的计算方法如式(1)所示。与系统预设值相同,可以实现所需的功能。
3.2 PC104接口电路实现
该设计中PC104接口电路部分在Max+PlusⅡ中用原理图的方式实现。使用的PC104总线信号有地址线A0~A9、数据线D0~D7、读写信号线IOR/IOW、复位信号RESET、中断信号IRQ3、地址允许线AEN。在PC104总线的接口电路部分遵循一个原则:就是输出加锁存,输入加缓冲驱动。该接口电路示意如图5所示,首先地址线的A3~A9位与外部波段开关设置地址及AEN信号通过译码电路中的比较器进行比较,若相同,则说明该模块被选中,然后根据A0~A2的译码结果,结合读写信号线产生输出锁存器74HC273及输入缓冲器74HC244的脉冲信号或使能信号,完成对数字频率计及外部电路的读写及控制。在总线工作方式上采用中断方式。设计中,将计数器的实际计数结束信号EEND作为总线的中断触发信号IRQ3,以此来提高PC104总线的工作效率。该接口逻辑的仿真结果如图6所示。
从仿真结果可以看出,接口逻辑可以很好地控制外部继电器的接通,产生清零及定时脉冲,并能正确地读取数字频率计的计数结果,实现模块预定的功能。该接口逻辑已在实验中得到了验证。
3.3 PC104应用程序设计
在调试该模件时系统采用Windows Me操作系统,编译环境采用TC 3.0。主程序包括系统初始化、中断初始化、接通继电器及产生清零和定时脉冲模块。在中断服务程序中主要完成了读取计数值、计算频率值及显示打印功能。它的程序流程图如图7所示,在此不再列出具体代码列。
图5 PC104总线接口逻辑
图6 PC104总线接口逻辑仿真结果
图7 PC104应用程序流程图
4 实验结果
实验采用的方法是将板载的20 MHz的晶振在CPLD内部分别进行2分频和20分频,得到10 MHz和1 MHz的信号,然后再将这两个频率信号分别进行2,4,6,8分频,得到共9个被测信号,闸门时间为1 s,测试结果如表1所示。
表1 测试结果
被测频率值实测值误差
1 MHz1.000 000 MHz0
5 MHz5.000 000 MHz0
2.5 MHz2.500 000 MHz0
1.25 MHz1.250 000 MHz0
0.625 MHz0.625 000 MHz0
500 kHz500.000 000 kHz0
250 kHz250.000 000 kHz0
125 kHz125.000 000 kHz0
62.5 kHz62.498 295 kHz2.7×10-5
由测试结果可以看出,模件的测频精度较高,完全能够满足一般性测试系统的需要。
5 结 语
采用多周期同步测频技术设计并实现了基于PC104总线和CPLD的测频模件。给出硬件设计原理图和数字频率计的VHDL程序源代码,PC104总线的接口逻辑电路,最后得出仿真结果,编制了PC104总线应用程序。实际应用表明,该模件精度高,稳定性好,能够很好地完成对频率量测试的任务。
参考文献
[1]黄家彬,訾向勇,刘爱兰.基于PC104的脉冲信号的产生及测量方法[J].国外电子测量技术,2004(6):23-25.
[2]魏钟记,刘峰,汪铭东.数字测频方法及实现[J].电子测量技术,2006(4):28-29.
[3]王宏利,程旭德,徐兵,等.基于AT89C51的智能测频仪设计[J].计算机测量与控制,2007,15(3):410-412.
[4]章军,张平,于刚.多周期同步测频测量精度的提高[J].电测与仪表,2003(6):16-17.
[5]柳义利,周渭,刘海霞.一种高速连续频率测量方法[J].2000(1):32-33.
[6]董婧,陈昊.基于嵌入式微处理器和FPGA的高精度测频设计[J].现代电子技术,2007,30(20):160-162.
[7]刑建平,曾繁泰.VHDL程序设计教程[M].北京:清华大学出版社,2005.
[8]雷伏容.VHDL电路设计[M].北京:清华大学出版社,2006.
[9]张亦华,延明.数字电路EDA入门――VHDL程序实例集[M].北京:北京邮电大学出版社,2003.
[10]侯伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计[M].西安:西安电子科技大学出版社,1999.
在测量技术中,使用比较广泛的是对宽频率范围的时间和宽的频率测量技术。而数字式的频率和时间的测量技术具有精度高,读数方便等优点,因而成为当前普遍使用的时间和频率的测量方式。虽然构成测量频率的仪器使用直接计数的方法构成是最简单的,但是直接计数方法的测量精度并不高,而且随着被测信号频率的变化测量精度也会变化,而多周期同步测量的方法虽然没有在实质上达到提高测量精度的目的,但是对高低频信号能实现相同的测量分辨率[1]。这种测频方法在实现高精度频率测量的同时大大减少了对硬件的需求,从而对电路的体积也实现了小型化。
2.基本原理
使用多周期同步法测频技术,可以提高测量精度,并且可以实现整个测量频段内的等精度测量,其原理就是多周期同步法测频技术的闸门时间随着被测信号周期的变化而变化,实现了与被测信号周期的同步,从而消除了对被测信号计数产生的误差[2]。
如图1,一开始,闸门电路等待时基闸门电路发出的开启信号,计数器检测到被测信号的上升沿后才开始计数[3]。接着,计数器A对被测信号计数,计数器B对时基脉冲技术。而当闸门关闭等到时基闸门电路给出的信号后,两组计数器一直等到被测信号上升沿到来的时刻才真正结束计数,从而完成一次测量过程。可以看出时基闸门与设定的闸门并不是严格相等,但最大差值不会超过被测信号的一个周期,被测信号的计数值是准确的不存在±1误差。
被测信号频率的计算方法如下:
设被测信号的计数值为N,对时基信号的计数值为N0,时基信号的频率为,闸门时间为,则被测信号的频率为:
计数器的开闭与被测信号是完全同步的,即在实际闸门中包含整数个被测信号的完整周期,因而不存在对被测信号计数的±1误差,由上式微分可得:
得到测量分辨率为:
由上式可以看出,测量分辨率与被测信号频率的大小无关,仅与实际闸门时间及时基频率有关,即实现了被测频带内的等精度测量。闸门时间越长,时基频率越高,分辨率越高。
3.软件各模块设计与仿真
3.1 时基闸门模块
时基闸门模块的主要功能是为两个计数器提供清零信号和时基闸门信号,同时为计数器A提供结果输出的控制信号。由于整个系统的标准频率信号为50MHz,量程为5Hz—200MHz,为了尽量提高测量精度,采用的闸门时间为1s。具体实现方法为将标准信号计数分频计数产生2Hz左右的信号,将该信号的高电平作为闸门时间,在信号的低电平的时刻,根据计数器的计数值,先后分别产生数据输出信号和清零信号。图2是该模块的仿真结果。
3.2 计数模块
具体的实现方式为,首先由时基闸门电路给出闸门开启信号,此时,计数器A和B并不开始计数,而是等到被测信号的上升沿到来时,计数器A才真正开始计数,与此同时计数器A输出另一个闸门开启信号,计数器B接到A的闸门信号后开始计数。然后,两组计数器分别对被测信号和时基脉冲计数。当时基闸门电路给出闸门关闭信号后,计数器A和B并不立即停止计数,而是等到被测信号上升沿到来的时刻计数器A才真正结束计数,与此同时计数器A输出一个闸门关闭信号,计数器B收到该信号后停止计数,完成一次测量过程。可以看出,实际闸门与设定的闸门并不严格相等,但最大差值不超过被测信号的一个周期,被测信号的计数值是准确的不存在±1误差。
3.3 运算处理单元
运算处理单元是整个系统最复杂的部分,也是整个系统消耗资源最多的部分。整个运算处理单元要完成两个计数结果的运算处理,同时将处理得到的二进制结果转换成二进制的BCD码。本设计中乘法器的设计直接采用综合工具元件库内的乘法器,用booth编码和WALLACE TREE的结构实现。倒数单元采用除法器实现,考虑到是无符号的除法,本设计中采用的是基本的存储式除法器。BCD码的转换主要采用除法器和加法器实现,由于本设计要得到除法运算的商和余数。所以除法器的设计没有采用乘法器实现,而直接采用常系数除法器完成除10运算。图3是该模块的方框图。
4.实验结果
实验测试数据如表1所示。
`5.结束语
本文所采用的等精度频率测量原理,由被测信号来启动计数器的时基闸门,实现了被测信号的无误差计数。实验表明,该频率计基本达到了预期的设计指标。克服了传统的直接测频法和测周法的缺点,能在频率范围变化较大时,都有比较高的测量精度。
参考文献
[1]林建英,宋野.高精度数字频率计的FPGA设计实现[J].电测与仪表,2001,38(432):5—7.
[2]周欣.高精度恒误差数字频率计设计[J].南京气象学院学报,2000,23(3):435—439.