FPGA学习等精度测频.doc

FPGA学习等精度测频.doc

ID:59255207

大小:48.50 KB

页数:5页

时间:2020-09-08

FPGA学习等精度测频.doc_第1页
FPGA学习等精度测频.doc_第2页
FPGA学习等精度测频.doc_第3页
FPGA学习等精度测频.doc_第4页
FPGA学习等精度测频.doc_第5页
资源描述:

《FPGA学习等精度测频.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、FPGA学习——等精度测频由于最近一直在与队员一起攻克题目,所以没时间写博客,现在把最近做的东西总结一下,希望对大家有帮助。以前一直是用测频率法来测信号的频率,就是在一秒内测被测频率的个数,即为频率,这种方法在高频时还行,低频就误差比较大,无论是用FPGA还是单片机都差不多,所以我们这次用了一种相对更精确的测量方法——等精度测频法,主导思想是利用一个D触发器保证测量时间是被测频率的整数倍,对被测频率和基准频率进行计数,利用计数值求出被测频率,这种方法在高频低频段均适用,由于测量误差只与基准频率和闸门时间有关,与被测频率无关,故称之为等精度测频。由于FPGA对数据处理有困难,所

2、以我们用FPGA计数,然后把数据传给单片机处理,显示数据。我们这次的测频范围为0.01HZ到50MHZ,精确到小数点后两位,测频误差在10的-5次方以下。我做的是FPGA的部分,先附上思路:等精度测频就是对基准频率和待测频率在一段时间内分别计数,通过一个D触发器确保计数时间是待测频率的整数倍,系统的误差只与门控时间和基准频率有关,与待测频率无关,达到等精度测频的目的。计数器是用两个32位二进制计数器,通过一个3—8选择器把64位变成8位,传给单片机,经单片机处理后恢复出两个计数值,计算出频率。RTL图附上程序,欢迎探讨分频模块——产生基准频率1MHZ方波LIBRARYIEEE

3、;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYFENPINISPORT(CLK:INSTD_LOGIC;CLOCK:OUTSTD_LOGIC);ENDENTITY;ARCHITECTUREARTOFFENPINISSIGNALCOUNT:INTEGERRANGE0TO10#49#;BEGINPROCESS(CLK)ISBEGINIF(CLK'EVENTANDCLK='1')THENIF(COUNT=10#49#)THENCOUNT<=0;ELSECOUNT<=COUNT+1;ENDIF;END

4、IF;ENDPROCESS;PROCESS(COUNT)ISBEGINIF(COUNT>=10#24#)THENCLOCK<='1';ELSECLOCK<='0';ENDIF;ENDPROCESS;ENDARCHITECTURE;D触发器模块——保证测量时间是被测频率整数倍LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYDCHUFAISPORT(CLK:INSTD_LOGIC;CLR:INSTD_LOGIC;D:INSTD_LOGIC;Q:OUTSTD_LOGIC);END

5、ENTITY;ARCHITECTUREARTOFDCHUFAISSIGNALQ1:STD_LOGIC;BEGINPROCESS(CLR,CLK)BEGINIF(CLR='0')THENQ1<='0';ELSEIF(CLK'EVENTANDCLK='1')THENQ1<=D;ENDIF;ENDIF;ENDPROCESS;Q<=Q1;ENDARCHITECTURE;计数模块LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYJISHUISPORT(CLK:INSTD_LOGIC;C

6、LR,ENA:INSTD_LOGIC;OQ:OUTSTD_LOGIC_VECTOR(31DOWNTO0));ENDENTITY;ARCHITECTUREARTOFJISHUISSIGNALTMP:STD_LOGIC_VECTOR(31DOWNTO0);BEGINPROCESS(CLK,CLR,ENA)ISBEGINIF(CLR='0')THENTMP<="";ELSIF(ENA='1')THENIF(CLK'EVENTANDCLK='1')THENTMP<=TMP+1;ENDIF;ENDIF;ENDPROCESS;PROCESS(ENA)BEGINIFENA'EVENTAND

7、ENA='0'THENOQ<=TMP;ENDIF;ENDPROCESS;ENDARCHITECTURE;64转8模块——方便单片机读取数据LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYJISHUISPORT(CLK:INSTD_LOGIC;CLR,ENA:INSTD_LOGIC;OQ:OUTSTD_LOGIC_VECTOR(31DOWNTO0));ENDENTITY;ARCHITECTUREARTO

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

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

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