TIM输入捕获

目录

一、IC输入捕获简介

二、频率测量

​编辑

1.测频法:

2.测周法:

三、实现流程

      ​编辑 ​编辑实现流程:

输入滤波器:

边沿检测器:

四、主从触发模式

五、输入捕获基本结构

六、PWMI基本结构



提示:以下是本篇文章正文内容,下面案例可供参考

一、IC输入捕获简介

        当边沿信号输入引脚(TIM_CHx),一旦有边沿,比如上升沿,那输入滤波器和边沿检测器就会检测到这个上升沿让输入捕获电路产生动作。这里的电路执行的动作就是,控制后续电路,让当前CNT的值,锁存到CCR寄存器中。

        于输出比较不同的地方是:输出比较是根据CNT和CCR的大小关系来执行输出动作。输入捕获是接收到输入信号,执行CNT锁存到CCR的动作。

简单点说就是检测电平跳变,然后执行动作。

二、频率测量

1.测频法:

        在闸门时间T内,对上升沿计次(对下降沿计次也可以,只是极性不同而已),之后为了方便,我们统一以上升沿为一个周期的开始进行描述。计次得到N,则待测信号的频率就是fx=N/T.

自定闸门时间T,通常设置为1s,在1s时间内,对信号上升沿计次从0开始计,每来一个上升沿,计次+1。每来一个上升沿就是来了一个周期的信号,所以在1s时间内,来了多少个周期,那它的频率就是多少Hz。

2.测周法:

        执行流程是,两个上升沿内,以标准频率fc计次得到N,则频率fx=fc/N,基本原理是,周期的倒数就是频率。如图,我们捕获两个上升沿,然后测量一下这之间持续的时间,测量时间的方法实际上也是定时器计次,使用一个已知的标准频率fc的计次时钟,来驱动计数器从一个上升沿开始计,计数器从0开始,一直计到下一个上升沿,停止。计一个数的时间是1/fc,计N个数,时间就是N/fc,就是周期,再取个倒数就得到了公式:fx=fc/N;

注:测频法适合测量高频信号,测周法适合测量低频信号。对应图上,当待测信号频率小于中界频率时,测周法误差更小。当待测信号频率大于中界频率时,测频法误差更小。

        本节输入捕获测频率,使用的方法是测周法。

三、实现流程

      实现流程:

        假设信号通过引脚1进来,有一个三输入的异或门,这个异或门的输入接在了通道1,2,3端口。穿过异或门后通过数据选择器到达输入捕获通道1,数据选择器如果选择异或门上面一个引脚时,那输入捕获通道1的输入,就是3个引脚的异或值,如果选择下面一个,异或门就没有用,4个通道各用各的引脚,设计这个异或门,其实是为了三相无刷电机服务的。

输入滤波器:

        主要避免一些高频的毛刺信号误触发

边沿检测器:

        选择高电平or低电平触发,当出现指定电平时,边缘检测电路就会触发后续电路执行动作。

        另外这里,它其实是设计了两套滤波和边沿检测电路。

第一套电路:经过滤波和极性选择得到TI1FP1,输入给通道1的后续电路。

第二套电路:,经过另一个滤波和极性选择得到TI1FP2,输入给下面通道2的后续电路

同理,下面的TI2信号进来,也经过两套滤波和极性选择得到TI2FP1,和TI2FP2,其中TI2FP1输入给上面,TI2FP2输入给下面。

第一个捕获通道,使用上升沿触发,用来捕获周期

第二个捕获通道,使用下降沿触发,用来捕获占空比。

这样就能同时测量频率和占空比,这就是PWMI模式。

        预分频器:可以选择对前面的信号进行分频,分频后的触发信号就可以触发捕获电路进行工作了,每来一个触发信号,CNT的值,就会向CCR转运一次,转运的同时,会发生一个捕获事件,这个事件会在状态寄存器置标志位,同时也可以产生中断,如果需要在捕获的瞬间处理一些事情的话就可以开启这个捕获中断。

        以上就是整个电路的工作流程。

        

异或门:当三个输入引脚的任何一个引脚有电平翻转时,输出引脚就产生一次电平翻转。

四、主从触发模式

        主从触发模式:就是主模式,从模式,触发源选择三个功能的简称。

其中主模式可以将定时器内部的信号,映射到TRGO引脚,用于触发别的外设,所以这部分叫做主模式。

从模式,就是接收其他外设或者自身外设的一些信号,用于控制自身定时器的运行,也就是被别的信号控制。

触发源选择:就是选择从模式的触发信号源的,你可以认为它是从模式的一部分,触发源选择指定的一个信号,得到TRGI(触发信号),TRGI去触发从模式。从模式可以在最右边列表里,选择一项操作来自动执行。

        如果想要让TI1FP1信号自动触发CNT清零,那触发源选择,就可以选中这里的TI1FP1,从模式执行的操作,就可以选择执行Reset,这样TI1FP1的信号就可以自动触发从模式,从模式自动清零CNT,实现硬件全自动测量。

五、输入捕获基本结构

        这个结构,只使用了一个通道,所以它目前只能测量频率。

        在右上角的是时基单元,我们把时基单元配置好,启动定时器,那CNT就会在预分频之后的这个时钟驱动下,不断自增,经过预分频后的时钟频率就是驱动CNT的标准频率fc。

        下面输入捕获通道1的GPIO口,输入一个这样的方波信号经过滤波器和边沿检测,选择TI1FP1为上升沿触发,之后输出选择直连的通道,分频器选择不分频。当TI1FP1出现上升沿之后,CNT的当前计数值转运到CCR1里,同时触发源选择,选中TI1FP1为触发信号,从模式选择复位操作,这样TI1FP1的上升沿,也会通过上面这一路去触发CNT清零。当然这里会有个先后顺序,肯定是先转运CNT的值到CCR1里去,再触发从模式给CNT清零。

        注意:1.首先CNT的值是有上限的,ARR一般设置为最大65535,那CNT最大也只能计65535个数,如果信号频率太低,CNT计数值可能会溢出。2.从模式的触发源选择,只有TI1FP1和TI2FP2,没有TI3和TI4的信号,所以如果想使用从模式自动清零CNT,就只能用通道1和通道2,对于通道3和通道4,就只能开启捕获中断,在中断里手动清零了,就比较消耗软件资源。

六、PWMI基本结构

              PWMI模式,使用了两个通道同时捕获一个引脚,可以同时测量周期和占空比。

首先,TI1FP1配置上升沿触发,触发捕获和清零CNT,正常地捕获周期。这时我们再来一个TI1FP1,配置为下降沿触发,通过交叉通道,去触发通道2的捕获单元。

        左上角的图:最开始是上升沿,CCR1捕获,同时清零CNT,之后CNT一直++,然后在下降沿这个时刻,触发CCR2捕获,所以这时CCR2的值,CNT值就是高电平期间的计数值,CCR2捕获,并不触发CNT清零,所以CNT继续++,直到下一次上升沿,CCR1捕获周期,CNT清零,这样执行之后CCR1就是一整个周期的计数值,CCR2就是高电平期间的计数值。

所以 占空比 = CCR2/CCR1.

 这就是PWMI模式,使用两个通道来捕获频率和占空比的思路。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值