[应用相关] PWM的死区时间

[复制链接]
163|0
paotangsan 发表于 2025-10-14 07:02 | 显示全部楼层 |阅读模式
死区时间如何设置,在CubeMX中,死区时间设置框中前三个需要enable,死区时间设置在0~255之间,实际上是2的8次方。这里并不是直接设置时间,而是设置DTG寄存器的八位值。具体设置方法如下:

2696568ec9068b68e7.png

DTG寄存器为TIM1和TIM8断路和死区寄存器(TIMx_BDTR)的低八位,高八位暂时不考虑,DTG中的值不同,决定了死区时间的计算方法也不同,DTG寄存器的设置方法很简单,直接通过CubeMX的Deadtime配置就可以了。这里配置的是DTG寄存器!以下是参考STM32F4的教程来写的,但是也同样适用于STM32F1C8T6。

8857968ec90625651c.png

举个例子就容易明白了,比如:

首先,声明tDTS 就是被分频后的时钟周期的时间,当DTG<128时,死区时间等于被分频后的时钟周期的时间乘以DTG:

4388468ec905512af4.png

如果DTG = 128,转换为2进制就是 10 000 000,DTG7=1 ,如果DTG<128,则DTG7:5=0xx ,这就是上图中的规则1!


所以如果分频后的时钟频率为16MHz(输入定时器的时钟频率32MHz,PSC=2-1),希望死区时间为200ns,可以这样设置,假设DTG<128:

4869168ec904e7a6ca.png

2713068ec9049dd865.png

6041568ec90445d36d.png

9844468ec903fb7e26.png

四舍五入设为3,计算此时的死区时间为:

510668ec903b11281.png

2020468ec9036b1620.png

       在Keil逻辑分析仪上验证,死区时间确实为187.5ns。

541768ec903293509.png

————————————————
版权声明:本文为CSDN博主「子不语180」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_66706271/article/details/151590676

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

本版积分规则

80

主题

4345

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部