STM32F4单片机对于定时器1的死区时间计算

STM32F4单片机对于定时器1的死区时间计算

1.理论依据

根据博客STM32高级控制定时器(TIM1和TIM8) 关于死区时间的计算方法提及的,如图:
在这里插入图片描述

2.推论

可以看出,死区时间的设置分为4种算法,而不是想当然的计数乘以机器周期,类似阶梯收费,每一梯队的步长不同,因而可以得到四个区间(由于STM32F407VE单片机的主频是168M,这里仅描述168M下的情况):

寄存器[7:5]计算式区间 (us)步长(us)
0xx(0~127) / 1680~0.75590.0059
10x(64+ (0~63) ) / (168/2)0.7619~1.5110.0119
110(32+ (0~31) ) / (168/8)1.5238~3.0476
111(32+ (0~31) ) / (168/16)3.0476~60.0952

然后,进一步可对公式进行反推
( 168 / 2 )*yms-64=x;
( 168 / 8 )*yms-32=x;
(168 / 16)*yms-32=x;

式中yms为某区间内需要的死区时间,x为最终填入寄存器DTG的数值。

例如:我需要5us的死区时间,则选择区间3(111),然后经过计算得,X=20.5,取整数21。
则DTG的值:[7:5]=111,[4:0]=1 0101(21),DTR=1111 0101=0xF5=245。

填入程序
填入程序

用示波器观察可以发现,死区时间和计算的吻合。
死区时间

3.总结

综上所述。我们在设置死区时间的时候应先选择合适的区间,再根据公式反推需要填写的值。

  • 7
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值