你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

检测基于STM32 信号频率的经验分享

[复制链接]
攻城狮Melo 发布时间:2023-3-29 18:22
目标/ L+ B+ Y, N% \8 }
信号:500kHz±50Hz方波信号,占空比50%,低电平:0V,高电平:3.3V" E4 ^* M, Q' ~: K0 k, k9 _' J
检测:信号的频率,采样率100Hz,记录频率值! l) b/ v; Z3 k  w
9 D9 }5 D9 o; m4 c5 U, e2 b# K* w
分析5 g1 e. b3 ~3 v) [* n! S
信号周期2μm,高电平、低电平各持续1μm;
( P% m# p2 l8 b$ ~5 s* }3 m2 ~3 P采样频率100Hz,即每10ms记录一次频率值,计数范围:5000±50(4950~5050);
" [8 k% T. l& @9 r8 G使用STM32F103单片机,外部晶振8MHz,内部时钟倍频最高到72MHz:/ F2 [) r' T# p' z7 G% z( V& P
# g* E% v5 @& r6 f3 k# V; ~
外部中断:每次一个上升沿/下降沿进入一次中断记录脉冲次数。低频(<10KHz)时可以使用,缺点是频繁进入中断,占用大量时间,不能用于测量高频  Q0 x0 a, S/ |5 m
PWM输入模式:直接使用STM32硬件PWM输入模式来采集频率1 U+ B% O: Z- Y, R  P5 d
输入捕获模式:上升沿触发,记录开始时间,下一次上升沿时记录第二次时间,两个时间差就是一个周期。<100KHz时效果很好,速度再快反复进出中断会导致检测精度下降
1 ]; ?, k% H% ]2 v1 |# |9 w& M外部时钟计数器:使用两个时钟,一个时钟用于精准及时采用,一个时钟用于计数,检测固定时间内的脉冲个数。比如一个时钟精准定时10ms,另一个时钟用于记录10ms内脉冲的个数cnt,那么频率f=cnt/10ms。此方法要使用两个单独的定时器,可以检测2MHz的信号。

4 U: r/ {. n/ p6 f* k0 {. z测频法原理. ]. ?2 B8 e( ]8 L' F
测频法的思路如下图所示,在一固定时间Tc1内,对被测信号脉冲进行计数得到N1。如果标准信号的频率为fc,那么被测信号的频率fx = N1*fc7 D  ^; x7 m  |1 p/ {1 v) e

9 Y, v+ @; [6 r3 t4 d
20210528223153205.png   _# v: y8 q, B% e7 A7 x5 `. `, m
6 U* ^% e7 @1 c
————————————————
5 @0 Y* X$ G0 y2 w; `. F版权声明:BobBobBao
) `4 E) m! ^6 J$ o* t  h如有侵权请联系删除

4 F  }, y& u: J3 V" R) U) e% |1 Q0 S% P' M4 T$ ^% D
9 @* t8 V( k) d* F4 r: ]- I2 p
2 Z) ~$ `' m) j" E; B' ]( }
赞 收藏 评论0 发布时间:2023-3-29 18:22

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版