6 计时器(四)

6.5 TMI输入捕获

输入捕获简介

IC(Input Capture)输入捕获
输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率、占空比、脉冲间隔(频率)、电平持续时间(占空比)等参数
每个高级定时器和通用定时器都拥有4个输入捕获通道
可配置为PWMI模式,同时测量频率和占空比
可配合主从触发模式,实现硬件全自动测量

频率测量

测频法(高频):在闸门时间T内,对上升沿计次,得到N,则频率𝑓_𝑥=𝑁 / 𝑇

测周法(低频):两个上升沿内,以标准频率fc计次,得到N ,则频率𝑓_𝑥=𝑓_𝑐  / 𝑁

中界频率:测频法与测周法误差相等的频率点𝑓_𝑚=√(𝑓_𝑐  / 𝑇)

输入捕获通道

在这里插入图片描述

滤波器:

采样频率越低,采样个数越大,意味着采集到的样本之间的时间间隔更长,信号变化的速率更缓慢,这使得信号更容易被数字滤波算法捕捉到和处理。因此,在滤波器的设计过程中,通常会采用较低的采样频率以获取较多的采样个数,以获得更好的滤波效果。
在数字滤波中,基于样本的离散时间模型,采样频率越高,对应的采样间隔越短,这使得数字滤波器对高频噪声的抑制效果更好,但相对应的,也会使得数字滤波器对低频的信号变化更加敏感,会出现信号截止或干扰等情况。而如果采样频率低于信号的特征频率,将导致混叠等问题。
同时,由于数字滤波算法中采样个数越多,所依据的统计量越准确,因此也可以进一步提高滤波器的性能。例如,一些经典的数字滤波算法,如 FIR 和 IIR 滤波器,在设计时会考虑到采样间隔的长短和采样个数的数量,以提高算法的性能和滤波效果。
综上所述,采样频率和采样个数是数字滤波器设计中的重要参数,根据具体的应用场景和信号特性选择适当的采样频率和采样个数,可以获得更好的滤波效果。

主从触发模式

输入捕获基本结构

在这里插入图片描述

函数说明:

//初始化TIM输入捕获功能,设置TIM各通道的输入捕获模式、输入滤波器、输入时钟分频等参数
void TIM_ICInit(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct);
//快速配置2个通道
void TIM_PWMIConfig(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct);
//初始化TIM输入捕获模式结构体,将结构体成员变量设置为默认值
void TIM_ICStructInit(TIM_ICInitTypeDef* TIM_ICInitStruct);
//选择TIM的输入触发源(TRGI),即在何种事件下TIM开始计数
void TIM_SelectInputTrigger(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource);
//选择TIM的输出触发源(TRGO),即在定时器溢出周期结束时是否产生触发信号,触发其他外设的操作
void TIM_SelectOutputTrigger(TIM_TypeDef* TIMx, uint16_t TIM_TRGOSource);
//选择TIM的从模式,即控制TIM何时从主设备(外部触发源)开始计数
void TIM_SelectSlaveMode(TIM_TypeDef* TIMx, uint16_t TIM_SlaveMode);

设置TIM的捕获/比较通道1-4的比较值。这些通道可以用于产生PWM信号、输出比较结果等

void TIM_SetCompare1(TIM_TypeDef* TIMx, uint16_t Compare1);
void TIM_SetCompare2(TIM_TypeDef* TIMx, uint16_t Compare2);
void TIM_SetCompare3(TIM_TypeDef* TIMx, uint16_t Compare3);
void TIM_SetCompare4(TIM_TypeDef* TIMx, uint16_t Compare4);

获取TIM的捕获/比较通道1-4的捕获值,即在触发事件发生时定时器的计数值

uint16_t TIM_GetCapture1(TIM_TypeDef* TIMx);
uint16_t TIM_GetCapture2(TIM_TypeDef* TIMx);
uint16_t TIM_GetCapture3(TIM_TypeDef* TIMx);
uint16_t TIM_GetCapture4(TIM_TypeDef* TIMx);

PWMI基本结构

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值