STM32的定时器输出PWM时,死区时间(DTR)如何计算

在 STM32F429(以及所有 STM32F4 "高级定时器")中,死区时间由 TIMx_BDTR 寄存器的 8 位 "Dead‑Time Generator" 字段 DTG7:0 来配置。其计算分三步:

  1. 计算死区时钟周期 tDTS
    TIM1 时钟源为 APB2 定时器时钟(PCLK2)。当 APB2 预分频≠1 时,定时器时钟 = PCLK2×2;否则 = PCLK2。
    例 若系统时钟 168 MHz,APB2 预分频=2,则 PCLK2=84 MHz,TIM1 时钟 = 84 MHz×2 = 168 MHz,

不过,STM32F429芯片的TIM1时钟频率一般等于其系统频率:180MHz.

  1. DTG 字段分区及死区时间公式

DTG7:5 共 3 位,根据其值可分为 4 个区间,不同区间死区增量和基数不同:citeturn3search3

区间 DTG 值范围 死区时间 Δ 备注
区间 1 直接模式 0x00 ... 0x7F (DT = DTG x t_{DTS}) 步长 (1 x t_{DTS})
区间 2 二倍延展模式 0x80 ... 0xBF (DT = (64 + DTG_{5:0}) x 2t_{DTS}) 步长 (2 x t_{DTS})
区间 3 八倍延展模式 0xC0 ... 0xDF (DT = (32 + DTG_{4:0}) x 8t_{DTS}) 步长 (8 x t_{DTS})
区间 4 十六倍延展模式 0xE0 ... 0xFF (DT = (32 + DTG_{4:0}) x 16t_{DTS}) 步长 (16 x t_{DTS})

总结 :

死区时间 = 区间映射后的 "索引值" × 对应倍数 × (t_{DTS})。

  • 先算出定时器底层时钟周期 (t_{DTS})。
  • 再由 DTG7:5 确定增量倍数和基数偏移,最后乘以 (t_{DTS}) 得到实际死区时间。

这样即可精确控制上、下桥臂在切换瞬间的互补死区,避免对管子造成短路风险。

相关推荐
Zw-awa2 分钟前
一盏 LED 不够用了:让同一盏灯说出不同的话
stm32
AMASENSYS艾马斯25 分钟前
变频器过载能力参数解读与工程应用
驱动开发·嵌入式硬件·其他·硬件工程·精益工程
cu14336 分钟前
细谈IT6563的具体功能与其应用
c语言·c++·单片机·嵌入式硬件
坐看风云变幻2 小时前
《嵌入式工程师的软硬件修仙之路》第 5 期|STM32/GPIO 寄存器操作:从地址映射到点亮一盏灯的全过程
stm32·单片机·嵌入式硬件
POMAGTOR2 小时前
【硬件笔记|磁吸连接器安装规范、失效分析与选型验证方案】
网络·嵌入式硬件
路上有只喵3 小时前
认识元器件 ·贴片电阻· 规格书解读
嵌入式硬件·硬件架构
dqsh063 小时前
STM32开发用调试器ST-Link V2.1的制作 保姆级教程
stm32·单片机·嵌入式硬件·调试工具·st-link
2601_958352903 小时前
一款模块通吃15类语音产品?AN-93如何实现录音笔、门禁、IPC的快速适配
前端·人工智能·嵌入式硬件·回声消除·降噪处理
果壳science4 小时前
张祥前最新研究成果登上SCI期刊!
笔记·嵌入式硬件·算法·硬件工程·几何学
路上有只喵4 小时前
认识元器件 ·贴片电阻· 电阻选型
嵌入式硬件·硬件架构