STM32定时器输入捕获模式中分割系数Clock division以及滤波器采样频率的见解

本文探讨了STM32定时器输入捕获模式中的Clock_division(时钟分割系数)概念,解释了它并不直接对定时器时钟频率分频,而是影响数字滤波器的采样频率。通过配置CKD和ETF寄存器位,可以调整滤波器采样频率fDTS与fCK_INT的关系,以及设置滤波器的采样频率fsampling,用于滤除特定频率的信号。举例说明了当CKD设为01时,fDTS变为fCK_INT的一半,而ETF设为0100时,采样频率为fDTS的一半,以此来滤除脉冲宽度小于0.334us的输入信号。

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

刚入门32一个多月,最近学到输入捕获模式,对定时器初始化函数结构体中的一个Clock_division结构体成员产生了疑惑

我对定时器时钟频率的理解还不是很深,本文只是记一下目前简单的理解。

首先这个colck_division时钟分割系数并不是对定时器的时钟频率进行分割。我们都知道输入捕获模式下有一个数字滤波器,这个数字滤波器可以通过配置寄存器改变他的采样频率,从而将一些频率滤除。

下面上一个寄存器相关位的图

通过配置CKD几位,定时器输入频率fCK_INT与滤波器使用的频率fDTS之间建立关系,而不是对fCK_INT进行分频。而ETF几位,会设置滤波器的采样频率fsampling与fDTS的比例系数之间的比例关系(实际上就是与定时器输入频率CK_INT之间有一定的比例)

后面的N是以fsampling这个采样频率 输入信号采样多少次,也就是说如果N=8,我们要捕获输入高电平,那么必须以fsampling在低电平后连续检测八次都为高电平,才认定为真的捕获到有效高电平。这个和防抖的原理差不多。

我这里引用从另外一个帖子看到的例子。比如定时器输入频率CK_INT为72MHz,当设置CKD[1:0]为01即

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值