《基于FPGA的数字频率计的设计.doc》由会员分享,可在线阅读,更多相关《基于FPGA的数字频率计的设计.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于FPGA的数字频率计的设计2004级电子信息工程专业 何亚军 指导教师 曾技摘要 随着数字电子技术的发展,频率测量成为一项越来越普遍的工作,在电子工程、资源勘探等相关应用上,频率计是工程技术人员必不可少的测量工具。因此,测频原理及方法的研究正受到越来越多的关注。目前许多高精度的数字频率计都采用单片机加上外部的高速计数器来实现。但难以提高计数器的工作频率,而且测量的精度不高。因此采用可编程逻辑器件(FPGA)来实现数字频率计。应用VHDL进行自顶向下的设计,即使用VHDL模型在所有综合级别上对硬件设计进行说明、建模和仿真测试。通过逻辑综合后,把适配生成的配置文件,通过编程器向FPGACPLD
2、进行下载。最后进行硬件调试与验证。本设计的系统除了脉冲整形、显示部分的电路不在可编程电路之中,其余的电路都集成在可编程逻辑器件中。本设计具有测频范围宽、精度高、可靠性高等优点。符合现代EDA设计的要求。 关键词 频率,可编程逻辑器件,电子设计自动化,硬件描述语言1 绪论在电子技术领域内,频率与电压一样,也是一个基本参数。随着现代科技的发展,时间及频率计量的意义已日益明显。例如,在卫星发射、导弹跟踪、飞机导航、潜艇定位、大地测量、天文观测、邮电通信、广播电视、交通运输、科学研究、生产及生活等各个方面,都需要对时间及频率的计量,也都离不开对时间及频率的计量。因此,测频原理及方法的研究正受到越来越多
3、的关注。目前多用电子计数器测频,它具有测量精度高、速度快、自动化程度高、操作简便、直接显示数字等特点,尤其是与微处理器相结合,实现了程控化和智能化,构成智能化计数器。目前,电子计数器几乎取代了模拟式测量仪器。而电子计数器测频法又有两种实现方法:直接计数测频法和等精度测频法。直接计数测频法只是简单地记下单位时间内周期信号的重复次数,其计数值会有个计数误差。此方法的测量精度主要取决于基准时间和计数器的计数误差。等精度测频方法是在直接测频方法的基础上发展起来的。它的闸门时间不是固定的值,而是被测信号周期的整数倍,即与被测信号同步,因此,摒除了对被测信号计数所产生的个计数值的误差,并且达到了在整个测试
4、频段的等精度测量。本设计采用的是直接计数法来测量频率。2频率测量的原理和外围硬件电路的设计所谓频率,就是周期性信号在单位时间(1s)内变化的次数。若在一定时间间隔T内测得这个周期性信号的重复变化次数为N,则其频率可表示为。频率测量方法可分为模拟测量法与数字测量法两类。模拟测量法包括利用谐振特性进行测量和与已知标准频率信号比较形成的李萨育图形进行测量。模拟测频法测量系统复杂,使用不方便,精度也很难保证。数字测量方法的基本工作原理是:先对被测量信号进行整形变换,得到与其同频的脉冲串信号,对于频率较高的脉冲信号,通过在已知的闸门时间内对其进行计数计算出信号频率,称为测频法。对于频率较低的脉冲信号,则
5、在被测信号一个周期内对已知的标准频率信号进行计数,测出其周期值,进一步再换算为频率值,称为测周法。图1是数字频率计的组成框图。被测信号V经放大整形电路变成计数器所要求的脉冲信号I,其频率与被测信号的频率相同。时基电路提供标准时间基准信号II,其高电平持续时间T1=1s,当1s信号来到时,闸门开通,被测脉冲信号通过闸门,计数器开始计数,直到1s信号结束时闸门关闭,停止计数。若在闸门时间1s内计数器计得的脉冲个数为N,则被测信号频率=。逻辑控制电路的作用有两个:一是产生锁存脉冲IV,使其显示器上的数字稳定;二是产生清零脉冲V,使计数器每次测量从零开始计数。图1 数字频率计的组成框图本设计的系统除了
6、脉冲整形、显示部分的电路不在可编程电路之中,其余的电路都集成在可编程逻辑器件中。频率计硬件电路示意图如图2所示。 图2 频率计硬件电路示意图其中,放大整形电路由晶体管3DG100与74LS00等组成,其中3DG100组成放大器将输入频率为的周期信号如正弦波、三角波等进行放大。与非门74LS00构成施密特触发器,它对放大器的输出信号进行整形,使之成为矩形脉冲。放大整形电路如图3所示。一般来说,多个七段LED数码管的连接并不是把每个数码管都独立地也可编程逻辑电路连接,而是把所有的LED管的输入信号连在一起,如图4所示。这样做的好处有两点:其一是节约可编程逻辑器件的I/O口;其二是降低功耗。每次向L
7、ED写数据时,通过片选信号选通其中一个LED管,然后把数据写入该LED管。因此每个时刻只有一个LED是亮的。为了能持续看到LED上面的显示内容,必须对LED管进行扫描,即依次并循环地点亮各个LED管。利用人眼的视觉暂停效应,在一定的扫描的频率下,人眼就会看到好几个LED一起点亮。每个LED消耗的功率是比较大,如果所有的LED一起点亮,其功率很大。利用扫描的方法,那么每个时刻只有一个LED管是亮的,因此大大减少了功耗。扫描频率的大小必须合适才能达到很好的效果。如果扫描频率太小,则每个LED开启和关断的时间间隔就会大于人眼的视觉暂停时间,那么就会产生闪烁现象。而扫描频率太大会造成LED的频繁开启和
8、关断,大大增加LED的功耗(开启和关断的时刻功耗很大)。一般来说,扫描频率选在50HZ左右比较合适。显示管理电路如图4所示(扫描频率选在50HZ)。图3 放大整形电路示意图 图4 LED显示管理电路原理示意图3 数字频率计的软件设计从系统的设计要求出发来分析系统应该采用的方案。首先,无论是测频法还是测周期法都需要参考信号,测频法需要一个标准的脉宽,测周期法需要一个标准时钟。实际上测频法的标准脉宽必须从一个标准时钟分频得到。一般来说标准时钟都是从外部晶振分频得到。在本设计中采用频率为10的外部晶振。为了满足相对误差小于的要求,晶振的稳定度要小于,从而可以忽略标准时钟的误差,系统相对误差由计数误差
9、决定。其次,由误差公式可以得到,计数器的值必须大于方能达到相对误差小于的设计要求。故内部计数器的模必须大于,这里采用模为的7位BCD码计器。同时针对不同频段的被测信号,要选择不同的计数闸门宽度和计数器时钟,以保证计数值大于。不同的频段可以称为量程,需要的把全量程每隔10倍频划分为一个量程,共8个量程。表1中列出各个量程采用测频法和测周期法所需要的时钟和计数闸门。表中CLK表示10的外部晶振时钟,SIGN表示待测量信号,CLK/N表示时钟CLK的N倍分频信号,SIGN/N表示待测量SIGN的N倍分频信号。由表1可以看出测频法的低频测量需要很长的测量时间,而且闸门是CLK时钟的高次分频。因此测频法
10、不适合于在低频段测量.在这种情况下,可以有两种方法:其一是在全量程内用周期测量法,其二是在低频段用周期测量法,在高频段用频率测量法.在本设计中采用第一种方法。如何选择合适的量程以达到测量的精度呢?一种方法是做量程扫描,即先用某一种量程进行计数,如果得到的计数值太小或太大,则选择另一种量程重新进行计数,直到计数值满足给定的精度要求的。显然,由于采用量程扫描仪的方法寻找合适量程比较盲目,因此,它的缺点是花费的时间代价比较大。那么我们可以想出另一种较为“理智”的方法,即先对待测信号进行粗略测量,从而估计出量程,然后在某个量程内进行仔细的测量。本设计采用第二种方法。设计要求中测量结果可以用频度和周期两
11、种方式来表示,而上面选择的是周期测量方法。把测量结果转换为频率时,需要做除法运算。因此需要一个除法电路实现周期到频率的转换。至于脉冲信号的脉宽测量,其原理与周期测量是一样的。不同的是脉冲信号不具有重复性,故对脉冲信号进行量程估计是没有意义的。在对脉冲宽度进行测量时,其计数闸门就是脉冲信号本身,计数器的时钟就是晶振的时钟。因此脉冲宽度测量时相对精度是不确定的,而其绝对精度则小于一个晶振的时钟周期。测量结果需要用七段数码管来显示。因此需要一个LED管理电路来负责结果的显示。表1 测频法和测周法的时钟和计数闸门 测周期法 测频率法频段(Hz)计数时钟闸门宽度总计数时间(s)计数时钟闸门宽度总计数时间
12、(s)0.1-1Clk/10Sign1-10signClk/1-10ClkSign0.1-1signClk/10-ClkSign/100.1-1signClk/ClkSign/0.1-1signClk/ClkSign/0.1-1signClk/ClkSign/0.1-1signClk/ClkSign/0.1-1signClk/10ClkSign/0.1-1signClk/1根据设计要求得到系统结构如图5所示。其中CLK为晶振时钟,SIGN为待测信号,MODE为测量模式。MODE值为“00”时表示是周期信号的周期测量, MODE值为“01”时表示是周期信号的频率测量, MODE值为“10”时表示
13、是脉冲信号的脉冲宽度测量。系统包含以下模块:量程估计、计数时钟和闸门产生、周期测量计数器,除法器、小数点产生、多路选通器、显示模块。图5 数字频率计系统结构量程测量模块通过一个计数器对信号的量程进行估计,得到的结果是信号的量程信息即信号CLASS。将该信号输入到计数时钟和闸门产生模块,该模块将根据表4.1产生周期测量的计数器时钟和计数器闸门。除法器则把周期信号转换为频率信号。小数点产生模块,根据量程和测量模式给出是否点亮LED管的小数点的控制信号。多路选通器根据测量模式MODE1.0,选择显示时间还是频率。显示模块负责数据的显示。4 程序仿真与硬件系统调试在编程下载前必须利用EDA工具对适配生
14、成的结果进行模拟测试,就是所谓的仿真。仿真就是让计算机根据一定的算法和一定的仿真库对EDA设计进行模拟,以验证设计,排除错误。是利用计算机对整个硬件系统进行模拟检测,但却可以不接触具体的硬件系统。仿真是在EDA设计过程中的重要步骤。图6 频率计测频时序仿真 (局部波形)注:tclk=10us bclk=500ns由图7.6可以看出,当SPUL=1时,系统进行频率测量。这时,CLR一个正脉冲后,系统被初始化。然后CL被置高电平,但这时时两个计数器并未开始计数(START=0),直到此后被测信号TCLK出现一个上升沿,START=1时,两个计数器同时启动,分别对被测信号和标准信号开始计数,其中a和
15、b分别为标准频率计数器和被测频率计数器的计数值。由图可见,在CL变为低电平后,计数仍未停止,直到TCLK出现一个上升沿为止。这时START=0。仿真波形中TCLK和BCLK的周期分别设置为10us和500ns。由图可见,计数结果是,对TCLK的计数值是4,对BCLK的计数值是50H。通过公式可得待测信号的频率。由此可以看出,结果完全正确。图7频率计测脉宽(高电平脉冲)时序仿真(局部波形)在图7中,取SPUL=0时,系统被允许进行脉宽测试。图中仿真波形的TCLK和BCLK的周期分别设置为75us和500ns。当CL=1时表示测信号高电平的脉宽;CL=0时表示测信号低电平的脉宽。CLR=1时作系统
16、初始化;当CLR由1变为0后启动电路系统的标准信号计数器a准备对标准频率进行计数。而允许的条件是此后出的第一脉宽。由图可见当CL=1时,TCLK的高电平脉冲到来时,即启动了a进行计数,而在TCLK的低电平到来时停上计数,状态信号EEND则由低电平变成了高电平。计数值可通过A读出。这里为4BH。由此可以算出,TCLK的高电平脉宽等于4BH乘以BCLK的周期。即75*500ns=37500ns=37.5us,由图可见,结果完全正确。同理,改变CL为0,又能测出TCLK的低电平脉宽,这里为了方便对比,对TCLK和BCLK设置相同的周期。由图7可见,结果完全正确。为了能对此频率计进行硬件测试,应将其输
17、入输出信号锁定在芯片确定的引脚上,编译后下载。当硬件测试完成后,还必须对配置芯片进行编程,完成FPGA的最终开发。根据实验室的现有条件,在此选择GW48-EDA系统的电路模式NO.5,通过查阅有关芯片引脚对照表,确定引脚分别为: TCLK接Clock0(第12393脚,可接在2、4Hz上等,或是拔下短路帽输入其它待测信号);BCLK接系统的clock9(接50MHz);信号CLR、CL、SPUL分别由键7、8、4控制。START和EEND分别由发光管7和8显示;8位输出数据DATA7、DATA6DATA0分别由数码管2和1显示,由高位到底位分别锁定在FPGA上;DATA7.0读取选择信号SEL
18、2、SEL1、SEL0分别由键3、2、1控制。确定了锁定引脚编号后就可以完成引脚锁定操作了,最后存储引脚锁定的信息后,经过再编译,将准备编译好的SOF文件下载到实验系统的FPGA(Cyclone 系列EP1C3T144C8)中去。 利用GW48系统的各种标准频率,测试用户板的功能。5 结 论本文介绍了基于可编程逻辑器件(FPGA)在QuartusII仿真环境下的数字频率计的设计与实现过程。本设计的核心为可编程逻辑器件(FPGA)的设计。一般来说,完整的FPGA设计流程包括电路设计与输入,功能仿真,综合,综合后仿真,实现,布线后仿真与验证,板级仿真验证与调试等主要步骤。我根据实际情况,首先对整个
19、系统进行综合分析,画出系统的整体框图。再进行模块划分。然后通过VHDL语言对每一个模块进行行为级描述,使其完成相应的逻辑功能。接着使用QuartusII软件分别对各个模块及整个系统进行综合、适配。完成相应的功能仿真与时序仿真。最后把配置文件通过编程器向FPGA进行下载,利用EDA实验箱进行硬件测试。在利用HDL语言设计系统硬件时,由自上至下的设计过程可知,从总体行为设计开始到最终逻辑综合,形成网络表为止,每一步都要进行仿真检查,这样有利于尽早发现系统设计中存在的问题,从而可以大大缩短系统硬件的设计周期。这是用HDL语言设计系统硬件的最突出的优点之一,而且降低了硬件电路设计难度。本设计的数字频率
20、计,具有测量范围宽,精度高,功耗小,免受高频信号的干扰,成本较低,研发周期短等优点。因此符合现代EDA技术的发展趋势。经测试,该系统基本达到设计要求。参考文献1黄智伟.FPGA系统设计与实践.北京:电子工业出版社,2005年第一版2求是科技.CPLD/FPGA应用开发技术与工程实践.北京:人民邮电出版社,2005年第一版3李洪伟,袁斯华.基于QuartusII的FPGA/CPLD设计.北京:电子工业出版社,2006年第一版4谭会生,瞿遂春.EDA技术综合应用实例与分析.西安:西安电子科技大学出版社,2004年第一版5Wayne Wolf.FPGA-Based System Design.Bei
21、jing:ChinaMachine Ppess,2006.6Altera Corporation.Altera Digital Library. ALtera,20027Xilinx Inc.Data Book2001.Xilinx,20018TMS320C54x Assembly Language Tools Users Guide.Texas Instruments,20029康华光.电子技术基础(数字部分).北京:高等教育出版社,2004年第四版10侯伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计.西安:西安电子科技大学出版社,2006年修订版11潘松,黄继业,王国栋.现代DSP技术
22、. 西安:西安电子科技大学出版社,2004年第一版12 潘松,黄继业.EDA技术与VHDL.北京:清华大学出版社,2005年第一版Based on FPGA digital frequency meter designHe yajun Instructor: Zengji Abstract As digital electronic technology development, measuring frequency became an increasingly common work. In electronic engineering, resource exploration, and
23、 other related applications, frequency meter is engineers and technicians essential measuring tool. Therefore, the principle of measuring frequency and methods of research have been getting more and more attention.Currently many high-precision digital frequency meter use signal-chip with high-speed
24、counter to achieve frequency measurement. But it is difficult to counter the higher frequency and precision of measurement is not high. So we can use a programmable logic device (FPGA) to achieve it. VHDL applications for top-down design, the use of VHDL model that is integrated in all levels of har
25、dware design that modeling and simulation testing. Through logic synthesis, to fit the profile generated by the programmer to the FPGA. At last, hardware debugging and verification. The design of the system in addition to pulse shaping and display that part of the circuit is not in then programmable circuit, all the rest of the integrated circuit is in programmable logic devices. The design of measuring frequency have the wide range, high precision, high reliability and so on. Therefore,fitting modern EDA design requirements.Keywords Frequency ;FPGA ;EDA;VHDL