TMS320F28069F: proj_lab10a中的fdutyLimit怎么计算的

Part Number: TMS320F28069F
Other Parts Discussed in Thread: MOTORWARE

现在在跑F28069F的例程。例程是C:\ti\motorware\motorware_1_01_00_18\sw\solutions\instaspin_foc\boards\hvkit_rev1p1\f28x\f2806xF\projects\ccs\proj_lab10a。

对其中的一些算法有些不太理解。

1. float_t fdutyLimit = 0.5-(2.0*minWidth_microseconds*USER_PWM_FREQ_kHz*0.001);

   a.  这个公式里面为什么最大占空比是0.5?为什么对应这个fdutyLimit 值的时候,输出电压是最大的?

   b. 后面公式中的2.0 是什么意思,为什么要乘以2?minWidth_microseconds对应的是下图中的A时间段吗?

      

2.这个过调制的补偿算法不太理解。这样减去一个Offset,而不是同比例减小,会不会导致实际合成矢量与原适量的方向有偏差?

  下面这个补偿原理是什么?

//phase voltage compensator
if(svgencurrent->compMode == one_phase_measurable)
{
Voffset = (Vmid + Vmid_prev) - (Vlimit <<1);

pPwmData->value[0] -= Voffset;
pPwmData->value[1] -= Voffset;
pPwmData->value[2] -= Voffset;
}