基于单片机和fpga的频率计

基于单片机和fpga的频率计

ID:874502

大小:169.53 KB

页数:21页

时间:2017-09-22

基于单片机和fpga的频率计_第1页
基于单片机和fpga的频率计_第2页
基于单片机和fpga的频率计_第3页
基于单片机和fpga的频率计_第4页
基于单片机和fpga的频率计_第5页
资源描述:

《基于单片机和fpga的频率计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、1.设计原理描述考虑到只基于单片机的频率测量计设计主要是以单片机为基础,原理简单,但由于自身精度问题,测量的范围小。而基于FPGA和单片机结合的频率测量设计主要是以单片机作为系统的主控部件,FPGA完成对时序逻辑控制、计数功能,能较好的利用了FPGA的高精度、高速等方面的优势。所以,本次智能仪器的大作业我采用的是单片机作为系统的主控部件,实现整个电路的测试信号控制、数据运算和控制数码管的显示输出等。一块复杂的现场可编程门阵列芯片完成各种时序逻辑控制、计数功能。FPGA单片机放大整形数码管显示被测信号图1系统组成原理框图如图1所示。由一片FPGA完成各种测试功能,对标准

2、频率(采用系统内部时钟)和被测信号进行计数。单片机对整个测试系统进行控制,包括对FPGA测量过程的控制、测量结果资料的处理、键控制信号的读入与处理,最后将测量结果送LED显示。被测信号整形部分主要对被测信号限幅、放大再经过整形后送入FPGA。FPGA的标准测试频率为40MHz。单片机由外接12MHz标准晶振提供时钟电路。其核心部分为单片机和可编程芯片FPGA。所有信号包括基准频率信号、被测信号以及自校输入信号均可在430单片机的控制下送入FPGA芯片中,单片机将每次测试结果读入内存RAM中,经运算处理后,送入12864显示电路显示。用单片机软件查询键盘控制命令情况,实

3、现开始功能、预置门时间控制功能等。4.硬件的单元模块设计4.1信号整形电路为了提高共模抑制比和输入信号的范围,由AD620构成前置放大电路。放大后的信号经过耦合电容去掉直流,再由LM311组成的过零比较电路整形为方波,施密特触发器74HC14去抖后送入FPGA测量频率。电路如图图4-1被测信号整形电路4.2单片机主控模块单片机测频控制电路如图4-2所示,由单片机完成整个测量电路的测试控制、数据处理和显示输出,FPGA完成各种测试功能。(1)由于FPGA在对频率进行计数时,采用两组32位二进制计数器,8位数据总线的单片机分八次将64位元数据全部读出。利用89C51的P0

4、口读计数器输出标准频率信号和被测信号的值。被读出的八组8位数据通过89C51的SS0,SS1,SS2地址编码选择,由P2口输出控制。(2)CLR:系统全清零功能。(3)GATE:为预置门闸,门宽可通过键盘由单片机控制,GATE=1时预置门打开;GATE=0时,预置门关闭。(4)START:测频计数结束状态信号,START由“1”变为“0”时计数结束。(5)SS2,SS1,SS0:计数字读出选通控制。若令SS=[SS2,SS1,SS0],则当SS=0,1,2,3时可从P0口由低8位至高8位分别读出标准信号的四个8位计数值。当SS=4,5,6,7时同样可从P0口由低8位至

5、高8位分别读出被测信号的四个8位计数值。(6)FS:为标准频率信号输入,此频率来源于FPGA内部的40MHz的振荡晶体。(7)FX:为被测信号输入,此信号是经过限幅放大整形电路后的信号。图4-2单片机测频控制电路4.3测频模块的工作原理及设计4.3.1等精度测频法等精度测频的方法是:采用频率准确的高频信号作为标准频率信号,保证测量的闸门时间为被测信号的整数倍,并在闸门时间内同时对标准信号脉冲和被测信号脉冲进行计数,实现整个频率测量范围内的测量精度相等,当标准信号很高,闸门时间足够长时,可实现高精度的频率测量。等精度测频原理示意图如图3-3所示图3-3中的门控信号是可预

6、置的宽度为Tpr的脉冲。COUNT1和COUNT2是两个可控计数器。标准频率信号从COUNT1的时钟输入端CLK输入,其频率为Fs;经整形后的被测信号从COUNT2的时钟输入端CLK输入,设其实际频率为Fxe,测量频率为Fx。当门控信号为高电平时,被测信号的上沿通过D触发器的Q端同时启动计数器COUNT1和COUNT2。对被测信号Fx和标准频率信号Fs同时计数。当门控信号为低电平时,随后而至的被测信号的上沿将使这两个计数器同时关闭。设在一次门控时间Tpr中对被测信号计数值为Nx。对标准频率信号的计数值为Ns。则:Fx/Nx=Fs/Ns(标准频率和被测频率的门宽时间Tp

7、r完全相同)就可以得到被测信号的频率值为:Fx=(Fs/Ns)*Nx图3-3等精度测频原理示意图误差分析如下:在一次测量中,由于Fx计数的起停时间都是由该信号的上升沿触发的,在Tpr时间内对Fx的计数Nx无误差;在此时间内Fs的计数Ns最多相差一个脉冲,即

8、△et

9、≤1,则下式成立:Fx/Nx=Fs/NsFxe/Nx=Fs/(Ns+△et)所以有:Fx=(Fs/Ns)*NxFxe=[Fs/(Ns+△et)]*Nx根据相对误差公式有:△Fxe/Fxe=lFxe-Fxl/Fxe代入整理得:△Fxe/Fxe=I△et

10、/Ns又因为:

11、△et

12、≤1所以:

13、△

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

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

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