STM32-IC(Input Capture)输入捕获

发布时间 2024-01-05 23:15:49作者: #define西风

电平跳变(上升沿或下降沿),可以通过程序配置,发生电平跳变时,输入捕获电路会让当前CNT计数器的值锁存到CCR,锁存CCR的意思就是把当前CNT的值读出来,写入CCR中。

1、IC(Input Capture)输入捕获。

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

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

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

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

》最左边四个通道的引脚,引脚进来为一个三输入(接在通道1、2、3的端口)的异或门,执行逻辑是三个引脚任何一个有电平翻转输出引脚就会产生一次电平翻转,输出通过数据选择器(梯形符号)到达输入捕获通道1。

》数据选择器如果选择上面一个,输入捕获通道1的输入就是3个引脚的异或值,如果选择下面一个那么异或门没用,四个通道各用各的引脚对应相应输入捕获通道。(下图通道1详细图)CC1S位可对数据选择器进行选择,

》输入信号到达输入滤波器和边沿检测器。滤波可避免高频毛刺信号误触发;边沿检测和外部中断一样,可以选择高电平触发或者低电平触发,当出现指定电平时边沿检测电路会触发后续电路执行动作。注意这里其实内部有两套滤波和边沿检测(极性选择)电路,一路得到TI1FP1(TI1 Filter Polarity 1),输出给通道1后续电路,另一路给通道2,其他同理(如图),即两个通道之间可以选择各走各的,也可选择交叉连接,可灵活切换后续捕获电路的输入,并可借此实现把一个引脚的输入同时映射到两个捕获单元,这也是PWMI模式的经典结构。

》PWMI模式:第一个捕获通道使用上升沿触发,用来捕获周期,第二个通道使用下降沿触发用来捕获占空比,两个通道同时对一个引脚进行捕获就可同时测量频率和占空比。

》另外还有一个TRC信号,也可以选择作为捕获部分的输入,它来自上面橙框的中心那个TRC,这样设计也是为了无刷电机的驱动。

》信号来到预分频器可选择对信号进行分频,分频之后的触发信号就可触发捕获电力进行工作,每来一个触发信号CNT的值就会向CCR转运一次。转运的同时会发生一个捕获事件CC1I,这个事件会在状态寄存器置标志位,同时也可以产生中断,如果需要在捕获的瞬间处理一些事件得话,就可以开启这个捕获中断。(下图通道1详细图)ICPS位可配置分频器,可选择不分频(1)、2、4、8分频,最后CC1E位控制输出使能或失能。

》每捕获一次CNT的值都需要把CNT清零一下以便下次捕获,硬件电路可自动完成此操作:(下图)TI1FP1信号和TI1_ED(TI1的边沿信号)都可以通向从模式控制器,比如TI1FP1信号的上升沿触发捕获,它同时触发从模式,从模式里的电路自动完成对CNT的清零。主从触发模式详细见本博客第三部分。

》拓:设计异或门的目的主要是为三相无刷电机服务,无刷电机有3个霍尔传感器检测转子的位置,可以根据转子的位置进行换相,有了异或门就可在前三个通道接三个霍尔传感器,然后这个定时器就作为无刷电机的接口定时器去驱动换相电路的工作。