历史上的今天

今天是:2025年06月28日(星期六)

2018年06月28日 | STM32高级定时器死区时间的配置及计算

发布者:平和的心态 来源: eefocus关键字:STM32  高级定时器  死区时间 手机看文章 扫描二维码
随时随地手机看文章

互补输出和死区插入

死区概念

高级控制定时器(TIM1 和 TIM8)可以输出两路互补信号,并管理输出的关断与接通瞬间。这段时间通常称为死区,用户必须根据与输出相连接的器件及其特性(电平转换器的固有延迟、开关器件产生的延迟…)来调整死区时间 
每路输出可以独立选择输出极性(主输出 OCx 或互补输出 OCxN)。可通过对 TIMx_CCER寄存器中的 CCxP 和 CCxNP 位执行写操作来完成极性选择。

TIM1 和 TIM8 断路和死区寄存器 (TIMx_BDTR)

寄存器功能展示 
死区寄存器

1.明确自己定时器系统时钟


系统时钟—>AHB 预分频器 && APB2 预分频器值 得到自己定时器的系统时钟为168M

2.计算tDTS


tDTS=1/定时器系统时间 

//tDTS=1/168M=5.95228ns

3.设定死区时间


配置修改DTG[7:0]来改变死区时间


位 7:0 DTG[7:0]:配置死区发生器 (Dead-time generator setup) 

此位域定义插入到互补输出之间的死区持续时间。 DT 与该持续时间相对应。


DTG[7:5]=0xx => DT=DTG[7:0]x tdtg,其中 tdtg=tDTS。

DTG[7:5]=10x => DT=(64+DTG[5:0])xtdtg,其中 Tdtg=2xtDTS。

DTG[7:5]=110 => DT=(32+DTG[4:0])xtdtg,其中 Tdtg=8xtDTS。

DTG[7:5]=111 => DT=(32+DTG[4:0])xtdtg,其中 Tdtg=16xtDTS。


示例:如果 TDTS=125ns (8MHz),则可能的死区值为: 0 到 15875 ns(步长为 125 ns), 16 us 到 

31750 ns(步长为 250 ns), 32 us 到 63us(步长为 1 us), 64 us 到 126 us(步长为 2 us)

注意: 只要编程了 LOCK(TIMx_BDTR 寄存器中的 LOCK 位)级别 1、 2 或 3,此位域即无法修改。


4.软件实现


u32 T_TDS=119;//11.904ns    168M系统时钟

    //    deat_num(0,255)

    if(death_num >0&& death_num<=127)//公式1

        death_time=(float)death_num*T_TDS/10000;

    else if(death_num>=128 && death_num<=191)//公式2

        death_time=(float)(death_num-128)*2*T_TDS/10000;

    else if(death_num>=192 && death_num<=223)//公式3

        death_time=(float)(death_num-160)*8*T_TDS/10000;

    else if(death_num>=224 && death_num<=255)//公式4

        death_time=(float)(death_num-192)*16*T_TDS/10000;

    else

        death_time=death_time;


软件改进:


    u32 T_TDS=168;//11.904ns    168M系统时钟

    //deat_num--->(0,255)

    if(death_num >0&& death_num<=127)//公式1

        death_time=(float)death_num/T_TDS;

    else if(death_num>=128 && death_num<=191)//公式2

        death_time=(float)(death_num-128)*2/T_TDS;

    else if(death_num>=192 && death_num<=223)//公式3

        death_time=(float)(death_num-160)*8/T_TDS;

    else if(death_num>=224 && death_num<=255)//公式4

        death_time=(float)(death_num-192)*16/T_TDS;

    else

        death_time=death_time;


5.结果现象展示

死区验证

关键字:STM32  高级定时器  死区时间 引用地址:STM32高级定时器死区时间的配置及计算

上一篇:STM32定时器产生PWM--呼吸灯
下一篇:STM32之高级定时器互补输出

推荐阅读

据权威人士预测,到2020年,世界电动车市场总量将翻一倍,年增长率将会在30%以上,其中,中国对电动汽车的市场需求量无疑将是最大的。然而电动汽车动力电池的充放电、续航能力以及使用寿命等依旧是我们亟需解决的问题,为此电池管理系统(BMS)随之产生。 【数据来源:摩根士丹利】 那么,什么是电池管理系统呢?详细来说,电池管理系统(BMS)的主要作...
var videoObject = { container: '.video', variable: 'player', autoplay: true, ...
变频一词屡见不鲜,变频冰箱可以更好的控制温度波动,变频空调吹出的风更加舒适,那么打着“变频”旗号的洗衣机又有何优势呢? 首先咱们来看一下变频洗衣机和定频洗衣机的区别,洗衣机內桶是由电动机带动的,而采用定频电机的是定频洗衣机,采用变频电机的就是变频洗衣机了。定频洗衣机:定频洗衣机开始工作后,其电机的速度会保持不变,直到洗涤完毕为止。...
上海国际食品加工与包装机械联合展览会在(上海)国家会展中心隆重开幕。欧姆龙以「i-Automation!」理念,凭借各种明星产品和数字化解决方案,重磅亮相8.1馆E30展位,全方位展示欧姆龙强大的技术实力。 ▪ 人机协作码垛机 该方案可以解决人力资源短缺的问题,降低劳损等工伤风险,提高生产效率。协作机器人在现有生产线上实现自动化装载,无需设置安全护...

史海拾趣

小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved