TIM输入捕获知识部分
越往左,频率越高;越往右,频率越低。【越紧凑,相同时间,次数越多】
计算频率的方法:测评法、测周法、中界频率。
频率的定义:1s内出现了多少个重复的周期
测评法就是从频率的定义出发的,可以选取1s的闸门时间,然后看这1s内出现了几个上升沿/下降沿。
测周法的原理:周期的倒数就是频率。我们如果能测出周期的时间,再取一个倒数就是频率。
最右边就是这个方法的图示,测量时间的方法本质就是定时器计次。我们用一个标准频率来驱动定时器计次,从一个上升沿开始计,计数器从0开始,一直计到下一个上升沿,停止。记一个数的时间是1/fc,记N个数的时间是N/fc。N/fc就是周期,周期取倒数,就是频率。
测频法适合测量高频信号,测周法适合测量低频信号。
当待测频率小于中界频率时,测周法误差更小,反之,测频法误差更小。
对于测频法:对射式红外传感器,接在PB14上作为外部中断,然后再用一个定时器tim2产生一个1s的中断,在中断里,每间隔1s取一下计数值,同时清零,为下一次计数做准备。这样每次读取的计次值,就是对射式红外传感器的频率。
本节采用测周法。
异或门:有一个输入引脚出现电平翻转,输出引脚就产生一次电平翻转。这里设置异或门,是为了三相无刷电机服务的。
在STM32的定时器输入捕获功能中,TI1 是一个重要的硬件信号标识,代表 定时器输入通道1(Timer Input 1)。
f~DTS~(Dead-Time and Sampling clock) 作为 滤波器数字采样时钟 的输入,其核心作用是 控制输入信号的采样频率和滤波深度,从而实现对噪声的抑制。
TM32的输入捕获通道(如TI1、TI2)内置数字滤波器,通过 多次采样 消除信号抖动(如按键抖动或高频噪声)。滤波器的关键参数:
-
采样频率:由
f~DTS~
提供时钟基准。 -
采样次数(N):通过
TIMx_CCMRx
寄存器的ICxF[3:0]
位配置(N=2, 4, 6, 8等)。
滤波之后的信号通过边沿检测器 捕获上升沿或者下降沿
主从触发模式是主模式、从模式、触发源选择这三个功能的简称 可以实现硬件自动化
TIM_PrescalerConfig,就是单独写入PSC的函数。因为这个函数还有一个重装模式的参数,所以它并不叫SetPrescaler,而叫PrescalerConfig。这是这个库的命名规范。
void TIM_PrescalerConfig(TIM_TypeDef* TIMx, uint16_t Prescaler, uint16_t TIM_PSCReloadMode)