STM32单片机(六)TIM定时器 -> 第五节:TIM输入捕获

这篇具有很好参考价值的文章主要介绍了STM32单片机(六)TIM定时器 -> 第五节:TIM输入捕获。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。
☀️ 专栏适用人群 :适用于想要从零基础开始学习入门单片机,且有一定C语言基础的的童鞋。
🌙专栏目标:实现从零基础入门51单片机和STM32单片机,力求在玩好单片机的同时,能够了解一些计算机的基本概念,了解电路及其元器件的基本理论等。

⭐️ 专栏主要内容: 主要学习STM32单片机的功能、各个模块、单片机的外设、驱动等,最终玩好单片机和单片机的外设,全程手敲代码,实现我们所要实现的功能。
🌴 专栏说明 :如果文章知识点有错误的地方,欢迎大家随时在文章下面评论,我会第一时间改正。让我们一起学习,一起进步。
💑专栏主页:http://t.csdn.cn/HCD8v

本学习过程参考:https://space.bilibili.com/383400717

STM3单片机安装软件、各种资料以及源码的路径:
链接:https://pan.baidu.com/s/1snD0uuTfMhchFqOMWvAiHA?pwd=asdf#list/path=%2F
提取码:asdf

链接里压缩包的解压密码:32

本大节主要学习TIM定时器的相关知识,包含八小节:
第一小节主要学习定时器基本定时的功能,第二小节是对第一小节的内容写两个程序进行练习,分别是定时器定时中断和定时器外部时钟;
第三小节主要学习定时器输出比较的功能,第四小节是对第三小节的内容写三个程序进行练习,分别是PWM驱动LED呼吸灯、PWM驱动舵机以及PWM驱动直流电机;
第五小节主要学习定时器输入捕获的功能,第六小节是对第五小节的内容写两个程序进行练习,分别是输入捕获模式测频率和PWMI模式测频率占空比;
第七小节主要学习定时器的编码器接口功能,第八小节是对第七小节的内容写一个程序进行练习,即编码器接口测速;
最终附上所有的源代码;

本小节主要是学习定时器输入捕获的功能,在这部分,我们将会学习使用输入捕获这个模块来实现测量方波频率的例子;

1、输入捕获简介

STM32单片机(六)TIM定时器 -> 第五节:TIM输入捕获
STM32单片机(六)TIM定时器 -> 第五节:TIM输入捕获

  • 如上图所示,输入捕获对应定时器的左边这部分电路;右边那部分是上一节讲的输出比较部分;4个输入捕获和4个输出比较通道,公用4个CCR寄存器;另外它们的CH1到CH4,4个通道的引脚,也是公用的;所以对于同一个定时器,输入捕获和输出比较,不能同时使用
  • 顾名思义,输入捕获就是捕获输入端口的高低电平信号,并将其存到指定寄存器(CCR)中;输入捕获可用

2、频率测量

STM32单片机(六)TIM定时器 -> 第五节:TIM输入捕获

  • 测频法适合测量高频信号,侧周法适合测量低频信号
  • 对应图上中界频率f_m,当待测信号频率小于中界频率时,侧周法误差更小,选用侧周法更合适;当待测信号大于中界频率时,测频法误差更小,选用测频法更合适;

3、输入捕获通道

STM32单片机(六)TIM定时器 -> 第五节:TIM输入捕获

  • 引脚进来后,先经过滤波器,滤波器的输入时TI1,就是CH1引脚;输出的TI1F就是滤波后的信号;fDTS是滤波器的时钟来源,下面CCMR1寄存器里的ICF位可以控制滤波器的参数;
  • 滤波之后的信号TI1F,通过边沿检测器,捕获上升沿或者下降沿,用这个CCER寄存器里的CC1P位,就可以选择极性了;最终得到TI1FP1触发信号,通过数据选择器,进入通道1后续的捕获电路;
  • 之后的ICPS位,可以配置分频器,可以选择不分频、2分频、4分频、8分频等;
  • 最后CC1E位,控制输出使能或失能;如果使能了输出,输入端产生边沿信号,经过层层电路,就可以让最后CNT的值,运转到CCR里面去;

4、主从触发模式

STM32单片机(六)TIM定时器 -> 第五节:TIM输入捕获

  • 主从触发模式是主模式、从模式和触发源选择这三个功能的简称;
  • 主模式可以将定时器内部的信号,映射到TRGO引脚,用于触发别的外设;所以这部分叫做主模式;
  • 从模式就是接收其他外设或者自身外设的一些信号,用于控制自身定时器的运行,也就是被别的信号控制;所以这部分叫从模式;
  • 触发源选择, 就是选择从模式的触发信号源的,你可以认为它是从模式的一部分;触发源选择,选择指定的一个信号,得到TRGI,TRGI去触发从模式,从模式可以在右边绿色的列表里,选择一项操作来自动执行;如果想让TI1FP1信号自动触发CNT清零,那触发源选择就可以选中这里的TI1FP1,从模式执行的操作,就可以选择执行Reset的操作,这样TI1FP1的信号就可以自动触发从模式,从模式自动清零CNT;实现硬件全自动测量; 这就是主从触发模式的用途;

5、输入捕获基本结构

STM32单片机(六)TIM定时器 -> 第五节:TIM输入捕获

  • 上图是对输入捕获模式整体的概括,也对应着我们演示代码的代码逻辑
  • 输入捕获基本结构,右上角是时基单元,我们把时基单元配置好,启动定时器,那这个CNT就会在预分频之后的时钟的驱动下,不断自增;这个CNT,就是我们侧周法用来计数计时的东西;
  • 经过预分频之后的下图位置的时钟频率,就是驱动CNT的标准频率fc;

STM32单片机(六)TIM定时器 -> 第五节:TIM输入捕获

  • 这里可以看出,标准频率=72M/预分频系数;
  • 下面输入捕获通道1的的GPIO口,输入一个左上角所示的方波信号,经过录波器和边沿检测,选择TI1FP1为上升沿触发,之后输入选择直连的通道,分频器选择不分频;当TI1FP1出现上升沿之后,CNT的当前计数值转运到CCR1里,同时触发源选择,选中TI1FP1为触发信号,从模式选择复位操作,这样TI1FP1的上升沿,也会通过上面这一条路去触发CNT清零;

6、PWMI基本结构

STM32单片机(六)TIM定时器 -> 第五节:TIM输入捕获文章来源地址https://www.toymoban.com/news/detail-485945.html

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

到了这里,关于STM32单片机(六)TIM定时器 -> 第五节:TIM输入捕获的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包