您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页stm32入门-----TIM定时器(输入捕获模式——上)

stm32入门-----TIM定时器(输入捕获模式——上)

来源:伴沃教育


前言        

        本期我们学习stm32的输入捕获功能,上一期我们学习的是PWM输出波形,那么有输出就有输入,输入就是对这个波形的分析,在学习51的时候我们也了解过了输入方波的测量,同样的stm32也能通过定时器的方式来实现这个功能,本期主要是理论部分,这里会讲解stm32输入捕获的工作方式以及信号的测量方法。(江科大协会视频:)

一、频率的测量

测频法是用于测量一个比较长的时间内的周期数量的,所以没有用到输入捕获的功能,而是纯粹的定时中断的功能,比如当定时到1秒后就执行上面那个公式计算出波形频率。

测周法是需要输入捕获来去测量的。

 二、输入捕获

1.基本概念

  • ICInput Capture)输入捕获
  • 输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数
  • 每个高级定时器和通用定时器都拥有4个输入捕获通道
  • 可配置为PWMI模式,同时测量频率和占空比
  • 可配合主从触发模式,实现硬件全自动测量

 下面这部分就是定时器输入捕获功能的区域,我们不难看出四个通道,其中每一个通道的输入捕获和输出比较是共同用一个通道的,所以二者在同一个通道的时候不能同时使用,另外就是输入捕获可以用一个输入口输入,然后传输给两个定时器通道,这就是输入捕获的PWMI模式,这种模式是可以同时去测量频率和占空比的。

2.输入捕获通道(测周法)

下图是输入捕获通道的结构图。在捕获的过程中计数器CNT的值会一直增加,输入捕获到的信号进入到这个通道的时候,首先输入信号在通道TI1(也就是CH1)会去经过一个滤波器去消减噪声,然后就到了边沿检测器当检测到上升沿或者是下降沿,二者是可以通过CC1P来去控制选择上升沿有效还是下降沿有效,当检测到了有效信号的时候就进入到了数据选择器进入到了捕获电路,后面我们可以去用分频器选择分频模式,最后就完成了这一次的捕获,捕获完成了之后CNT的值就会转运到CCR寄存器。

3.主从触发模式 

        准确的说这个功能的名字不叫这个的,是听b站江科大老师他取的,不过名字跟其功能是一一对应所以还是很明了的。

        当CCR寄存器获取到了CNT之后,此时的CNT要重新清零,CNT的值是应该周期定时器计数的次数,如果不清零的话,那么下一次波形获取到的CCR计算出来的周期是有问题的,CCR的值来源于CNT,这里要保证每一次获取到的CNT是从0开始计加的。这里就有了这个主从触发模式 ,这个模式可以实现硬件自动化去清零CNT,不需要软件去写一个中断函数来给CNT清零,避免了资源的占用,提高了运行效率。

        那么这个主从触发模式 是怎么工作的呢?首先主模式会去选取输入信号的信号源口,然后把选定好的信号传递给了触发源选择这里我们的触发源是TI1FP1,然后触发源选择好了之后就根据触发源的有效值来去对CNT执行相关的操作,这里就进入到了从模式,从陌生又下图这些功能,这里我们要对CNT进行清零,故执行Reset。

4.输入捕获的整体结构

下图是输入捕获的整体结构,很清晰的展示出来输入捕获的结构过程。

5.PWMI结构

上面提及到了PWMI这个功能,下面我们看结构图,其实也就是在输入捕获的基础上加上一个新的捕获通道,当边沿检测到了有效信号的时候就分两路走,第一路TI1FP1就是去测量两个上升沿之间的计数CNT,计数完成搬运到CCR1之后CNT清零;第二路TI1FP2的有效信号就是下降沿,就是去测量下降沿的时候此时CNT的计数值,搬运到了CCR2寄存器,但是CNT并没有清零,而是继续计数,直到下一个上升沿的时候清零。这个过程我们不难看出CCR1存放的是整个周期的计数值,二CCR2存放的是高电平的时候计数值,当我们CCR2 / CCR1 的结果就是占空比的值了。PWMI是可以很好去测量占空比的。

以上就是本期的全部内容了,我们下次见!

分享一张壁纸:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务