目录
[IC(Input Capture)输入捕获](#IC(Input Capture)输入捕获)
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。
输入捕获基本结构:
如果想使用从模式自动清零CNT,那么只能使用TI1FP1 和TI1FP2信号。