STM32/STM8技术william hill官网
直播中

马昆秀

7年用户 171经验值
私信 关注
[问答]

做STM32测量频率,用定时器捕获测量100K-130K误差278HZ,用两...

STM32测量频率,用定时器捕获测量100K-130K误差278HZ,用两个定时器一个计数另一个定时测量出来数据不稳定,只能精确到百位,比如测量100184测量出来是100100HZ或者100200HZ,大家说测量100K-130K频率用哪种方法比较精确,谢谢

回帖(9)

董薇

2018-10-4 15:30:41
没那么差啊。。。
举报

李德鹏

2018-10-4 15:43:08
你用的定时器捕获的频率是多少
举报

李德鹏

2018-10-4 15:52:05
捕获的频率频率越高,捕捉到的数据越精准,建议你将捕捉频率设置比你的要测量的频率高一点点再试试看
举报

马昆秀

2018-10-4 16:01:23
引用: szzjfyp 发表于 2018-10-4 15:52
捕获的频率频率越高,捕捉到的数据越精准,建议你将捕捉频率设置比你的要测量的频率高一点点再试试看

不是吧,我实际得到的捕获方式测量频率频率越低越准确,现在改用外部计数方式测量了
举报

朱梁贡

2018-10-4 16:13:45
这个应该是你硬件或者软件的问题了。
举报

李德鹏

2018-10-4 16:33:24
引用: xooooox 发表于 2018-10-4 16:01
不是吧,我实际得到的捕获方式测量频率频率越低越准确,现在改用外部计数方式测量了

频率越低,你的每次计数值所代表的时间就越大,我前两天还用103的捕捉输入做了红外解码呢,捕捉的很准跟用数字分析仪抓的波形误差只有0.1~0.2us
举报

徐昕

2018-10-4 16:38:29
假设CLK是50M
捕获的值是整数,姑且论误差为1(不可能测出4.4,7.9...)
let x为捕获的值(x个clk)
最大误差err=50M/(x) - 50M/(x+1)
=50M * 1 / ( x * (x+1) )  
x越小 误差 越大。
频率100k时 x约=500
最大误差err约=50M/(x*x)=200
与“实际”相符合。
--------------------------
在设N为倍频数
最大误差err约=(50M*N) /((N*x)*(N*x))
正比于1/N
可见频率越高,误差越小。
举报

马昆秀

2018-10-4 16:54:01
差不多,捕获100K误差278HZ
举报

路径

2019-4-20 19:02:36
你好  能参考一下程序吗 最近在做毕设  谢谢  
举报

更多回帖

发帖
×
20
完善资料,
赚取积分