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 个脉冲触发一次事件)。

相关推荐
Zeku9 小时前
20260120 - Linux驱动学习笔记:SPI子系统核心层到具体硬件驱动
stm32·freertos·linux驱动开发·linux应用开发
被遗忘的旋律.10 小时前
Linux驱动开发笔记(二十四)——(上)IIO + icm20608驱动
linux·驱动开发·笔记
zhangrelay10 小时前
thinkpad等笔记本电脑在ubuntu等linux系统下电池校准如何做?
笔记·学习
阿华hhh10 小时前
day4(IMX6ULL)<定时器>
c语言·开发语言·单片机·嵌入式硬件
_Kayo_10 小时前
Node.JS 学习笔记8
笔记·学习·node.js
weixin_4624462310 小时前
使用 Docker / Docker Compose 部署 PdfDing —— 个人 PDF笔记
笔记·docker·pdf
CQ_YM10 小时前
ARM中断
arm开发·嵌入式硬件·arm
羽获飞10 小时前
51单片机UART-串口通讯的配置方法
stm32·单片机·嵌入式硬件
枷锁—sha10 小时前
【CTF笔记篇】SQL 注入总结
数据库·笔记·sql·安全·网络安全
猫猫的小茶馆10 小时前
【Linux 驱动开发】一. 搭建开发环境
linux·汇编·arm开发·驱动开发·stm32·嵌入式硬件·mcu