STM32
直播中

周静

7年用户 594经验值
私信 关注
[问答]

STM32高级定时器TIM有何功能

STM32高级定时器tiM有何功能?
STM32高级定时器TIM输入捕获和输出比较的应用有哪些?

回帖(1)

李麒铭

2021-11-24 11:36:20
  STM32高级定时器笔记-TIM
  高级定时器功能
  1-计数器16bit,上/下/两边 计数,TIM1和TIM8,还有一个重复计数器RCR,独有。
  2-有4个GPIO,其中通道1~3还有互补输出GPIO
  3-时钟来自PCLK2,为72M,可实现1~65536分频
  (TM2~TM7时钟来自PCLK1)
  4-高级定时器功能 :定时、输出比较(pwm)、输入捕获(脉冲宽度,pwm输入)、断路输入、互补输出。
  高级定时器功能框图
  
  1-时钟源
  内部时钟源CK_INT 内部时钟源来自RCC的TIMx_CLK 外部时钟模式1—外部的GPIO Tix(x=1 2 3 4)
  
  ①时钟信号输入引脚
  1-外部的GPIO TIx,对应:TIMx_CH1/2/3/4
  2-TIM_CCMRx 的位 CCxS[1:0]配置引脚,其中 CCMR1 控制 TI1/2, CCMR2 控制 TI3/4
  ②滤波器
  由TIMx_CCMRx 的位 ICxF[3:0]配置
  ③边沿检测
  由 TIMx_CCER 的位 CCxP 和 CCxNP 配置,决定是上升沿有效还是下降沿有效。
  ④触发选择
  当使用外部时钟模式 1 时,触发源有两个,一个是滤波后的定时器输入 1( TI1FP1)和滤波后的定时器输入 2( TI2FP2)。由 TIMx_SMCR 的位 TS[2:0]配置用哪一个定时器输入。
  ⑤从模式选择
  把信号连接到 TRGI 引脚,让触发信号成为外部时钟模式 1 的输入,最终等于 CK_PSC,然后驱动计数器 CNT 计数,具体的配置TIMx_SMCR 的位 SMS[2:0]为 000 即可选择外部时钟模式 1。
  ⑥使能计数器
  使能计数器开始计数,外部时钟模式 1 的配置就算完成,使能计数器由 TIMx_CR1 的位 CEN 配置。
  外部时钟模式2—外部的GPIO ETR
  
  ①时钟信号输入引脚
  时钟信号来自于定时器的特定输入通道 TIMx_ETR,只有 1 个。
  ②外部触发极性
  来自 ETR 引脚输入的信号可以选择为上升沿或者下降沿有效,具体的由 TIMx_SMCR的位 ETP 配置。
  ③外部触发预分频器
  由于 ETRP 的信号的频率不能超过 TIMx_CLK( 180M)的 1/4,当触发信号的频率很高的情况下,就必须使用分频器来降频,具体的由 TIMx_SMCR 的位 ETPS[1:0]配置。
  ④滤波器
  具体的由 TIMx_SMCR 的位 ETF[3:0]配置,其中的 fDTS 是由内部时钟 CK_INT 分频得到,具体的由 TIMx_CR1 的位CKD[1:0]配置。
  ⑤从模式选择
  经过滤波器滤波的信号连接到 ETRF 引脚后,触发信号成为外部时钟模式 2 的输入,最终等于 CK_PSC,然后驱动计数器 CNT 计数,具体的配置 TIMx_SMCR 的位 ECE 为 1即可选择外部时钟模式 2。
  ⑥使能计数器
  使能计数器开始计数,外部时钟模式 2 的配置就算完成,使能计数器由 TIMx_CR1 的位 CEN 配置。
  内部触发输入
  1-内部触发输入是使用一个定时器作为另一个定时器的预分频器。硬件上高级控制定时器和通用定时器在内部连接在一起,可以实现定时器同步或级联。
  2- 由TIMx_SMCR 的位 TS[2:0]配置。
  2-控制器
  1-控制器就是用来控制的,发送命令的
  2-CR1、CR2、SMCR、CCER,主要学习这几个寄存器即可。
  3-时基
  
  1-16位的预分频器 PSC,PSC
  2-16位的计数器CNT, CNT
  3-16位的自动重装载寄存器ARR,ARR
  4-8位的重复计数器RCR,RCR(高级定时器独有)
  4-输入捕获
  输入捕获的原理
  一个脉冲信号,上升沿时,计数器CNT开始计数;下降沿时,产生中断,将CNT的值锁存到输入捕获寄存器CCR中,CCR的值即为高电平的时间。
  
  ①输入通道
  当使用需要被测量的信号从定时器的外部引脚 TIMx_CH1/2/3/4 进入,通常叫 TI1/2/3/4,在后面的捕获讲解中对于要被测量的信号我们都以 TIx 为标准叫法。
  ②输入滤波和边沿检测
  ③捕获通道
  
  如果输入的是PWM信号,TI1FP1作为触发信号,TI1FP1检测的是周期信号,TI1FP2检测的是占空比。
  PWM只能使用通道1和2。
  ④预分频器
  1-ICx 的输出信号会经过一个预分频器,用于决定发生多少个事件时进行一次捕获。
  2-具体的由寄存器 CCMRx 的位 ICxPSC 配置,如果希望捕获信号的每一个边沿,则不分频。
  ⑤捕获寄存器
  
  5-输出比较
  CNT计数器
  CCR输出比较寄存器
  ARR自动重装载寄存器
  
  
  ①输出比较寄存器
  ②死区发生器
  带死区插入的半桥驱动电路,放大电流,驱动电机。右边两个mos管控制电机正反转,当上面的mos管截止时,下面的mos管导通。上面mos不能马上关掉,下面的又导通,电源和地会通。所以需要死区时间。
  
  死区时间取决于MOS管生产工艺,死区时间大小由BDTR寄存器的位DTG[7:0]配置。
  6-断路功能
  输入捕获和输出比较的应用
  输入捕获
  1、测量脉宽和频率
  
  先设置上升沿中断,value1位0,再设置下降沿中断,得到value1的值。value1就是脉宽。
  设置上升沿中断,不设置下降沿中断,再次上升沿中断时,value1的值就是频率的值。
  2、PWM输入模式
  
  只有通道1和通道2捕获。
  TI1-》TI1FP1-》IC1频率
  TI1-》TI1FP2-》IC2脉宽
  输出比较
  1-输出比较模式总共有 8 种,常用的是PWM模式。
  2-由寄存器 CCMRx 的位 OCxM[2:0]配置
  PWM输出模式
  PWM 输出就是对外输出脉宽(即占空比)可调的方波信号,信号频率由自动重装寄存器 ARR 的值决定,占空比由比较寄存器 CCR 的值决定。
  
  有效:高电平;无效:低电平
  断路功能,未介绍,用到时候在说。
  PWM输出的边沿对齐 VS 中心对齐(不是关键,用到再说)
  1-根据CNT的计数方向,PWM波形分成边沿对齐和中心对齐两种。边沿对齐主要用于直流电机,中心对齐主要用于交流电机。
  2-边沿对齐时,CNT只工作在递增或者递减。
  3-中心对齐时,CNT工作在递增和递减。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分