本篇文章包含的内容
本次课程采用单片机型号为STM32F103C8T6。
课程链接:江科大自化协 STM32入门教程
往期笔记链接:
STM32学习笔记(一)丨建立工程丨GPIO 通用输入输出
STM32学习笔记(二)丨STM32程序调试丨OLED的使用
STM32学习笔记(三)丨中断系统丨EXTI外部中断
STM32学习笔记(四)丨TIM定时器及其应用(定时中断、内外时钟源选择)
STM32学习笔记(五)丨TIM定时器及其应用(输出比较丨PWM驱动呼吸灯、舵机、直流电机)
如果上一篇笔记的内容为史诗级副本,本篇文章的内容我愿称之为传说级副本(三)。
一、输入捕获
1.1 输入捕获简介
输入捕获,即Input Capture,英文缩写为IC。输入捕获模式下,当通道输入引脚出现指定电平跳变(可以定义为上升沿、下降沿)时,当前CNT的值将被锁存到CCR中(这就是“捕获”的含义),可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数。在这里,“脉冲间隔、电平持续时间”和“频率、占空比”是互相对应的关系。每个高级定时器和通用定时器都拥有4各输入捕获通道,且二者没有区别。
输入捕获模块可以配置为PWMI(PWM输入)模式和主从触发模式。PWMI模式是专门用来同时测量PWM波形的频率和占空比的。主从触发模式可以实现对频率或占空比的硬件的全自动测量,不占用软件资源,可以极大地减轻CPU的压力。
在定时器中,输入捕获和输出比较共用同一个引脚和同一个CCR,故在使用时,对同一个TIM定时器而言,输入捕获和输出比较功能只能使用一个,不能同时使用。
1.2 输入捕获通道的工作原理
接下来分析输入捕获通道的工作原理。输入信号首先进入输入滤波器和边沿检测器。这个滤波器和定时器的外部时钟模式2的输入滤波原理类似,它可以避免一些高频的毛刺信号造成误触发。在博主的文章STM32学习笔记(四)丨TIM定时器及其应用(定时中断、内外时钟源选择)中有较为详细的说明:
在定时器的外部信号输入引脚一般都有一个滤波器来消除信号的抖动干扰,它的工作原理是:在一个固定的时钟频率
f
f
f下进行采样,如果连续
N
N
N个采样点都是相同的电平,就代表输入信号稳定了,就将采样值输出到下一级电路;如果
N
N
N个采样点不全都相同,就说明信号有抖动,这时保持上一次的输出,或直接输出低电平。 这样就能保证输出信号在一定程度上的滤波。这里的采样频率
f
f
f和采样点数
N
N
N都是滤波器的参数,频率越低,采