#输入捕获
##一、IC(Input Capture)
输入捕获模式下,当通道输入引脚出现指定电平跳变时(也就是上升沿和下降沿),当前CNT的值将被锁存到CCR中(将当前值读出写入到CCR中),可用于测量PWM波形的频率占空比、脉冲间隔以及电平持续时间等参数
每个高级定时器和通用定时器都有4个输入捕获统统到
可配置为PWMI(PWM的输入模式)模式,同时测量频率和占空比
可配合主从触发模式,实现硬件全自动测量
从上图可以看出,四个输入捕获和输出比较共用一个CCR寄存器
###输入捕获与输出比较的区别
输出比较是根据CNT和CCR的大小关系来执行输出动作 也就是根据分频系数以及自动重装载值确定输出频率
输入捕获接收到输入信号,执行CNT锁存到CCR的动作
##二、频率测量
测频法:在闸门时间内对上升沿(下降沿)进行计次,得到次数N,除以时间就是频率(适用于高频信号)实际测量的是一个闸门时间内的平均频率,其值较为平滑 blockformula_editorf_x = \dfrac{N}{T}
测周法:在两个上升沿内,以标准频率fc计次,一个数时间是1/fc,记N个数,时间就是N/fc,取其倒数就是频率(适用于低频信号),由于是测一个周期,其响应速度很快,但只是测量一个周期,易受到干扰 blockformula_editorf_x = \frac{f_c}{N}
中界频率:由于以上两种方法可能会出现在测量周期内计数提前停止的情况,会出现正负1的误差,在这样的情况下需要对信号本身进行判断:
blockformula_editorf_m = \sqrt{\frac{f_c}{T}}
当信号频率小于中界频率时,测周法明显误差更小
当信号频率大于中界频率时,测频法明显更实用
##三、具体测量过程
首先信号从TI1引脚进入电路,经过一个滤波器,对输入信号进行采样,连续N个信号为高电平才输出高电平,这样可以达到滤波的作用,采样频率越低,采样点越多,滤波效果越好
然后通过一个边沿检测器,捕获上升沿和下降沿
捕获后的信号进入到下一个数据选择器,CC1S进行数据选择,ICPS进行分频器配置,CC1E控制输出使能
本文章使用limfx的vscode插件快速发布