基于verilog语言的等精度频率计设计

基于verilog语言的等精度频率计设计

ID:5321707

大小:287.84 KB

页数:4页

时间:2017-12-08

基于verilog语言的等精度频率计设计_第1页
基于verilog语言的等精度频率计设计_第2页
基于verilog语言的等精度频率计设计_第3页
基于verilog语言的等精度频率计设计_第4页
资源描述:

《基于verilog语言的等精度频率计设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第33卷第9期电子工程师Vo.l33No.92007年9月ELECTRONICENGINEERSep.2007基于Verilog语言的等精度频率计设计赵亮,吴振宇(大连理工大学创新院,辽宁省大连市116023)摘要:介绍了等精度测量频率的原理,利用Verilog硬件描述语言设计实现了频率计内部功能模块,对传统的等精度测量方法进行了改进,增加了测量脉冲宽度的功能;采用AT89S51单片机进行数据运算处理,利用液晶显示器对测量的频率、周期、占空比进行实时显示,可读性好。充分发挥FPGA(现场可编程门阵列)的高速数据采集能力和单

2、片机的高效计算与控制能力,使两者有机地结合起来。在Quartus6.0EDA(电子设计自动化)开发平台上进行仿真、测试,并最终下载到FPGA芯片内部。系统测量精度高,实时性好,具有很好的应用前景。关键词:等精度;频率计;Verilog硬件描述语言;单片机中图分类号:TM935.1系统中,如果采用的标准信号源的精度很高,就可0引言以达到一个很高的测量精度,一般情况下都是采用晶传统测量频率的方法主要有直接测量法、分频测体作为标准信号源,因此可以达到很高的精度,满足一量法、测周法等,这些方法往往只适用于测量一段频般系统的要求。率,当被测信号的频率发生变化时,测量的精度就会下2FPGA模

3、块设计降。本文提出一种基于等精度原理的测量频率的方法,在整个频率测量过程中都能达到相同的测量精度,本系统在传统的等精度测量原理基础上进行了改而与被测信号的频率变化无关。本文利用FPGA(现进和优化。增加了测量占空比的功能,同时由FPGA场可编程门阵列)的高速数据处理能力,实现对被测内部产生清零信号,节省了资源。改进后的FPGA核信号的测量计数;利用单片机的运算和控制能力,实现心模块如图2所示。FPGA部分主要由门控信号产生对频率、周期、脉冲宽度的计算及显示。模块、计数器控制模块、计数器模块、锁存器、中断输出、数据选择输出、顶层模块组成。1等精度测量原理等精度测量的一个最大特点是测量的实

4、际门控时间不是一个固定值,而是一个与被测信号有关的值,刚好是被测信号的整数倍。在计数允许时间内,同时对标准信号和被测信号进行计数,再通过数学公式推导得到被测信号的频率。由于门控信号是被测信号的整数倍,就消除了对被测信号产生的1误差,但是会产生对标准信号1的误差。如图1所示。图2等精度测量核心结构1)门控信号为了测量频率为1Hz的信号,要求系统的开门时间不小于1s;同理,为了测量0.1Hz频率的信号,要求开门时间最短为10s。但是如果系统一直采用10s的门控信号,测量高频信号的等待时间太长,显然不合理,因为测量结果的显示必须要等到一个测量周期结图1等精度测量原理束之后才能更新。本系

5、统采用的方法是,由单片机给FPGA提供一个门控的选择信号,如果FPGA测得的频收稿日期:20070122;修回日期:20070321。率小于1Hz,那么单片机自动给出一个启动10s门控!14!第33卷第9期赵亮,等:基于Verilog语言的等精度频率计设计!测控技术!的控制信号;反之,如果发现测量的频率大于1Hz,自3)计数器模块动切换回1s门控,实现了一个闭环的自动控制,很好在设计计数器的过程中需要注意计数器的宽度设地解决了门控的时间问题。置,系统中采用的最大门控时间为10s,标准信号源的2)计数器控制模块频率为50MHz,则在计数的允许时间内计数的最大值29该模块是本文

6、的创新点所在,主要用来同步被测为:10∀50000000=500000000<2=536870912,信号。由前面的分析可知,门控信号启动(上升沿)为了方便数据传输,系统中采用了32位位宽的计数后,在被测信号的上升沿启动计数允许模块,允许计数器。器计数;门控信号关闭(下降沿)后,在被测信号的下4)锁存器模块一个上升沿关闭计数允许模块,停止计数,从而保证了在门控信号关闭的同时,停止计数,同时启动锁存门控信号是被测信号的整数倍,达到了等精度的目的。模块,把测量的数据锁存起来,以便传输。该模块有GATE、CLK_x这2个输入端;EN_h、EN_x、5)中断输出Load、CLR这4个输出端。GA

7、TE为上一级给出的门锁存数据的同时,给单片机一个低电平的中断信控信号;CLK_x为被测信号;EN_h,高电平期间对标准号,通知单片机读取数据。信号进行计数,得到CNT_h;EN_x为给出的允许计数6)数据选择输出模块信号,在EN_x的高电平期间,对被测信号、标准信号系统中采用了3个32位的计数器,由于单片机采同时计数,得到CNT_x、CNT_b;Load为锁存信号;CLR用的是51系列单片机,只有8位的数据总线,所以一为计数器清零信

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。