STM32-PWM的死区时间
·
死区时间如何设置,在CubeMX中,死区时间设置框中前三个需要enable,死区时间设置在0~255之间,实际上是2的8次方。这里并不是直接设置时间,而是设置DTG寄存器的八位值。具体设置方法如下:

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

举个例子就容易明白了,比如:
首先,声明tDTS 就是被分频后的时钟周期的时间,当DTG<128时,死区时间等于被分频后的时钟周期的时间乘以DTG:
![]()
如果DTG = 128,转换为2进制就是 10 000 000,DTG7=1 ,如果DTG<128,则DTG7:5=0xx ,这就是上图中的规则1!
所以如果分频后的时钟频率为16MHz(输入定时器的时钟频率32MHz,PSC=2-1),希望死区时间为200ns,可以这样设置,假设DTG<128:
![]()
![]()


四舍五入设为3,计算此时的死区时间为:
![]()

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

更多推荐



所有评论(0)