当前位置: 首页 > news >正文

STM32定时器- 核心区别:Prescaler vs. ClockDivision

1. 可以把定时器想象成一个接收外部信号的“哨兵”:

  • Prescaler(预分频器)控制哨兵的“心跳”或“反应速度”。它决定了计数器每秒钟数多少个数的基准频率。它直接决定了定时器溢出的快慢,也就是定时时间或PWM的频率

  • ClockDivision(时钟分频因子)不影响哨兵的“心跳”它影响的是哨兵用来“审视”外部信号的“采样时钟”频率。这个“采样时钟”专门用于给输入信号(比如编码器的AB相、霍尔传感器的信号)进行滤波,以确认信号的真伪。

功能Prescaler(预分频器)ClockDivision(时钟分频因子)
作用对象定时器内部的计数时钟CK_CNT用于采样外部信号的采样时钟tDTS/fDTS
是否影响计数速度(直接决定定时器快慢)(不影响PWM频率或定时中断周期)
主要用途设定定时时间、PWM频率为输入信号提供数字滤波,设定死区时间的基准时钟
HAL库配置选项TIM_Prescaler(通常是u32类型,可配置较大分频系数)TIM_ClockDivision(可选TIM_CLOCKDIVISION_DIV1,DIV2,DIV4)

2.ClockDivision的具体作用

ClockDivision通过对定时器内部时钟CK_INT进行分频,生成了一个专门的采样时钟fDTS(或时间基准tDTS)。这个fDTS主要服务于两个关键功能:

  • 为输入信号提供数字滤波
    这是你最可能用到的功能。当你使用定时器的输入捕获编码器模式时,外部信号(如电机编码器的脉冲)可能带有毛刺。数字滤波器会利用fDTS对输入信号进行采样。

    • 滤波原理:只有当连续N次(可配置)采样到的电平都一致时,才认为信号有效。ClockDivision设置的DIV2DIV4会降低fDTS的频率,相当于延长了每次采样的间隔。这样,对于同样宽度的毛刺,更低频的采样更容易将其忽略,从而达到滤波效果。

  • 为高级定时器设定死区时间
    这是你之前提到的电机驱动中很重要的一个应用。对于高级定时器(TIM1和TIM8),当用于驱动MOSFET的互补PWM输出时,必须插入“死区时间”(即上下桥臂同时关断的时间),以防止短路。
    死区时间的计时基准,正是由ClockDivision分频后得到的tDTS提供的。不同的分频设置,决定了死区时间计数器的精度和最大长度。

3. 总结:到底该怎么用?

结合你之前关心的电机编码器场景,可以这样理解ClockDivision

  • 如果你只是想产生PWMClockDivision的设置没有任何影响。你只需要关心PrescalerPeriod

  • 如果你在用编码器功能读取电机转速ClockDivision会影响编码器信号的数字滤波如果编码器线数很高,或者你需要极高的实时性,通常设为TIM_CLOCKDIVISION_DIV1以获得最高的采样频率,避免漏掉脉冲。如果信号干扰大,可以尝试DIV2DIV4来滤除噪声,但这会略微增加信号延迟并可能降低最高能响应的编码器频率。

http://www.jsqmd.com/news/468650/

相关文章:

  • 2026年3月上海铝艺铁艺装饰公司最新推荐榜单:铝艺围栏、庭院门、铸铝门、铝艺围栏护栏、铝艺庭院门、铝艺大门、庭院大门、铝艺围栏等领域选择指南 - 海棠依旧大
  • 搬家通知
  • Prompt、Agent、Skill、MCP、Claude Code 到底啥区别?
  • 也许是一些好题 6
  • 用MATLAB构建储能电站模型,平抑可再生能源功率波动
  • 一种基于元启发式算法的加权矩阵设计线性二次调节器控制器的新方法(用于四级倒立摆的动态非线性最优控制)
  • 【深度解析】沙发翻新上门服务:核心原理、应用场景与选型指南 - 速递信息
  • TikTok + 住宅 IP:2026 年社媒运营的绝佳搭档
  • 【网络安全入门】两个实用漏洞案例分析,收藏起来慢慢学
  • 如何实现科技成果与企业需求的精准对接?
  • RL | 速读 IJCAI 的强化学习论文
  • MATLAB插床导杆机构运动学动力学分析:包含Simulink模型、运动仿真及说明书
  • C#与Halcon联合编程实现视觉几何定位与测量框架:从入门到精通,支持圆ROI拟合、标定及模板管理
  • 程序员空窗期如何解决?
  • 《C++实战项目-高并发内存池》2.ObjectPool构造
  • 【OpenGL ES】在Android上手撕一个mini版的渲染框架
  • NOR Flash和NAND flash有什么区别
  • 拆解美团UV量提高的底层逻辑:从流量获取到留存的全链路优化
  • 三年独立开发,我从中学到什么?
  • KEIL5中文件中的字都是黑色的
  • python包发布流程
  • Android系统卡顿排查实战:当system_server卡在io_schedule(二)
  • 【OpenClaw】彻底卸载教程:告别残留,3步搞定(附一键脚本+检测工具)
  • 安静不下来?如何应对课堂注意力不集中与冲动行为调整策略
  • 保安管理公司切入物业赛道的数字化路径与策略
  • 数字化运维实践:如何构建全场景、智能化的设备管理系统?
  • PyTorch 实现这个张量逐元素乘积的计算
  • 2026青岛子宫腺肌症医院 青岛新阳光妇产医院本地优选
  • 教你卸载 OpenClaw,附详细教程
  • 鸿蒙 HarmonyOS 6 | 多媒体(05)全局播控 AVSession 接入与后台控制