找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 18381|回复: 12
收起左侧

关于STM32定时器中TI1FP1 与TI1FP2及相关话题

  [复制链接]
ID:98618 发表于 2015-12-7 02:02 | 显示全部楼层 |阅读模式

整理:Miler Shao

    整体来讲,STM32各个系列的TIMER外设基本框架和功能是类似的,大体分高级定时器、通用定时器和基本定时器。除了基本定时器外,每个高级定时器或部分通用定时器都可以产生4对中间信号,分别是TI1FP1 TI1FP2TI2FP1 TI2FP2TI3FP3 TI3FP4TI4FP3 TI4FP4,即每个输入通道可以生产1对信号。这里以STM32F103系列为例聊聊T这个 TImFPn,

 SMT32各系列的参考手册的定时器部分,在描述高级定时器或通用定时器时都可以看到如下的一副图。图中对那4对信号被清晰地描绘了出来。

 

这四对信号可以统一写为:TImFPn,其中 m代表滤波和边沿检测器前的输入通道号,n代表经过滤波和边沿检测器后将要接入或者说要映射到的捕捉通道号。 比如:TI1FP1,是来自于通道TI1,经过滤波器后将接到捕捉比较通道IC1;

 

  TI1FP1,是来自于通道TI1,经过滤波器后将接到捕捉比较通道IC1

      TI1FP2,是来自于通道TI1,经过滤波器后将接到捕捉比较通道IC2

      TI2FP1,是来自于通道TI2,经过滤波器后将接到捕捉比较通道IC1

      TI2FP2,是来自于通道TI2,经过滤波器后将接到捕捉比较通道IC2

      TI3FP3,是来自于通道TI3,经过滤波器后将接到捕捉比较通道IC3

      TI3FP4,是来自于通道TI3,经过滤波器后将接到捕捉比较通道IC4

      TI4FP3,是来自于通道TI4,经过滤波器后将接到捕捉比较通道IC3

      TI4FP4,是来自于通道TI4,经过滤波器后将接到捕捉比较通道IC4

那每一对信号到底是什么关系呢?比如TI1FP1TI1FP2说实在的,这个地方参考手册里就没有个明确的表述,让人很费解。但是可以从一个地方可以推理得出来那个地方下面会提到其实,二者都是来自同一TI1输入通道,经过输入滤波和边沿检测器后所产生的具有相同特征的信号,然后映射到不同的输入捕捉通道,本质上还是同一路信号。

 同理,TI2信号,经过滤波和边沿检测后产生了2路滤波信号,分别是TI2FP1TI2FP2它俩也是具有相同特征的信号只是TI2FP1捕捉通道IC1TI2FP2捕捉通道IC2.

那么对于TI3、TI4输入通道,经过滤波和边沿检测后,也分别产生两对滤波信号TI3FP3TI3FP4TI4FP3TI4FP4分别前往IC3IC4输入捕捉通道。
     
STM32定时器部分,有个PWM输入模式的应用介绍。专门介绍如何利用PWM输入模式测量某一路外部输入信号的频率和占空比的话题。这里正是利用TI1FP1TI1FP2来自于同一通道TI1TI1FP1可以作为从模式触发源的特点来完成的。通过该实例不难理解TI1FP1TI1FP2的实质就是一个东西。【在不做过滤和反相处理的前提下,TI1=TIF1P1=TI1FP2

 下面是利用PWM输入模式对TI1输入信号的周期和占空比进行测试的大致过程。特别注意图中红色标注的那些地方。

 

 

 

 

 

显然,这里的PWM输入模式正是利用2个捕捉通道针对同一信号进行的捕捉,只是分别针对上升沿和下降沿进行捕捉。

要注意的是,利用上述PWM输入模式方法对外部输入信号的频率和占空比进行测量,只限于TI1TI2通道。因为只有TI1FP1TI2FP2接到了从模式控制器。这点,资料上有讲得清楚,有人有时无视了这点,将待测信号接到TI3TI4后使用上述方法自然就不灵光了。

另外,STM32的部分定时器中还集成了正交编码控制器,这个应用与TI1FP1TI2PF2有关,换言之,要使用STM32内部正交编码功能的话,只能使用TI1TI2两个输入通道。所以,应用时不要随便乱接。

 

 

而且,并不是只要有TI1TI2两个输入通道的定时器就内置正交编码接口。其实不然。比方32F1系列中的TIM9TIM12就不支持。所以设计时需要查看下相关定时器的框架图。

 

关于正交编码器应用,有个编码信号与计数方向对照关系表经常让人觉得看起来费劲。【注意,正交编码接口用到的信号是TI1FP1TI2FP2。即一路来自TI1,一路来自TI2

 

 

结合上面的关系表和计数阶梯图我们来一起看下。

假设对于来自于TI1TI2的信号不做过滤和反相处理,TI1=TIF1P1TI2=TI2FP2

上面的那个编码与计数方向对照表里提到相对信号电平,其实这里TI1FP1的相对信号就是TI2TI2FP2的相对信号就是TI1

假设选择正交编码器要同时对TI1TI2进行计数的模式,不做滤波和换相。

那么当TI1FP1的上升沿到来时,如果此时其相对信号TI2的电平为低,则计数器向上计数;如果此时其相对信号TI2的电平为高,则计数器向下计数。结合上面的关系表和计数阶梯图,同样可以看出,当TI1FP1的下降沿到来时,如果此时其相对信号TI2的电平为低,则计数器向下计数;如果此时其相对信号TI2的电平为高,则计数器向上计数。

那对于TI2FP2的上升沿和下降沿时刻的计数方向的判断,一样可以通过其相对信号TI1的电平结合上面的对照表得知其相应时刻的计数方向。

 

小结下,上面只是就STM32定时器中的TImFPn信号做些沟通或应用提醒,具体应用时还得详细研究参考手册。不可否认,STM32的定时器功能非常强大,定时器资源很多,参考手册中描述它的文字篇幅也相当大,不过有些细节地方讲得差强人意。大家在研读参考手册时,最好文字阅读结合查看图表,必要时可以结合ST官方的参考库TIMER外设应用示例代码帮助理解。

 

 

评分

参与人数 1黑币 +5 收起 理由
伟大的Holmes + 5

查看全部评分

回复

使用道具 举报

ID:156503 发表于 2016-12-21 11:45 | 显示全部楼层
感谢讲解,说的很详细 解答了我的疑惑,谢谢
回复

使用道具 举报

ID:156890 发表于 2016-12-22 16:09 | 显示全部楼层
学习了,谢谢!
回复

使用道具 举报

ID:154223 发表于 2017-7-13 16:34 | 显示全部楼层
受益颇多,好贴得顶
回复

使用道具 举报

ID:204835 发表于 2017-7-17 20:52 | 显示全部楼层
厉害厉害
回复

使用道具 举报

ID:190961 发表于 2017-8-6 17:33 | 显示全部楼层
顶顶,学习
回复

使用道具 举报

ID:268459 发表于 2018-1-23 10:57 | 显示全部楼层
正好用到这一块的东西,讲的太好了!
回复

使用道具 举报

ID:415225 发表于 2018-11-13 17:47 | 显示全部楼层
谢谢大神讲解
回复

使用道具 举报

ID:111351 发表于 2018-11-14 22:22 | 显示全部楼层
谢谢分享
回复

使用道具 举报

ID:351417 发表于 2019-1-13 21:00 | 显示全部楼层
讲解的非常透彻,赞一个!寄存器就没有TI3FP3和TI4FP4
回复

使用道具 举报

ID:608971 发表于 2019-11-20 11:23 | 显示全部楼层
学习了
回复

使用道具 举报

ID:25310 发表于 2019-11-21 08:37 | 显示全部楼层
楼主正解,关于编码器部分不自己测试过真不知到那个技术文档讲个啥。
回复

使用道具 举报

ID:647334 发表于 2019-11-26 22:54 | 显示全部楼层
大佬,牛逼
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表