我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 1729|回复: 3

[产品新知] 基于STM32定时器的三种中心对齐计数模式

[复制链接]
  • TA的每日心情

    昨天 20:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    478

    主题

    247

    回帖

    1391

    积分

    二级逆天

    积分
    1391

    终身成就奖特殊贡献奖

    发表于 2020-8-21 09:07:19 | 显示全部楼层 |阅读模式
    [paragraph]STM32的通用定时器和高级定时器除了支持单向的向上或向下计数模式外,还支持中心对齐计数模式,即一个计数周期内分别由向上计数和向下计数两个过程组成。在基于计数器的中心对齐计数模式做定时器的比较输出功能时,又进一步衍生出三种中心对齐计数模式,分别是中心对齐计数模式1/2/3。具体通过寄存器TIMx_CR1里面的CMS[1:0]选择。
    既然一次基于中心对齐计数模式的完整计数周期包含向上、向下两个计数过程,那么对给定的比较寄存器CCR的值在(0,ARR)范围时,一个周期内就会发生两次匹配事件,即出现CNT=CCR的两个时间点,对于这两次匹配事件最终是否完成比较事件标志的置位而触发中断或DMA,可以根据应用需求选择不同的中心对齐计数模式来决定。

    在STM32各系列参考手册中关于定时器描述部分都有类似下面的一副图,是关于不同中心对齐计数模式下发生匹配事件后的比较事件标志的置位情况的直观展示。
    这里CCR=4,ARR=8, 我们来一起看看。
    当选择中心对齐计数模式1时,只在向下计数过程中发生匹配动作时才置位比较事件标志CC4IF; 当选择中心对齐计数模式2时,只在向上计数过程中发生匹配动作时才置位比较事件标志CC4IF; 当选择中心对齐计数模式3时,在向上/向下计数过程中发生匹配动作时都会置位比较事件标志CC4IF。当然,比较事件标志被置位时可以触发中断或DMA请求。
    这里我们不妨使用STM32的TIM1的CH4做个验证性测试,看看在一个中心对齐计数周期内,通过选取不同的中心对齐模式下发生比较中断的次数。【这点不管哪个STM32系列都一样】
    基于上面的配置及处理代码,我们只调整中心对齐计数模式,看看在一个中心对齐计数周期内比较中断的响应情况。【Counter表示进入比较中断的次数,DirecTIon表示发生比较中断时计数方向,0表示当前属向下计数过程,0xff表示向上计数过程】
    测试结果在上图很清晰了,无须赘述。
    那么,关于这个定时器特性有什么用呢,这个不好说,毕竟具体应用往往丰富多彩而千变万化。总之,书到用时方恨少嘛,了解各个外设的特性是我们灵活运用的基础和前提。比方在马达应用中,这个特性可能就用得着【具体怎么用还得看应用场景和所选芯片】。
    如上图所示,计数器工作在中心对齐计数模式。我们有时可能需要在计数器上溢点的左侧或右侧启动ADC转换,这时就可以针对性选择合适的中心对齐模式在合适的时间点开启ADC转换。
    当然,单就上面提到的这点应用,STM32家族中的很多系列开辟了更为灵活方便且高效的硬件措施,比方STM32F3、STM32G4、STM32F7、STM32H7等系列,通过配置高级定时器通道4/5/6的输出信号的上升/下降沿及不同组合实现对ADC的同步触发,最大程度地减少软件处理和CPU参与。
    下图是来自STM32F3系列TIM1的触发输出信号配置图。TRGO2事件可以作为ADC的触发事件,可选择单个事件或组合事件。【配置工具使用的STM32CubeMx】
    下面截图来自STM32F3系列参考手册定时器介绍章节,下图信息量很大,只是部分信息跟上面内容有关,贴到这里也算抛砖引玉。
    这里重点旨在分享关于STM32定时器中心对齐计数三种模式的特征与彼此间的差异,知道这些特性后在需要的时候我们可以灵活运用。
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-9-27 09:10
  • 签到天数: 29 天

    [LV.4]偶尔看看III

    4

    主题

    2235

    回帖

    1760

    积分

    二级逆天

    积分
    1760

    终身成就奖特殊贡献奖优秀斑竹奖

    QQ
    发表于 2020-8-21 09:27:03 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情

    7 天前
  • 签到天数: 58 天

    [LV.5]常住居民I

    3

    主题

    2951

    回帖

    1116

    积分

    二级逆天

    积分
    1116

    社区居民终身成就奖特殊贡献奖优秀斑竹奖

    QQ
    发表于 2020-8-21 10:00:41 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 1 天

    [LV.1]初来乍到

    9

    主题

    3250

    回帖

    2674

    积分

    二级逆天

    孤独的奔跑者

    积分
    2674

    终身成就奖社区居民

    QQ
    发表于 2020-8-21 14:41:39 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    论坛开启做任务可以
    额外奖励金币快速赚
    积分升级了


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    平平安安
    TOP
    快速回复 返回顶部 返回列表