stm32f4 adc 精度07 频率计精度怎么提高

君,已阅读到文档的结尾了呢~~
毕业设计(论文)-等精度..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
毕业设计(论文)-等精度频率计【毕业论文】
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口等精度频率计的实现-ST技术方案-意法半导体STM32/STM8技术社区
等精度频率计的实现
发布时间:
&&&&& 频率测量在电子设计和测量领域中经常用到,因此对频率测量方法的研究在实际工程应用中具有重要意义。常用的频率测量方法有两种:频率测量法和周期测量法。频率测量法是在时间t内对被测信号的脉冲数N进行计数,然后求出单位时间内的脉冲数,即为被测信号的频率。周期测量法是先测量出被测信号的周期T,然后根据频率f=1/T求出被测信号的频率。但是上述两种方法都会产生&1个被测脉冲的误差,在实际应用中有一定的局限性。根据测量原理,很容易发现频率测量法适合于高频信号测量,周期测量法适合于低频信号测量,但二者都不能兼顾高低频率同样精度的测量要求。
1 等精度测量原理
&&& 等精度测量的一个最大特点是测量的实际门控时间不是一个固定值,而是一个与被测信号有关的值,刚好是被测信号的整数倍。在计数允许时间内,同时对标准信号和被测信号进行计数,再通过数学公式推导得到被测信号的频率。由于门控信号是被测信号的整数倍,就消除了对被测信号产生的&l周期误差,但是会产生对标准信号&1周期的误差。等精度测量原理如图1所示。
&&& 从以上叙述的等精度的测量原理可以很容易得出如下结论:首先,被测信号频率fx的相对误差与被测信号的频率无关;其次,增大测量时间段&软件闸门&或提高&标频&f0,可以减小相对误差,提高测量精度;最后,由于一般提供标准频率f0的石英晶振稳定性很高,所以标准信号的相对误差很小,可忽略。假设标准信号的频率为100 MHz,只要实际闸门时间大于或等于1s,就可使测量的最大相对误差小于或等于10-8,即精度达到1/100 MHz。
2 等精度测频的实现
&&& 等精度测量的核心思想在于如何保证在实际测量门闸内被测信号为整数个周期,这就需要在设计中让实际测量门闸信号与被测信号建立一定的关系。基于这种思想,设计中以被测信号的上升沿作为开启门闸和关闭门闸的驱动信号,只有在被测信号的上升沿才将图1中预置的&软件闸门&的状态锁存,因此在&实际闸门&Tx内被测信号的个数就能保证整数个周期,这样就避免普通测量方法中被测信号的&1的误
差,但会产生高频的标准频率信号的&l周期误差,由于标准频率f0的频率远高于被测信号,因此它产生的&1周期误差对测量精度的影响十分有限,特别是在中低频测量的时候,相较于传统的频率测量和周期测量方法,可以大大提高测量精度。
等精度测频的原理图如图2所示。图中,预置软件闸门信号GATE是由FPGA的定时模块产生,GATE的时间宽度对测频精度的影响较少,故可以在较大的范围内选择。这里选择预置闸门信号的长度为1s。图中的CNT1和CNT2是2个可控的32位高速计数器,CNT1_ENA和CNT2_ENA分别是其计数使能端,基准频率信号f0从CNT1_CLK输入,待测信号fx从CNT2的时钟输入端CONT2_CLK输入,并将fx接到D触发器的clk端。测量时,由FPGA的定时模块产生预置的GATE信号,在GATE为高电平,并且fx的上升沿时,启动2个计数器,分别对被测信号和基准信号计数,关闭计数闸门必须满足,GATE为低电平,且在fx的上升沿。若在一次实际闸门时间Tx中,计数器对被测信号的计数值为Nx,对标准信号的计数值为N0,而标准信号的频率为f0,则被测信号的频率为fx,则fx=(N0/Ns)f0。图2中的所有功能都在FPGA端实现。&
&&& 图2所示的单元完成了等精度测频的核心部分,在实际应用中多数时候需要将测量的结果通过显示设备进行显示。从图2可以看出本设计由于设计了锁存单元,将计数结果和一些控制信号进行了锁存处理,便于与单片机或者其他的单片机(MCU)相连,因此在该FPGA实现的核心单元基础上连接MCU,容易实现计数值到实际频率值以及相应的周期值之间的转换,并通过MCU控制显示设备将最终需要显示的结果信息进行显示。FPGA器件与单片机硬件接口电路框图如图3所示。图3中的等精度频率测量模块和锁存模块都由Altera公司的FPGA器件EP1C3T100C6实现,等精度计数模块的输出结果为2个32 bit的数据,为了方便与单片机连接,该2个32 bit数据由在FPGA器件内部的锁存器分8次锁存输出,单片机每次读取8 bit,连续读取8次即可,读取的Nx和N0的计数值经过单片机按照等精度频率计算公式换算成实际频率值,最后通过DM12864进行显示。
3 测量结果的误差分析
&&& 采用高精度信号源输出不同频率的正弦波信号,经过信号调理电路,整形得到的方波信号提供给FPGA进行计数测量,将测量结果与高精度信号源输出的频率相比较,计算其误差,如表1所示。
&&& 表l给出了各种频率的测量结果和误差。结果显示,本设计在1Hz~20MHz全范围内的测量误差小于2&10-6。从图4可以看出测量结果的误差分布在同一个数量级附近,达到了等精度测量的目的。在实际测试中发现,如果提高系统晶振的频率或者提高晶振的精度级别,频率测量的误差还会进一步降低。
&&& 详细介绍了等精度测量的原理,并给出等精度测量的思想在FPGA上实现的方法。测试结果表明该等精度测量方案误差非常小,在测量范围内误差恒定。该设计方案对测量频率实现设计具有一定的借鉴。
Tel: 3-8056
备案号: 苏ICP备号-2查看: 775|回复: 8
STM32F407 频率计精度怎么提高啊?程序在附件……
主题帖子精华
新手上路, 积分 34, 距离下一级还需 16 积分
在线时间0 小时
现在主要问题就是,这个程序有什么不对的地方么???
超过1K的时候,精度就失真很大了……很大……
程序思路就是:
TIM2定时1S,TIM3的ETR(PD2)计数外部输入的脉冲。定时到的时候输出ETR的CNT ,就是外部输入方波的频率了。。。
这有错么?
总感觉程序的细节有问题……精度提不上去……
12:25 上传
点击文件名下载附件
36.54 KB, 下载次数: 67
主题帖子精华
中级会员, 积分 496, 距离下一级还需 4 积分
在线时间56 小时
测量频率范围是多少呢?
-低频率时应该采用测周期法
-高频率是应该采用测频率法
主题帖子精华
新手上路, 积分 34, 距离下一级还需 16 积分
在线时间0 小时
回复【2楼】登云钓月:
--------------------------------
频率范围初步是是1Hz到1MHz。。。
这两种方法能不能具体说一下呢/
额,我的程序属于哪一种,,,就是1S&内上升沿的个数……
在线等……
主题帖子精华
新手上路, 积分 21, 距离下一级还需 29 积分
在线时间0 小时
又一个电赛频率计~~~~~~
主题帖子精华
在线时间196 小时
可能是中断统计,定时器时间等没处理好吧
慢慢查了。
我的淘宝小店:
主题帖子精华
新手上路, 积分 34, 距离下一级还需 16 积分
在线时间0 小时
回复【5楼】正点原子:
---------------------------------
好的,多谢。。。
现在换成测周法了…测量芯片输出的PWM的时候特准,但测信号发生器输出的方波的时候就不太准了…
主题帖子精华
在线时间196 小时
回复【6楼】smher:
---------------------------------
看看信号发生器的方波,是不是最低0V,最高3.3V的。
我的淘宝小店:
主题帖子精华
新手上路, 积分 22, 距离下一级还需 28 积分
在线时间0 小时
拿F4 的标准时钟系统 是不可能做高精度的,能上0.1% 就不错了,想要提高就换高频晶振试试,
主题帖子精华
新手上路, 积分 29, 距离下一级还需 21 积分
在线时间11 小时
测比较高的频率,如1Mhz,定时器需要32位,这样才不会溢出,TIM2和TIM5有32位的计数器
Powered by用STM32触发捕捉实现高速高精度测频_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
用STM32触发捕捉实现高速高精度测频
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩2页未读,继续阅读
你可能喜欢}

我要回帖

更多关于 等精度频率计的设计 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信