根据datasheet里的以下说明,算出各种主频下,DTG赋值和具体死区时间的对应关系,可供查询参考。
在168M的定时器时钟下 :
DTS=1/168M=5.95238ns。
所以第一个公式,死区时间能从5.95ns的步进从0调整到 127*5.95=755.95ns
第二个公式,(64 +0 )*2*5.95 ~(64 + 63)*2*5.95 = 761.9 ~ 1511.9ns
第三个公式, (256 ~ 504)*5.95= 1.5238us ~ 3us
第四个公式, (512 ~ 1008)*5.95 = 3.0476us ~ 6us
我设置为224(E0),就是11100000,DT=(32 + 0)*(16*f) = 3us
我要把死区设为2us,在第三个公式,倒推出DTG【7:0】=202;
我要把死区设为1.5us,在第二个公式,倒推出DTG【7:0】=190;
我要把死区设为1us,在第二个公式,倒推出DTG【7:0】=148;
我要把死区设为900ns,在第二个公式,倒推出DTG【7:0】=139;//892ns
倒推出DTG【7:0】=140;//904.4ns
我要把死区设为800ns,在第二个公式,倒推出DTG【7:0】=131;//797.3ns
我要把死区设为700ns,在第一个公式,倒推出DTG【7:0】=118;//702.1ns
我要把死区设为600ns,在第一个公式,倒推出DTG【7:0】=101;//600.95ns
我要把死区设为500ns,在第一个公式,倒推出DTG【7:0】=84;//499.8ns
我要把死区设为400ns,在第一个公式,倒推出DTG【7:0】=67;//398.65ns
我要把死区设为300ns,在第一个公式,倒推出DTG【7:0】=50;//297.5ns
在144M的定时器时钟下 :
TDTS=1/144M=6.94444。
所以第一个公式,死区时间能从5.95ns的步进从0调整到 127*6.94444=881.94ns
第二个公式,(64 +0 )*2*6.94444~(64 + 63)*2*6.94444= 888.88ns~ 1763.88ns
第三个公式, (256 ~ 504)*6.94444= 1.7777us~ 3.5us
第四个公式, (512 ~ 1008)*6.94444=
我要把死区设为1.5us,在第二个公式,倒推出DTG【7:0】=173;
我要把死区设为1.2us,在第二个公式,倒推出DTG【7:0】=150;
我要把死区设为1.1us,在第二个公式,倒推出DTG【7:0】=143;
我要把死区设为1us,在第二个公式,倒推出DTG【7:0】=136;
我要把死区设为900ns,在第二个公式,倒推出DTG【7:0】=139;//902.77ns
我要把死区设为800ns,在第一个公式,倒推出DTG【7:0】=115;//798.6ns
我要把死区设为700ns,在第一个公式,倒推出DTG【7:0】=101;
我要把死区设为600ns,在第一个公式,倒推出DTG【7:0】=86;
我要把死区设为500ns,在第一个公式,倒推出DTG【7:0】=72;
在72M的定时器时钟下:
TDTS=1/72M=13.888。
所以第一个公式,死区时间能从5.95ns的步进从0调整到 127*13.888=1763.88ns