广东可易亚半导体科技有限公司

国家高新企业

cn en

应用领域

PWM互补输出--死区时间计算分享-KIA MOS管

信息来源:本站 日期:2023-02-13 

分享到:

PWM互补输出--死区时间计算分享-KIA MOS管


死区时间计算方式详解

配置PWM互补输出的死区时间,本质上就是在配置TIM1高级控制定时器的刹车和死区寄存器(TIMx_BDTR)中的DTG[7:0](死区发生器设置)部分。


在WB32参考手册中找到该部分:

PWM 死区 计算


先介绍一下公式中的各个变量代表的含义:

1)DT:死区持续时间(DT=步长值×步长时间)。

2)T-DTS:系统时钟周期时长。

例:WB32F103CBT6的系统时钟频率为72M,则T-DTS = 1/72M = 13.89ns


3)Tdtg:步长时间,等于系统时钟周期时长乘以倍数,这个值用于计算最终死区时间。


4)DTG[7 : 5] = 0xx,DTG[7 : 5] = 10x,DTG[7 : 5] = 110,DTG[7 : 5] = 111。这四个部分分别对应四种死区时间计算方式。


可以简单理解为将DTG[7 : 0]这8位分为两部分,一部分决定步长值(二进制),另一部分决定与步长时间相乘的系数。


仔细阅读死区时间计算表:

PWM 死区 计算


请注意:

DTG[7 : 5] = 0xx和DTG[7 : 5] = 10x中是含有x的,x部分并不参与决定步长值,但含x部分可和DTG剩余部分一起决定与步长值相乘的系数部分。


结合图11-1中公式,当DTG[7 : 5] = 10x时,其步长值(二进制)为10,步长时间Tdtg等于系统时钟周期时长的两倍,对应计算公式DT = (64 + DTG[5 : 0])×Tdtg,Tdtg = 2×T-DTS。


DTG[5 : 0]的取值范围为“00 0000(二进制)”到“11 1111(二进制)”,换算成十进制,则DTG[5 : 0]可取值范围为“0-63”。


即时钟频率72M,DTG[7 : 5] = 10x时:

最小死区时间DT=(64+0)Tdtg=64(2T-DTS)=64213.89=1778ns


最大死区时间DT=(64+63)Tdtg=127(2T-DTS)=127213.89=3528ns


死区时间结构体成员参数值计算

上述过程讲解了死区时间的计算方法,但我们在代码编写时该如何传值呢?


例如现在需要2us(2000ns)的死区时间,依据上述表格应选方式3计算:2000 = (64+DTG[5 : 0]) Tdtg = (64+x) * 2 13.89 ns


解出DTG[5 : 0]为8,换算为二进制“0b1000”。

则DTG[7 : 0]=0b10001000=0x88



联系方式:邹先生

联系电话:0755-83888366-8022

手机:18123972950

QQ:2880195519

联系地址:深圳市福田区金田路3037号金中环国际商务大厦2109


请搜微信公众号:“KIA半导体”或扫一扫下图“关注”官方微信公众号

请“关注”官方微信公众号:提供  MOS管  技术帮助

免责声明:本网站部分文章或图片来源其它出处,如有侵权,请联系删除。