为什么设置死区时间和波形的死区时间不一眼呢?

2019-08-01 16:17发布

我用的是2812,CPU是150MHZ。输出的是PWM1和PWM2,为互补。
EvaRegs.DBTCONA.bit.DBT=10;
EvaRegs.DBTCONA.bit.EDBT1=1;
EvaRegs.DBTCONA.bit.EDBT2=1;
EvaRegs.DBTCONA.bit.EDBT3=1;
EvaRegs.DBTCONA.bit.DBTPS=4;

这是我设置的死区时间。t=10*16/150us=1us.
但是我的仿真波形确实2us.是不是哪里出了问题,求解答
DS0010.BMP
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
zhangmangui
1楼-- · 2019-08-01 20:46
这个还要看你的分频等吧   
EvaRegs.DBTCONA.all = 0x0530;        //使能死区定时器,分频40/16=2.5M,死区时间5*0.4us=2us
gejt66
2楼-- · 2019-08-01 23:21
zhangmangui 发表于 2014-6-23 23:40
这个还要看你的分频等吧   
EvaRegs.DBTCONA.all = 0x0530;        //使能死区定时器,分频40/16=2.5M,死区时间5* ...

关键是死区时间的计算公式是什么?按照技术手册上
死区时间=DB定时器周期*DB预定标系数*CPU时钟周期。
但是弄出来的总是不对的。所以按照实际得到的波形推算出来
死区时间=DB定时器周期*DB预定标系数*HSPCLK时钟周期。

zhangmangui
3楼-- · 2019-08-02 02:11
gejt66 发表于 2014-6-24 08:29
关键是死区时间的计算公式是什么?按照技术手册上
死区时间=DB定时器周期*DB预定标系数*CPU时钟周期。
但 ...

记不得公式了 应该是用高速外设时钟比较合理
gejt66
4楼-- · 2019-08-02 05:26
 精彩回答 2  元偷偷看……

一周热门 更多>