死区时间如何设置,在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 000DTG7=1 ,如果DTG<128,则DTG7:5=0xx 这就是上图中的规则1!

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

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

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

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐