在STM32中实现频率测量,通常需要结合硬件电路和软件算法。以下是几种常用的方法及对应的电路设计要点:
一、硬件电路设计
-
信号调理电路
- 电压钳位:使用二极管(如1N4148)进行3.3V钳位,防止输入信号超过STM32 GPIO的耐压值(3.3V)。

- 分压电阻:若输入信号幅度较高(如5V或12V),使用电阻分压(如10kΩ + 20kΩ)将电压降至3.3V以内。
- 施密特触发器:通过运放(如LM393)或专用芯片(如74HC14)将正弦波/噪声信号转换为方波,提高边沿陡峭度。
- 电压钳位:使用二极管(如1N4148)进行3.3V钳位,防止输入信号超过STM32 GPIO的耐压值(3.3V)。
-
滤波电路
- RC低通滤波:在信号输入端串联电阻(如1kΩ)并并联电容(如100pF),滤除高频噪声。
-
保护电路
- ESD保护:在信号输入端并联TVS二极管(如SMAJ3.3A),防止静电损坏。
二、软件实现方法
1. 输入捕获法(适合中低频,1Hz~1MHz)
- 原理:利用定时器的输入捕获功能,测量信号周期。
- 硬件连接:
信号输入到支持输入捕获的定时器通道(如TIM2_CH1,对应PA0引脚)。 - 代码配置:
// 初始化TIM2为输入捕获模式 TIM_ICInitTypeDef ic; ic.TIM_Channel = TIM_Channel_1; ic.TIM_ICPolarity = TIM_ICPolarity_Rising; // 上升沿触发 ic.TIM_ICSelection = TIM_ICSelection_DirectTI; ic.TIM_ICPrescaler = TIM_ICPSC_DIV1; ic.TIM_ICFilter = 0x0; TIM_ICInit(TIM2, &ic); - 计算频率:
记录两次上升沿的时间差 ( T ),频率 ( f = 1/T )。
2. 外部中断+定时器法(适合低频,1Hz~100kHz)
- 原理:通过外部中断记录边沿次数,结合定时器计算单位时间内的脉冲数。
- 硬件连接:
信号输入到支持外部中断的引脚(如PA0-EXTI0)。 - 代码片段:
// 配置外部中断 EXTI_InitTypeDef exti; exti.EXTI_Line = EXTI_Line0; exti.EXTI_Mode = EXTI_Mode_Interrupt; exti.EXTI_Trigger = EXTI_Trigger_Rising; exti.EXTI_LineCmd = ENABLE; EXTI_Init(&exti);
3. 定时器外部时钟模式(适合高频,1MHz~50MHz)
- 原理:将外部信号作为定时器的时钟源,直接计数脉冲。
- 硬件连接:
信号输入到定时器的外部时钟输入引脚(如TIM2_ETR对应PA0)。 - 代码配置:
// 配置TIM2为外部时钟模式 TIM_ETRClockModeConfig(TIM2, TIM_ExtTRGPSC_OFF, TIM_ExtTRGPolarity_NonInverted, 0); TIM_SetCounter(TIM2, 0); TIM_Cmd(TIM2, ENABLE); - 计算频率:
在固定时间(如1秒)内读取计数器值,直接得到频率。
三、关键注意事项
- 信号幅度:确保输入信号不超过3.3V,必要时使用分压或运放调理。
- 抗干扰设计:高频信号建议使用屏蔽线,并靠近MCU引脚布局。
- 定时器频率限制:STM32定时器的最大输入频率通常为系统时钟的一半(如72MHz系统下为36MHz)。
- 软件滤波:在代码中增加滑动平均或中值滤波,提高稳定性。
四、参考电路图
信号输入 → [分压电阻] → [施密特触发器] → [RC滤波] → [钳位二极管] → STM32 GPIO
根据具体需求选择合适的方法,并优化硬件和软件设计以提高精度和抗干扰能力。
浅谈频率测量电路的硬件设计
近年来,随着电子信息产业的快速发展,频率信号测量在各个领域的应用越来越广泛。然而,以往由逻辑电路和时序电路设计的频率计一般测量的频率范围较小,运行速度较慢。基于单片机的频率测量电路的方法介绍了就是被
2022-12-01 15:26:57
频率测量电路中的硬件设计
来源:罗姆半导体社区 近年来,随着电子信息产业的快速发展,频率信号测量在各个领域的应用越来越广泛。然而,以往由逻辑电路和时序电路设计的频率计一般测量的频率范围较小,运行速度较慢。基于单片机的频率
2022-12-09 10:43:48
使用示波器测量共射极放大电路的频率响应
共射极放大电路作为电子电路中常用的放大结构,其频率响应是衡量其性能的重要指标之一。频率响应描述了电路在不同频率输入信号下的增益变化情况,通过测量和分析共射极放大电路的频率响应,可以深入了解电路的性能
2024-05-27 15:49:39
使用STM32输入捕获测量频率有何问题吗
使用STM32输入捕获测量频率问题使用芯片:STM32F030RCT6在使用输入捕获对外部信号脉冲进行计数的时候,当检测到输入脉冲时单片机会进入中断,此时不能在中断中做耗时的动作,如延时或打印计数
王伟01
2022-01-06 08:18:48
使用STM32进行脉冲频率测量
STM 32——TIM定时器频率测量1.定时器不同工作模式的配置在使用STM32进行脉冲频率测量时,免不了会碰上TIM定时器的配置问题,这里做一个简单介绍1.1计数器模式首先我们选择内部时钟
站着幻想
2021-08-12 06:26:33
如何用示波器测量谐振频率及电感
在电子工程领域中,谐振频率和电感是两个非常重要的参数。谐振频率决定了电路在特定频率下的响应特性,而电感则反映了电路中的电流与电压之间的相位关系。示波器作为一种重要的电子测量工具,能够直观地显示电信号
2024-05-27 15:45:39
用时钟频率精度测量电路进行时间校验
本篇文章我们将向您介绍RA微控制器系列中一个不太常见和不太容易理解的外设,即时钟频率精度测量电路(CAC)。时钟频率精度测量电路旨在使我们能够通过将RA微控制器上可用的许多内部和外部时钟源相互对比,检查它们的精度,并在比较结果出现意外偏差时指示出来。
2023-08-08 02:54:30
如何用STM32F407-Disc测量1 HZ pwm的占空比和频率默认
我想用 STM32F407-Disc 测量占空比和频率。我知道用输入捕获模式测量高频 PPWM。STM32F407 允许测量 1.5KHz 频率 pwm。但我想了解如何测量 1 HZ pwm 的占空比和频率。或更低的频率。
raylue
2022-12-21 06:03:46
实例讲解:几种STM32测量频率和占空比方式的利与弊
使用平台:官方STM32F429DISCOVERY开发板,180MHz的主频,定时器频率90MHz。相关题目:(1)测量脉冲信号频率f_O,频率范围为10Hz~2MHz,测量误差的绝对值不大于0.1
safaafd
2020-09-01 18:13:43
如何利用定时器测量信号的频率
硬件:STM32F103C8T6 平台: ARM-MDk V5.11 前面一篇文章讲过如何利用定时器测量信号的频率(见[STM32F10x] 利用定时器测量频率),使用的是定时器的捕获/比较单元(Capture/compare),它也可以测量输入信号的脉冲宽度
小句句63
2021-08-19 07:55:17
STM32捕获模式连续测量脉冲周期/频率
STM32捕获模式连续测量脉冲周期/频率,使用类似中断的方式,使用STM32内部的硬件滤波器,脉冲周期量程很大(固定时间脉冲计数的方式,量程有限)。硬件: STM32F103R8T6 TIM2
kmno4
2021-08-05 07:45:04
用STM32测量频率和占空比的几种方法
由于我们当时的题目除了测量频率之外,更麻烦的是测量占空比。而这两个的测量方法联系比较紧密,所以也一并把测量占空比的方法写出来。使用平台:官方STM32F429DISCOVERY开发板,180MHz
广州洋钒
2020-05-30 07:00:00
万用表测量频率的技巧
万用表通常用于测量电压、电流和电阻等电气参数,但大多数标准的万用表并不直接测量频率。不过,有一些高级的万用表或者特定的测试设备可以测量频率。如果你使用的是这类设备,以下是一些测量频率的技巧: 选择
2024-11-01 10:34:16
使用示波器如何测量频率
这两种方法都是示波器测量频率的常用方法,可以根据实际情况选择使用。同时,需要注意在测量过程中,确保示波器的设置和参数选择正确,以获得准确的测量结果。
2024-05-08 17:22:51
STM32的外部中断与定时器的配合来测量输入捕获频率
STM32外部中断模拟输入捕获频率由于功能添加且板子已经定型的原因,在原来没有定时器输入捕获的引脚上添加频率检测,便使用了STM32的外部中断与定时器的配合来做简单测量。一、步骤:1、初始化引脚
低调de炫耀爱
2021-08-16 09:10:26
STM32定时器的输入捕获模式测量脉冲宽度或者测量频率
概述在前面几章中简单的讲解了定时器用作定时和PWM输出时的基本原理和配置,在这一章中讲解定时器的另一种用法输入捕获是输入捕获输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32 的定时器,除了
njlbdz
2022-01-06 08:02:12
STM32检测信号频率目标信号
μm;1采样频率100Hz,即每10ms记录一次频率值,计数范围:5000±50,4950~5050参考:1. 用STM32定时器测量信号频率——测频法和测周法2. 使用 STM32 测量频率和占空比的几种方法[1]:
jfsdfa
2021-08-12 06:38:54
ADALM1000 SMU 阻抗测量/频率效应
的幅度和相位随频率变化的情况。 背景: 阻抗是对交流电流的阻力。与电路提供给特定频率的电流完全对立。阻抗(Z)表示为电阻(R)和电抗(X)的组合,并以欧姆(Ω)为单位测量。它可以表示为复量:...
2022-02-21 16:56:30
求教,测量采样针振动频率的思路
说说思路就好,电路越简单越好(我看别人测量电路的PCB板就一小块)。我要做液面测试,在空气中测量采样针的振动频率,在液体里再测一次振动频率,通过二者之差,检验采样针探入液体的深度是否合格。
断肠人在刷假牙
2019-07-30 14:40:14
介绍示波器频率响应、FFT功能以及探头衰减比对测量
介绍示波器频率响应、FFT功能以及探头衰减比对测量 示波器是一种测量电信号波形和信号参数的仪器。在工程领域,示波器广泛应用于电子电路设计、维修和故障排除,以及通信和信号处理等方面。其中,频率
2024-01-19 15:54:57
单片机设计测量频率相关资料分享
单片机设计测量频率一、电路设计单片机应用系统中,经常要对一个连续的脉冲波频率进行测量。在实际应用中,对于转速,位移、速度、流量等物理量的测量,一般也是由传感器转换成脉冲电信号,采用测量频率的手段实现
huzp_bbs
2021-11-09 06:52:10