STM32定时器的死区时间(DTR)如何计算,增加死区计算器
一、STM32F051为例
讲解死区时间(DTR)如何计算,TIM1的时钟频率配置的是48M

二、时钟分频因子
我的环境时钟分频因子的值是 00,所以
tDTS = tCK_INT=1000 000 000ns/48 000 000=20.8333ns

三、用户手册中的样例理解

Tdtg=步长时间=n x TDTS
如果定时器时钟为8M,并且CKD=00,TDTS=1000 000 000ns/8 000 000=125ns
DTG[7:0] = [0~127] => DTG[7:5]=0xx => 死区 = [0~127]*125ns = [0~15875]ns
DTG[7:0] = [128~191] => DTG[7:5]=10x => 死区 =(64+[0~63])*(125ns*2)=[16000~31750]ns
DTG[7:0] = [192~223] => DTG[7:5]=11x => 死区 =(32+[0~31])*(125ns*8)=[32~63]us
DTG[7:0] = [224~255] => DTG[7:5]=111 => 死区 =(32+[0~31])*(125ns*16)=[64~126]us
四、STM32F051寄存器和波形对比

我的环境时钟分频因子的值是 00,所以
tDTS = tCK_INT=1000 000 000ns/48 000 000=20.8333ns
例子1

DTG=0x2D=45 [0~127]
死区=45*20.8333ns=937.49ns

例子2

DTG=0x96=150 [128~191]
死区=[64+22]*20.8333ns*2=3583.32ns=3.583us

五、死区计算器
手工计算比较麻烦,整了小工具,只需要选填3个参数,自动计算
、

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)