STM32(七):定时器——输入捕获

IC(Input Capture)输入捕获

        输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数。

        每个高级定时器和通用定时器都拥有4个输入捕获通道。

        可配置为PWMI模式,同时测量频率和占空比。

        可配合主从触发模式,实现硬件全自动测量。

输入捕获和输出比较的区别:

        输出比较引脚数输出端口,输入捕获引脚数输入端口。输出比较是根据CCR和CNT的大小关系来执行输出动作。输入捕获是接受到输入信号,执行CNT锁存到CCR的动作。

        左下角异或门,是为了三相电机准备的;右边其实有两套滤波和边沿检测电路,第一套电路TI1信号经过滤波和极性选择得到TI1FP1(TI1 Filter Polarity 1),输入给通道1 的后续电路。第二套电路经过另一个滤波和极性选择TI1FP2(TI1 Filter Polarity 2)输入给通道2 的后续电路. 同理TI2信号也经过两套滤波和边沿检测电路的到TI2FP1和TI2FP2信号,其中TI2FP1给上面,TI2FP2输入给本级,也就是TI1和TI2可以选择各走各的,也可以选择交叉。

        该设计的原因:1. 可以灵活的切换后续捕获电路的输入。2. 可以把一个引脚的输入,同时映射到两个捕获单元,PWMI模式会用到。第一个捕获通道(FP1),使用上升沿触发,用来捕获周期;第二个通道(FP2)使用下降沿触发,用来捕获占空比,两个通道同时对要给引脚进行捕获,同时测量频率和占空比。

        在捕获上升沿之后,需要对CNT进行清零操作,清零之后,下次上升沿再捕获时候,取出的CNT才是两个上升沿的时间间隔。在一次捕获后自动将CNT清零的步骤,可以用主从触发模式,自动来完成。

输入捕获通道1详解:

         TI1:CH1的引脚;   TI1F:滤波后的信号; fDTS:滤波器的采用时钟来源;

        CCMR1:CCMR1寄存器里的ICF位可以控制滤波器的参数,这几位定义了TI1数入的采样频率以及数字滤波器长度。数字滤波器有一个事件计数器组成,它记录到N个事件后会产生一个输出的跳变。

        CCER寄存器里的CC1P位可以选择极性,最终的得到TI1FP1触发信号,通过数据选择器,进入通道1后续的捕获电路。

        CC1S位可以对数据选择器进行选择,ICPS位可以配置分频器,最后CC1E位控制输出使能或失能。

如何自动清零CNT?

上图中TI1FP1信号和TI1F的边沿信号TI1F_ED通向从模式控制器 

主从触发模式

        主从触发模式就是主模式,从模式,触发源选择的简称。 

        主模式:可以将定时器内部的信号,映射到TRGO引脚,用于触发别的外设。

        从模式:接收其他外设或者自身外设的一些信号,用于控制自身定时器的运行,也就是被别的信号控制。

        触发源选择就是选择从模式的信号源的,可以当作从模式的一部分。

 

        如果想自动清零,那么就TI1FP1从模式执行Reset。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LightningJie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值