STM32实现等精度测频

本文介绍了一种消除对被测信号计数±1误差的等精度测频方法,通过STM32的TIM功能实现。利用两个定时器,一个产生固定闸门时间,另一个捕获被测信号和标准信号计数。详细阐述了STM32CubeMX的TIM配置及中断回调函数的编写,提供了一种精确测量频率的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一章介绍了利用STM32的TIM的捕获功能实现频率测量的方法,但测量误差受被测信号频率的影响,不适合测量频率变化较大的 。本章将介绍等精度测频的方法以及STM32的实现。

  •     STM32硬件电路板及仿真器(以STM32F072C8单片机为例)

  •     Keil v5以上版本(MDK-ARM)

基本原理

首先看一张图:

8ffafe684018e513140a4dd9c59480fa.png

传统的测频方式,闸门放时间是固定的,闸门时间内被测信号的计数个数Nx不一定是整数个,因此会有一定的误差,且误差与被测信号频率有关。而等精度测频的方法,闸门时间不是固定的,而是被测信号的整数倍。 因此消除了对被测信号计数的±1误差,其误差只与标准信号的计数个数Ns的±1误差有关。可以看出,闸门时间越长,标准频率Fs越大,Ns的计数值越大,±1误差的影响就小。在相同的闸门时间内,被测信号的频率Fx=Nx*Fs/Ns。

STM3

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值