9.5 [定时器]输入捕获-嵌入式铁头山羊STM32笔记

定时器简单划分四部分:时基单元、输出比较、输入捕获、从模式控制器。

有四个通道。通道 1 中间 CCR 寄存器(捕获/比较寄存器),右边的输出比较可以产生精确定时的方波信号。最常用产生 PWM 信号(呼吸灯)

CCR 左边,是输入捕获,可测量输入信号的时间参数(周期、脉宽、占空比等)

目录

先简单接受啊输入捕获原理,然后分四个部分讲内部结构:输入滤波、边沿检测、信号选择、分频器

1.输入捕获的基本原理

https://www.bilibili.com/video/BV11X4y1j7si?t=149.9&p=44

Q:如何测量外部输入信号的时间参数?

A:捕获外部信号的边沿发生的时间。

如果想测量脉宽:

先配置时基单元,再把脉冲信号接入定时器。CH1 捕捉上升沿,CH2 捕捉下降沿。

CNT 正常自增,上升沿来了,CH1 触发事件,CCR1 寄存器记录当前 CNT 值。

CNT 正常自增,下降沿来了,CH2 触发事件,CCR2 寄存器记录当前 CNT 值.

可得脉冲宽度:图中(8-2)* 1us = 6us

2.输入捕获的内部结构

https://www.bilibili.com/video/BV11X4y1j7si?t=426.6&p=44

从图可看出,通道 1 和 2 之间输入捕获有个交叉引用的箭头,通道 3 和 4 之间输入捕获有个交叉引用的箭头,

所以 CH1 和 CH2可以交叉引用、CH3 和 CH4 可以交叉引用。

上图为将定时器通道 1、通道 2 的输入捕获部分和时基单元摘出来的示意图。

可以看出,输入捕获的内部结构分为四部分:

1、 输入滤波、

2、 边沿检测、

3、 信号选择、

4、 分频。

3.输入滤波

https://www.bilibili.com/video/BV11X4y1j7si?t=564.0&p=44

输入滤波:等效于滤波器。把输入信号因为噪声等干扰产生的毛刺滤掉。

4.边沿检测

https://www.bilibili.com/video/BV11X4y1j7si?t=638.2&p=44

边沿检测:检测输入信号的边沿(上升沿或下降沿)

5.信号选择

https://www.bilibili.com/video/BV11X4y1j7si?t=696.3&p=44

信号选择:TRC、直接、间接中选择一路。

TRC:来自于从模式控制器,用得少

直接:信号来自于通道 1 本身

间接:信号来自于通道 2,交叉过来的

Q:这交叉引用有啥用?

A:测一个信号的上升沿、下降沿,就不需要用到两个通道引脚了,只使用 CH1 引脚即可。

脉冲信号接入 CH1,输出两路信号。通道 1 选择直接上升沿,通道 2 选择间接下降沿。

CH2 引脚可以干别的事情(比如接 LED、按键等等)

6.分频器

https://www.bilibili.com/video/BV11X4y1j7si?t=903.4&p=44

x 分频:每来 x 个上升沿,触发一个 CCR 事件并拍照(CNT 给 CCR)。

总结

简单讲了下输入捕获基本原理(捕获外部信号脉冲),然后简单讲了下内部结构,划分四部分:

输入滤波(滤波噪声,净化信号)、

边沿检测(检测上升、下降沿)、

信号选择(TRC 从模式控制器,不常用;直接本通道;间接交叉引用的通道)、

分频器(x 个脉冲触发一次事件)。

相关推荐
结城明日奈是我老婆几秒前
stm32的TIM和PWM学习笔记
笔记·stm32·学习
上海观智网络13 分钟前
健身房瑜伽馆想开发小程序,上海靠谱服务商怎么选?
经验分享·笔记
leo_yu_yty14 分钟前
Go语言分布式计算(并发Debug)
开发语言·笔记·后端·golang
嵌入式小站16 分钟前
STM32 可移植教程 01:VSCode 环境搭建 + 点亮 LED(实战篇)
vscode·stm32·嵌入式硬件
guygg8819 分钟前
STM32正交编码器接口指南
stm32·单片机·嵌入式硬件
San813_LDD27 分钟前
[深度学习]量化研究_ML_Lesson2
笔记
数智工坊28 分钟前
周志华《Machine Learning》学习笔记--第十六章--强化学习
笔记·学习·机器学习
ChindongX35 分钟前
笔记:解决窗口透明度不生效问题 —— QGraphicsOpacityEffect 的使用
笔记·qt
lin135380675731 小时前
AH810L输入 48~54V 转 5V/100mA 完整方案
嵌入式硬件·物联网
aaaameliaaa1 小时前
分支与循环
c语言·笔记