输入捕获的作用

工作机制
        输入捕获通过检测外部信号边沿(上升沿/下降沿)触发计数器(CNT)值锁存到捕获寄存器(CCRx),结合两次捕获值的差值计算信号时间参数。

  • 脉冲宽度测量:配置两个通道分别捕获上升沿和下降沿,计算两次捕获值的差值与分辨率的乘积(分辨率=1/定时器时钟频率)。

  • 频率测量:捕获连续两个上升沿的CNT差值,通过(频率=定时器时钟频率/周期差值)计算。

关键硬件模块

  • 滤波器:消除信号毛刺(通过设置ICFilter参数控制采样频率)
  • 预分频器:控制捕获事件触发频率(如每2/4/8个边沿触发一次捕获)
  • 边沿检测器:通过CCER寄存器配置触发极性TIM_ICPOLARITY_RISING/FALLING

结构及其运行原理

基本结构如图

我们拿通道1来讲解他的结构和各结构的功能

输入捕获的硬件由以下关键模块组成:

模块 功能描述
输入通道 外部信号通过GPIO引脚输入到定时器的某个通道(如TIMx_CH1~CH4)
边沿检测器 检测信号的上升沿或下降沿(通过TIMx_CCER寄存器的CCxP位配置极性)
数字滤波器 抑制信号抖动(通过TIMx_CCMRxICxF位配置滤波窗口,滤除高频噪声)
预分频器 对输入信号进行分频(通过TIMx_CCMRxICxPSC位配置,如每2/4/8个边沿触发一次)
捕获寄存器 锁存当前定时器计数器(CNT)的值到TIMx_CCRx寄存器
中断/事件生成 触发捕获完成中断或DMA请求,通知CPU处理数据

信号和数据处理

第一阶段:输入滤波

第一阶段是将输入的信号进行滤波处理,信号经过滤波器和预分频器,滤除噪声并降低触发频率

第二阶段:边沿检测

边沿检测器检测到预设的边沿(上升沿或下降沿)时,触发捕获事件。上升沿脉冲或下降沿脉冲。

  • 上升沿脉冲:当信号出现一个上升沿,就发出一个脉冲
  • 下降沿脉冲:当信号出现一个下降沿,就发出一个脉冲

第三阶段:信号选择

信号来源有三种,直接、间接、TRC

  • 直接输入模式(Direct Mode)​:外部信号直接连接到 ​同一通道的捕获寄存器。例如,TIMx_CH1的输入信号直接映射到TIMx_CCR1寄存器。
  • 交叉输入模式(Indirect Mode)​:外部信号 ​跨通道映射到其他通道的捕获寄存器。例如,TIMx_CH1的输入信号映射到TIMx_CCR2寄存器。
  • TRC:信号来源来自从模式控制器

信号的四种走向

第四阶段:分频

在分频阶段如果选择了2分频会出现当每个输出的脉冲累计为2时输出一个脉冲,分频越大响应的脉冲数量等于除分频数的值。分频后每输出一个脉冲就会触发一个ccx的事件,让CCRx寄存器记录触发ccx事件时CNT的值。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐