|
@@ -80,7 +80,6 @@ void pwm_voInit(void)
|
|
|
pwm_stGenOut.uwOldTrig = 0;
|
|
|
pwm_stGenOut.uwNewTrig = 0;
|
|
|
pwm_stGenOut.uwSampleArea = IgnoreNone;
|
|
|
-// pwm_stGenOut.uwRDSONTrig = 108;
|
|
|
pwm_stGenOut.uwRDSONTrig = 129;
|
|
|
pwm_stGenOut.uwSigRTrig = HW_HHHPWM_PERIOD;
|
|
|
}
|
|
@@ -357,7 +356,229 @@ void pwm_voGen(PWM_GEN_IN *in, PWM_CALC_COF *coef, PWM_GEN_OUT *out)
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- if(cp_stFlg.CurrentSampleModelSelect == SINGLERESISITANCE)
|
|
|
+ if(cp_stFlg.CurrentSampleModelSelect == COMBINATION)
|
|
|
+ {
|
|
|
+ /*================================================================
|
|
|
+ Calculate compare value
|
|
|
+ ================================================================*/
|
|
|
+ if ((swOvmT1 + swOvmT2) > coef->swPWM7To5DutyPu) /* Five SVPWM */
|
|
|
+ {
|
|
|
+ swPWMPRD1 = coef->uwHPWMPd;
|
|
|
+ swPWMPRD2 = ((ULONG)(16384 - swOvmT2) * coef->uwHPWMPd) >> 14;
|
|
|
+ swPWMPRD3 = ((ULONG)(16384 - swOvmT1 - swOvmT2) * coef->uwHPWMPd) >> 14;
|
|
|
+ }
|
|
|
+ else /* Seven SVPWM */
|
|
|
+ {
|
|
|
+ swPWMPRD1 = ((ULONG)(16384 + swOvmT1 + swOvmT2) * coef->uwHHPWMPd) >> 14;
|
|
|
+ swPWMPRD2 = ((ULONG)(16384 + swOvmT1 - swOvmT2) * coef->uwHHPWMPd) >> 14;
|
|
|
+ swPWMPRD3 = ((ULONG)(16384 - swOvmT1 - swOvmT2) * coef->uwHHPWMPd) >> 14;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (swOvmT2 > coef->swPWMMinSample3Pu)
|
|
|
+ {
|
|
|
+ out->blSampleCalibFlag = TRUE;
|
|
|
+ //out->uwSigRTrig = swPWMPRD2 + coef->uwSingelResisSampleCt;
|
|
|
+ out->uwSigRTrig = swPWMPRD1 - coef->uwSingelResisSampleCt;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ out->blSampleCalibFlag = FALSE;
|
|
|
+ out->uwSigRTrig = HW_HHHPWM_PERIOD;
|
|
|
+ }
|
|
|
+
|
|
|
+ out->uwSingelRSampleAreaLast = out->uwSingelRSampleArea;
|
|
|
+ if(1)//hw_blChrgOvrFlg == TRUE)
|
|
|
+ {
|
|
|
+ switch (uwSector)
|
|
|
+ {
|
|
|
+ case 3:
|
|
|
+ out->uwNewTIM1COMPR[0] = swPWMPRD3;
|
|
|
+ out->uwNewTIM1COMPR[1] = swPWMPRD2;
|
|
|
+ out->uwNewTIM1COMPR[2] = swPWMPRD1;
|
|
|
+ out->uwNewTIM1COMPR[3] = swPWMPRD3;
|
|
|
+ out->uwNewTIM1COMPR[4] = swPWMPRD2;
|
|
|
+ out->uwNewTIM1COMPR[5] = swPWMPRD1;
|
|
|
+ if (out->blSampleCalibFlag == TRUE)
|
|
|
+ {
|
|
|
+ out->uwSingelRSampleArea = SampleC;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ out->uwSingelRSampleArea = SampleNone;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ out->uwNewTIM1COMPR[0] = swPWMPRD2;
|
|
|
+ out->uwNewTIM1COMPR[1] = swPWMPRD3;
|
|
|
+ out->uwNewTIM1COMPR[2] = swPWMPRD1;
|
|
|
+ out->uwNewTIM1COMPR[3] = swPWMPRD2;
|
|
|
+ out->uwNewTIM1COMPR[4] = swPWMPRD3;
|
|
|
+ out->uwNewTIM1COMPR[5] = swPWMPRD1;
|
|
|
+ if (out->blSampleCalibFlag == TRUE)
|
|
|
+ {
|
|
|
+ out->uwSingelRSampleArea = SampleC;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ out->uwSingelRSampleArea = SampleNone;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ out->uwNewTIM1COMPR[0] = swPWMPRD1;
|
|
|
+ out->uwNewTIM1COMPR[1] = swPWMPRD3;
|
|
|
+ out->uwNewTIM1COMPR[2] = swPWMPRD2;
|
|
|
+ out->uwNewTIM1COMPR[3] = swPWMPRD1;
|
|
|
+ out->uwNewTIM1COMPR[4] = swPWMPRD3;
|
|
|
+ out->uwNewTIM1COMPR[5] = swPWMPRD2;
|
|
|
+ if (out->blSampleCalibFlag == TRUE)
|
|
|
+ {
|
|
|
+ out->uwSingelRSampleArea = SampleA;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ out->uwSingelRSampleArea = SampleNone;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ out->uwNewTIM1COMPR[0] = swPWMPRD1;
|
|
|
+ out->uwNewTIM1COMPR[1] = swPWMPRD2;
|
|
|
+ out->uwNewTIM1COMPR[2] = swPWMPRD3;
|
|
|
+ out->uwNewTIM1COMPR[3] = swPWMPRD1;
|
|
|
+ out->uwNewTIM1COMPR[4] = swPWMPRD2;
|
|
|
+ out->uwNewTIM1COMPR[5] = swPWMPRD3;
|
|
|
+ if (out->blSampleCalibFlag == TRUE)
|
|
|
+ {
|
|
|
+ out->uwSingelRSampleArea = SampleA;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ out->uwSingelRSampleArea = SampleNone;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ out->uwNewTIM1COMPR[0] = swPWMPRD2;
|
|
|
+ out->uwNewTIM1COMPR[1] = swPWMPRD1;
|
|
|
+ out->uwNewTIM1COMPR[2] = swPWMPRD3;
|
|
|
+ out->uwNewTIM1COMPR[3] = swPWMPRD2;
|
|
|
+ out->uwNewTIM1COMPR[4] = swPWMPRD1;
|
|
|
+ out->uwNewTIM1COMPR[5] = swPWMPRD3;
|
|
|
+ if (out->blSampleCalibFlag == TRUE)
|
|
|
+ {
|
|
|
+ out->uwSingelRSampleArea = SampleB;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ out->uwSingelRSampleArea = SampleNone;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ out->uwNewTIM1COMPR[0] = swPWMPRD3;
|
|
|
+ out->uwNewTIM1COMPR[1] = swPWMPRD1;
|
|
|
+ out->uwNewTIM1COMPR[2] = swPWMPRD2;
|
|
|
+ out->uwNewTIM1COMPR[3] = swPWMPRD3;
|
|
|
+ out->uwNewTIM1COMPR[4] = swPWMPRD1;
|
|
|
+ out->uwNewTIM1COMPR[5] = swPWMPRD2;
|
|
|
+ if (out->blSampleCalibFlag == TRUE)
|
|
|
+ {
|
|
|
+ out->uwSingelRSampleArea = SampleB;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ out->uwSingelRSampleArea = SampleNone;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ out->uwNewTIM1COMPR[0] = coef->uwHHPWMPd;
|
|
|
+ out->uwNewTIM1COMPR[1] = coef->uwHHPWMPd;
|
|
|
+ out->uwNewTIM1COMPR[2] = coef->uwHHPWMPd;
|
|
|
+ out->uwNewTIM1COMPR[3] = coef->uwHHPWMPd;
|
|
|
+ out->uwNewTIM1COMPR[4] = coef->uwHHPWMPd;
|
|
|
+ out->uwNewTIM1COMPR[5] = coef->uwHHPWMPd;
|
|
|
+ out->uwSingelRSampleArea = SampleNone;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /* Calculate actual output voltage */
|
|
|
+ out->uwNewSectorNum = uwSector;
|
|
|
+ out->uwPWMNewSectorNum = out->uwNewSectorNum;
|
|
|
+
|
|
|
+ tmp_swPeriodA = coef->uwPWMPd - out->uwNewTIM1COMPR[0] - out->uwNewTIM1COMPR[3];
|
|
|
+ tmp_swPeriodB = coef->uwPWMPd - out->uwNewTIM1COMPR[1] - out->uwNewTIM1COMPR[4];
|
|
|
+ tmp_swPeriodC = coef->uwPWMPd - out->uwNewTIM1COMPR[2] - out->uwNewTIM1COMPR[5];
|
|
|
+
|
|
|
+ swUaPu = ((((SLONG)tmp_swPeriodA * coef->ulPWMPerInv) >> 5) * in->uwVdcPu) >> 16; // Q21-Q5+Q14-Q16=Q14
|
|
|
+ swUbPu = ((((SLONG)tmp_swPeriodB * coef->ulPWMPerInv) >> 5) * in->uwVdcPu) >> 16; // Q21-Q5+Q14-Q16=Q14
|
|
|
+ swUcPu = ((((SLONG)tmp_swPeriodC * coef->ulPWMPerInv) >> 5) * in->uwVdcPu) >> 16; // Q21-Q5+Q14-Q16=Q14
|
|
|
+
|
|
|
+ out->swUalphaPu = (swUaPu + swUaPu - swUbPu - swUcPu) * PWM_1DIV3 >> 14; // Q14=Q14+Q14-Q14
|
|
|
+ out->swUbetaPu = (swUbPu - swUcPu) * PWM_SQRT3_INV >> 14; // Q14=Q14+Q14-Q14
|
|
|
+
|
|
|
+ // if((16384-swOvmT1-swOvmT2)>coef->swPWMMinSample1Pu)
|
|
|
+ // {
|
|
|
+ // out->uwSampleArea = IgnoreNone;
|
|
|
+ out->uwRDSONTrig = 129;
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // if(swOvmT1>coef->swPWMMinSample1Pu)
|
|
|
+ // {
|
|
|
+ // switch(uwSector)
|
|
|
+ // {
|
|
|
+ // case 3:
|
|
|
+ // out->uwSampleArea = IgnoreA;
|
|
|
+ // break;
|
|
|
+ // case 1:
|
|
|
+ // out->uwSampleArea = IgnoreB;
|
|
|
+ // break;
|
|
|
+ // case 5:
|
|
|
+ // out->uwSampleArea = IgnoreB;
|
|
|
+ // break;
|
|
|
+ // case 4:
|
|
|
+ // out->uwSampleArea = IgnoreC;
|
|
|
+ // break;
|
|
|
+ // case 6:
|
|
|
+ // out->uwSampleArea = IgnoreC;
|
|
|
+ // break;
|
|
|
+ // case 2:
|
|
|
+ // out->uwSampleArea = IgnoreA;
|
|
|
+ // break;
|
|
|
+ // default:
|
|
|
+ // out->uwSampleArea = IgnoreNone;
|
|
|
+ // break;
|
|
|
+ // }
|
|
|
+ // out->uwRDSONTrig = swPWMPRD3 + coef->uwSampleSteadyCt;
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // switch(uwSector)
|
|
|
+ // {
|
|
|
+ // case 3:
|
|
|
+ // out->uwSampleArea = IgnoreAB;
|
|
|
+ // break;
|
|
|
+ // case 1:
|
|
|
+ // out->uwSampleArea = IgnoreAB;
|
|
|
+ // break;
|
|
|
+ // case 5:
|
|
|
+ // out->uwSampleArea = IgnoreBC;
|
|
|
+ // break;
|
|
|
+ // case 4:
|
|
|
+ // out->uwSampleArea = IgnoreBC;
|
|
|
+ // break;
|
|
|
+ // case 6:
|
|
|
+ // out->uwSampleArea = IgnoreAC;
|
|
|
+ // break;
|
|
|
+ // case 2:
|
|
|
+ // out->uwSampleArea = IgnoreAC;
|
|
|
+ // break;
|
|
|
+ // default:
|
|
|
+ // out->uwSampleArea = IgnoreNone;
|
|
|
+ // break;
|
|
|
+ // }
|
|
|
+ // out->uwRDSONTrig = swPWMPRD2 + coef->uwSampleSteadyCt;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ }
|
|
|
+ else if(cp_stFlg.CurrentSampleModelSelect == SINGLERESISITANCE)
|
|
|
{
|
|
|
SWORD swPWMPRD11=0;
|
|
|
SWORD swPWMPRD21=0;
|
|
@@ -645,7 +866,6 @@ void pwm_voGen(PWM_GEN_IN *in, PWM_CALC_COF *coef, PWM_GEN_OUT *out)
|
|
|
if ((16384 - swOvmT1 - swOvmT2) > coef->swPWMMinSample1Pu)
|
|
|
{
|
|
|
out->uwSampleArea = IgnoreNone;
|
|
|
- // out->uwRDSONTrig = 108;
|
|
|
out->uwRDSONTrig = 129;
|
|
|
}
|
|
|
else
|
|
@@ -708,233 +928,6 @@ void pwm_voGen(PWM_GEN_IN *in, PWM_CALC_COF *coef, PWM_GEN_OUT *out)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- else if(cp_stFlg.CurrentSampleModelSelect == COMBINATION)
|
|
|
- {
|
|
|
- /*================================================================
|
|
|
- Calculate compare value
|
|
|
- ================================================================*/
|
|
|
- if ((swOvmT1 + swOvmT2) > coef->swPWM7To5DutyPu) /* Five SVPWM */
|
|
|
- {
|
|
|
- swPWMPRD1 = coef->uwHPWMPd;
|
|
|
- swPWMPRD2 = ((ULONG)(16384 - swOvmT2) * coef->uwHPWMPd) >> 14;
|
|
|
- swPWMPRD3 = ((ULONG)(16384 - swOvmT1 - swOvmT2) * coef->uwHPWMPd) >> 14;
|
|
|
- }
|
|
|
- else /* Seven SVPWM */
|
|
|
- {
|
|
|
- swPWMPRD1 = ((ULONG)(16384 + swOvmT1 + swOvmT2) * coef->uwHHPWMPd) >> 14;
|
|
|
- swPWMPRD2 = ((ULONG)(16384 + swOvmT1 - swOvmT2) * coef->uwHHPWMPd) >> 14;
|
|
|
- swPWMPRD3 = ((ULONG)(16384 - swOvmT1 - swOvmT2) * coef->uwHHPWMPd) >> 14;
|
|
|
- }
|
|
|
-
|
|
|
- if (swOvmT2 > coef->swPWMMinSample3Pu)
|
|
|
- {
|
|
|
- out->blSampleCalibFlag = TRUE;
|
|
|
- out->uwSigRTrig = swPWMPRD2 + coef->uwSingelResisSampleCt;
|
|
|
- }
|
|
|
- // else if(swOvmT1>coef->swPWMMinSample3Pu)
|
|
|
- // {
|
|
|
- // out->blSampleCalibFlag = TRUE;
|
|
|
- // out->uwSigRTrig = swPWMPRD3 - coef->uwSingelResisSampleCt;
|
|
|
- // }
|
|
|
- else
|
|
|
- {
|
|
|
- out->blSampleCalibFlag = FALSE;
|
|
|
- out->uwSigRTrig = HW_HHHPWM_PERIOD;
|
|
|
- }
|
|
|
-
|
|
|
- out->uwSingelRSampleAreaLast = out->uwSingelRSampleArea;
|
|
|
- if(1)//hw_blChrgOvrFlg == TRUE)
|
|
|
- {
|
|
|
- switch (uwSector)
|
|
|
- {
|
|
|
- case 3:
|
|
|
- out->uwNewTIM1COMPR[0] = swPWMPRD3;
|
|
|
- out->uwNewTIM1COMPR[1] = swPWMPRD2;
|
|
|
- out->uwNewTIM1COMPR[2] = swPWMPRD1;
|
|
|
- out->uwNewTIM1COMPR[3] = swPWMPRD3;
|
|
|
- out->uwNewTIM1COMPR[4] = swPWMPRD2;
|
|
|
- out->uwNewTIM1COMPR[5] = swPWMPRD1;
|
|
|
- if (out->blSampleCalibFlag == TRUE)
|
|
|
- {
|
|
|
- out->uwSingelRSampleArea = SampleC;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- out->uwSingelRSampleArea = SampleNone;
|
|
|
- }
|
|
|
- break;
|
|
|
- case 1:
|
|
|
- out->uwNewTIM1COMPR[0] = swPWMPRD2;
|
|
|
- out->uwNewTIM1COMPR[1] = swPWMPRD3;
|
|
|
- out->uwNewTIM1COMPR[2] = swPWMPRD1;
|
|
|
- out->uwNewTIM1COMPR[3] = swPWMPRD2;
|
|
|
- out->uwNewTIM1COMPR[4] = swPWMPRD3;
|
|
|
- out->uwNewTIM1COMPR[5] = swPWMPRD1;
|
|
|
- if (out->blSampleCalibFlag == TRUE)
|
|
|
- {
|
|
|
- out->uwSingelRSampleArea = SampleC;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- out->uwSingelRSampleArea = SampleNone;
|
|
|
- }
|
|
|
- break;
|
|
|
- case 5:
|
|
|
- out->uwNewTIM1COMPR[0] = swPWMPRD1;
|
|
|
- out->uwNewTIM1COMPR[1] = swPWMPRD3;
|
|
|
- out->uwNewTIM1COMPR[2] = swPWMPRD2;
|
|
|
- out->uwNewTIM1COMPR[3] = swPWMPRD1;
|
|
|
- out->uwNewTIM1COMPR[4] = swPWMPRD3;
|
|
|
- out->uwNewTIM1COMPR[5] = swPWMPRD2;
|
|
|
- if (out->blSampleCalibFlag == TRUE)
|
|
|
- {
|
|
|
- out->uwSingelRSampleArea = SampleA;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- out->uwSingelRSampleArea = SampleNone;
|
|
|
- }
|
|
|
- break;
|
|
|
- case 4:
|
|
|
- out->uwNewTIM1COMPR[0] = swPWMPRD1;
|
|
|
- out->uwNewTIM1COMPR[1] = swPWMPRD2;
|
|
|
- out->uwNewTIM1COMPR[2] = swPWMPRD3;
|
|
|
- out->uwNewTIM1COMPR[3] = swPWMPRD1;
|
|
|
- out->uwNewTIM1COMPR[4] = swPWMPRD2;
|
|
|
- out->uwNewTIM1COMPR[5] = swPWMPRD3;
|
|
|
- if (out->blSampleCalibFlag == TRUE)
|
|
|
- {
|
|
|
- out->uwSingelRSampleArea = SampleA;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- out->uwSingelRSampleArea = SampleNone;
|
|
|
- }
|
|
|
- break;
|
|
|
- case 6:
|
|
|
- out->uwNewTIM1COMPR[0] = swPWMPRD2;
|
|
|
- out->uwNewTIM1COMPR[1] = swPWMPRD1;
|
|
|
- out->uwNewTIM1COMPR[2] = swPWMPRD3;
|
|
|
- out->uwNewTIM1COMPR[3] = swPWMPRD2;
|
|
|
- out->uwNewTIM1COMPR[4] = swPWMPRD1;
|
|
|
- out->uwNewTIM1COMPR[5] = swPWMPRD3;
|
|
|
- if (out->blSampleCalibFlag == TRUE)
|
|
|
- {
|
|
|
- out->uwSingelRSampleArea = SampleB;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- out->uwSingelRSampleArea = SampleNone;
|
|
|
- }
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- out->uwNewTIM1COMPR[0] = swPWMPRD3;
|
|
|
- out->uwNewTIM1COMPR[1] = swPWMPRD1;
|
|
|
- out->uwNewTIM1COMPR[2] = swPWMPRD2;
|
|
|
- out->uwNewTIM1COMPR[3] = swPWMPRD3;
|
|
|
- out->uwNewTIM1COMPR[4] = swPWMPRD1;
|
|
|
- out->uwNewTIM1COMPR[5] = swPWMPRD2;
|
|
|
- if (out->blSampleCalibFlag == TRUE)
|
|
|
- {
|
|
|
- out->uwSingelRSampleArea = SampleB;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- out->uwSingelRSampleArea = SampleNone;
|
|
|
- }
|
|
|
- break;
|
|
|
- default:
|
|
|
- out->uwNewTIM1COMPR[0] = coef->uwHHPWMPd;
|
|
|
- out->uwNewTIM1COMPR[1] = coef->uwHHPWMPd;
|
|
|
- out->uwNewTIM1COMPR[2] = coef->uwHHPWMPd;
|
|
|
- out->uwNewTIM1COMPR[3] = coef->uwHHPWMPd;
|
|
|
- out->uwNewTIM1COMPR[4] = coef->uwHHPWMPd;
|
|
|
- out->uwNewTIM1COMPR[5] = coef->uwHHPWMPd;
|
|
|
- out->uwSingelRSampleArea = SampleNone;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- /* Calculate actual output voltage */
|
|
|
- out->uwNewSectorNum = uwSector;
|
|
|
- out->uwPWMNewSectorNum = out->uwNewSectorNum;
|
|
|
-
|
|
|
- tmp_swPeriodA = coef->uwPWMPd - out->uwNewTIM1COMPR[0] - out->uwNewTIM1COMPR[3];
|
|
|
- tmp_swPeriodB = coef->uwPWMPd - out->uwNewTIM1COMPR[1] - out->uwNewTIM1COMPR[4];
|
|
|
- tmp_swPeriodC = coef->uwPWMPd - out->uwNewTIM1COMPR[2] - out->uwNewTIM1COMPR[5];
|
|
|
-
|
|
|
- swUaPu = ((((SLONG)tmp_swPeriodA * coef->ulPWMPerInv) >> 5) * in->uwVdcPu) >> 16; // Q21-Q5+Q14-Q16=Q14
|
|
|
- swUbPu = ((((SLONG)tmp_swPeriodB * coef->ulPWMPerInv) >> 5) * in->uwVdcPu) >> 16; // Q21-Q5+Q14-Q16=Q14
|
|
|
- swUcPu = ((((SLONG)tmp_swPeriodC * coef->ulPWMPerInv) >> 5) * in->uwVdcPu) >> 16; // Q21-Q5+Q14-Q16=Q14
|
|
|
-
|
|
|
- out->swUalphaPu = (swUaPu + swUaPu - swUbPu - swUcPu) * PWM_1DIV3 >> 14; // Q14=Q14+Q14-Q14
|
|
|
- out->swUbetaPu = (swUbPu - swUcPu) * PWM_SQRT3_INV >> 14; // Q14=Q14+Q14-Q14
|
|
|
-
|
|
|
- // if((16384-swOvmT1-swOvmT2)>coef->swPWMMinSample1Pu)
|
|
|
- // {
|
|
|
- // out->uwSampleArea = IgnoreNone;
|
|
|
- // out->uwRDSONTrig = 108;
|
|
|
- out->uwRDSONTrig = 129 ;
|
|
|
- // }
|
|
|
- // else
|
|
|
- // {
|
|
|
- // if(swOvmT1>coef->swPWMMinSample1Pu)
|
|
|
- // {
|
|
|
- // switch(uwSector)
|
|
|
- // {
|
|
|
- // case 3:
|
|
|
- // out->uwSampleArea = IgnoreA;
|
|
|
- // break;
|
|
|
- // case 1:
|
|
|
- // out->uwSampleArea = IgnoreB;
|
|
|
- // break;
|
|
|
- // case 5:
|
|
|
- // out->uwSampleArea = IgnoreB;
|
|
|
- // break;
|
|
|
- // case 4:
|
|
|
- // out->uwSampleArea = IgnoreC;
|
|
|
- // break;
|
|
|
- // case 6:
|
|
|
- // out->uwSampleArea = IgnoreC;
|
|
|
- // break;
|
|
|
- // case 2:
|
|
|
- // out->uwSampleArea = IgnoreA;
|
|
|
- // break;
|
|
|
- // default:
|
|
|
- // out->uwSampleArea = IgnoreNone;
|
|
|
- // break;
|
|
|
- // }
|
|
|
- // out->uwRDSONTrig = swPWMPRD3 + coef->uwSampleSteadyCt;
|
|
|
- // }
|
|
|
- // else
|
|
|
- // {
|
|
|
- // switch(uwSector)
|
|
|
- // {
|
|
|
- // case 3:
|
|
|
- // out->uwSampleArea = IgnoreAB;
|
|
|
- // break;
|
|
|
- // case 1:
|
|
|
- // out->uwSampleArea = IgnoreAB;
|
|
|
- // break;
|
|
|
- // case 5:
|
|
|
- // out->uwSampleArea = IgnoreBC;
|
|
|
- // break;
|
|
|
- // case 4:
|
|
|
- // out->uwSampleArea = IgnoreBC;
|
|
|
- // break;
|
|
|
- // case 6:
|
|
|
- // out->uwSampleArea = IgnoreAC;
|
|
|
- // break;
|
|
|
- // case 2:
|
|
|
- // out->uwSampleArea = IgnoreAC;
|
|
|
- // break;
|
|
|
- // default:
|
|
|
- // out->uwSampleArea = IgnoreNone;
|
|
|
- // break;
|
|
|
- // }
|
|
|
- // out->uwRDSONTrig = swPWMPRD2 + coef->uwSampleSteadyCt;
|
|
|
- // }
|
|
|
- // }
|
|
|
- }
|
|
|
else
|
|
|
{}
|
|
|
|