• STM32物联网项目-高级定时器功能介绍


    高级定时器TIM1,TIM8

    在这里插入图片描述

    重复计数器

    在基本/通用定时器计数到预设定值时,发生上溢/下溢事件时直接就产生更新事件,或者产生中断;但对于高级定时器却不是这样,高级控制定时器在硬件结构上多出了重复计数器,在定时器发生上溢或下溢事件是不断减少重复计数器的值,计数溢出一次重复计数器的值就减少一次,只有重复计数器为0时才会生成更新事件。所以说如果设定重复计数器的值为N,那只有计数溢出N+1次,才能产生更新事件,或者中断。

    重复计数器的值通过寄存器TIMx_RCR来设定

    通俗理解:比如用高级定时器定时1ms,设置重复计数器的值为10次,那1ms后并不会产生中断,定时器会反复计数10次,计数溢出一次,重复计数器的值就减一,等10ms后,重复计数器减为0了,才产生一次中断

    作用:比如PWM输出周期为1ms,设定重复计数器的值为200,则该PWM信号就会输出200次,在这200次里改变占空比,就能输出占空比变化的PWM波

    互补输出

    在这里插入图片描述

    有两路输出波形,它们成互补状态,当上面波形输出高电平时,下面波形输出低电平,当上面波形输出低电平时,下面波形就输出高电平

    用途:比如有两个MOS管,一个上,一个下,工作时只有一个能导通,就可以用互补输出来控制两个MOS管,确保一个时刻只有一个管导通

    在这里插入图片描述

    互补存在的问题

    还是上面那两个MOS管,如果用互补输出会存在一个问题,本来互补输出是想要两个MOS管只能有一个导通,但MOS管在实际电路中因制作工艺精度的不同,或者其他因素的影响,导致导通和截止需要一定的时间,可能会存在上面MOS管在导通的瞬间,下面的MOS管仍然处于导通状态,还没来得及截止,反过来也一样,两个MOS管在某一瞬间同时导通,电流流过MOS管,导致管烧毁

    在这里插入图片描述

    死区

    为了解决互补输出存在的问题,高级定时器提供了死区功能

    问题切入点就是上面MOS管在导通之前,确保下面MOS管是截止状态,如下图所示

    假如高电平是导通,上面MOS管就延时一会再导通,让下面MOS管有时间截止,反过来也一样,下面MOS管高电平想导通时,延时一会让上面MOS管完全截止后再导通,这延时的时间就是死区时间

    在这里插入图片描述

    示波器输出带死区的两路互补PWM输出

    在这里插入图片描述

    刹车功能

    比如电路控制电机转动,并检测电机的电流,当电机出现故障时,如果通过软件来关闭输出信号,因为软件的延时,没能及时关闭电机,可能会出现意料之外的后果,所以用高级定时器的刹车功能,将检测端接到TIMx_BKIN,当出现不稳定状态时,用硬件电路及时关闭信号输出,停止电机转动

    所以这刹车功能是一个硬件保护功能
    在这里插入图片描述

  • 相关阅读:
    MAC如何解决idea卡顿问题
    C Primer Plus(6) 中文版 第8章 字符输入/输出和输入验证 8.7 菜单浏览 8.8 关键概念 8.9 本章小结
    linux驱动开发:驱动中的并发控制
    c语言获取文件的md5值
    BootStrap前端框架的时候
    mysql读取文件
    2022-32周 项目问题整理
    C# VS2022 EF6 + Mysql8.0.31 CodeFirsts使用配置
    地平线GitLab使用指导
    原生js写菜单栏滑块动画+Banner滑动效果(清晰思路+附代码)
  • 原文地址:https://blog.csdn.net/weixin_46251230/article/details/126701684