1.输入捕获简介:
注:理解此图要对应通用/高级定时器图。
4个输入捕获是在通用定时器左下角部分内容,和4个输出比较共用CCR寄存器(可查看通用定时器图)。CH1~CH4的四个引脚也是共用的。因此,输入捕获,输出比较只能同时使用一个。
功能:输入引脚跳变瞬间,把CNT的值写入到CCR中,执行动作,控制后续电路。
输入捕获是接收输入信号,执行CNT所存CCR的行为(输出比较是根据CNT和CCR的大小关系执行输出操作)
电平持续时间可近似理解为占空比。脉冲间隔可近似理解为频率。
PWMI模式是PWM的输入模式,是专门测频率和占空比的。
PWMI模式和主从触发模式共同减少中断的使用,减轻软件的压力。
2.频率测量:
越往左,频率越高;越往右,频率越低。
最终高电平为3.3V,低电平为0V。
测周法:取标准频率fc,从一个上升沿开始到下一个上升沿结束,统计之间有多少个fc,则计一个数的时间为1/fc,计N个数时间(周期)为N/fc,取倒数为fc/N。
测频法适合测量高频(N大一些)信号,测周法适合测量低频信号。
测频法测量结果更新的慢一些,数值相对稳定。测周法更新的快,数据跳变得也快。
测频法类似于测平均值。
由于计次可能存在半个周期的情况(开始是高电平,结束却是低电平),也叫正负1误差。N越大,正负1误差影响越小。
中介频率的公式由来:测频法,测周法的N相等。
3.通用/高级定时器的输入捕获电路分析(重点):
最左边的CH1~CH4是四个引脚,参考定义表可知什么引脚复用在什么位置。
异或门部分:如果异或门走上面通道时,在CH1~CH3中,如果任意一个为高电平1,则输出为1;如果异或门走下面时,异或门不生效。
输入滤波器是对输入信号滤波,剔除不合要求的信号(如尖锐的,不是方波的)。边沿检测器,用于检测高电平和低电平。当有符合要求的波形时,触发后续电路执行动作。
图中的输入滤波和边沿检测器都有两个出口(用红线画出了)。达到CH1信号可控制IC1和IC2中一个或两个。目的:1.灵活切换后续捕获电路的输入。2.把一个引脚同时映射两个单元(CH1映射给IC1和IC2)
(如图中红线,我个人定义CH1的IC1为第一个通道,IC2为第二个通道)第一个通道,使用上升沿触发,用来捕获周期;第二个通道,使用下降沿触发,用来捕获占空比。即可同时测量频率和占空比。
预分配可选择对前面信号分频,分频后就触发捕获电路。每来一个信号,CNT的值就传递给CCR。
转运时,会发生捕获事件。(如设置上升沿捕获,每来一个上升沿,CNT就转运到CCR一次。且CNT的值就是两个上升沿之间的间隔,即周期T,倒数即为频率f。上升沿用于测量触发捕获,CNT用于计数计时。每来一个上升沿,取一下CNT的值,自动存在CCR里。CCR捕获的值就是计数值N。CNT的驱动时钟,就是fc。fc/N就是待测信号的频率。捕获后需要清零(用主从触发模式完成)。
4.主从触发模式:
软件操作:对应三个函数,调用函数,给定参数。
主模式:将定时器内部信号映射到TRGO引脚,用于触发别的外设。
从模式:接收其他外设或者自身外设的一些信号。用于控制自身定时器的运行,被别的信号控制。如若让TI1FP1信号自动触发CNT清零,则需要TI1FP1-->TRGI-->Reset
触发源模式:从模式的一部分。
(可参考手册STM3210FXXX 的14.4.2章节的MMS表)
5.输入捕获基本结构(重点):
配置时基单元,启动定时器。CNT(测周法计时的)在预分配的时钟驱动下,不断自增。
GPIO输入方波信号,通过滤波器,边沿检测选择TI1FP1为上升沿触发,选择直连通道,分频器选择不分频。当产生上升沿,CNT的计数值转运到CCR1中,同时触发源选择TI1FP1为触发信号。从模式选择复位操作。 先转运CNT的值给CCR,再触发从模式给CNT清零.
CCR1=CNT操作是输入捕获执行,CNT是从模式执行,都是自动执行。
只选用一个通道,所以只能测量频率。
6.PWM基本结构:
观察左上图,CCR2=CNT时,CNT的值传给CCR2,CCR2是高电平的时间,此时CNT不清空。CCR1=CNT时,CNT的值传给CCR1,CCR1就是整个周期,CCR2/CCR1即为占空比。