|
@@ -28,6 +28,8 @@ Revising History (ECL of this file):
|
|
#include "syspar.h"
|
|
#include "syspar.h"
|
|
#include "user.h"
|
|
#include "user.h"
|
|
#include "Temp.h"
|
|
#include "Temp.h"
|
|
|
|
+#include "api.h"
|
|
|
|
+#include "api_rt.h"
|
|
/************************************************************************
|
|
/************************************************************************
|
|
Constant Table:
|
|
Constant Table:
|
|
*************************************************************************/
|
|
*************************************************************************/
|
|
@@ -62,10 +64,11 @@ void adc_voCalibration(ADC_COF *cof, ADC_DOWN_OUT *out1, ADC_UP_OUT *out2)
|
|
pwm_stGenOut.blSampleCalibFlag = TRUE;
|
|
pwm_stGenOut.blSampleCalibFlag = TRUE;
|
|
if (out1->uwADCCalibCt < (1 << ADC_CALIB_INDEX))
|
|
if (out1->uwADCCalibCt < (1 << ADC_CALIB_INDEX))
|
|
{
|
|
{
|
|
- out1->ulIdcRegSum += adc_uwADDMAPhase1;
|
|
|
|
- out1->ulIaRegSum += adc_uwRdsonUReg;
|
|
|
|
- out1->ulIbRegSum += adc_uwRdsonVReg;
|
|
|
|
- out1->ulIcRegSum += adc_uwRdsonWReg;
|
|
|
|
|
|
+ out1->ulIdcRegSum += iAdc_GetResultPointer(2)[HW_ADC_IDC_CH];
|
|
|
|
+
|
|
|
|
+ out1->ulIaRegSum += iAdc_GetResultPointer(1)[HW_ADC_IA_CH];
|
|
|
|
+ out1->ulIbRegSum += iAdc_GetResultPointer(1)[HW_ADC_IB_CH];
|
|
|
|
+ out1->ulIcRegSum += iAdc_GetResultPointer(1)[HW_ADC_IC_CH];
|
|
out1->uwADCCalibCt++;
|
|
out1->uwADCCalibCt++;
|
|
}
|
|
}
|
|
else
|
|
else
|
|
@@ -93,7 +96,7 @@ void adc_voCalibration(ADC_COF *cof, ADC_DOWN_OUT *out1, ADC_UP_OUT *out2)
|
|
{
|
|
{
|
|
if (out1->uwADCCalibCt < (1 << ADC_CALIB_INDEX))
|
|
if (out1->uwADCCalibCt < (1 << ADC_CALIB_INDEX))
|
|
{
|
|
{
|
|
- out1->ulIdcRegSum += adc_uwADDMAPhase1 + adc_uwADDMAPhase2;
|
|
|
|
|
|
+ out1->ulIdcRegSum += iAdc_GetResultPointer(2)[HW_ADC_IDC_CH] + adc_uwADDMAPhase2;
|
|
out1->uwADCCalibCt++;
|
|
out1->uwADCCalibCt++;
|
|
}
|
|
}
|
|
else if (out2->uwADCCalibCt < (1 << ADC_CALIB_INDEX))
|
|
else if (out2->uwADCCalibCt < (1 << ADC_CALIB_INDEX))
|
|
@@ -115,9 +118,9 @@ void adc_voCalibration(ADC_COF *cof, ADC_DOWN_OUT *out1, ADC_UP_OUT *out2)
|
|
{
|
|
{
|
|
if (out1->uwADCCalibCt < (1 << ADC_CALIB_INDEX))
|
|
if (out1->uwADCCalibCt < (1 << ADC_CALIB_INDEX))
|
|
{
|
|
{
|
|
- out1->ulIaRegSum += adc_uwRdsonUReg;
|
|
|
|
- out1->ulIbRegSum += adc_uwRdsonVReg;
|
|
|
|
- out1->ulIcRegSum += adc_uwRdsonWReg;
|
|
|
|
|
|
+ out1->ulIaRegSum += iAdc_GetResultPointer(1)[HW_ADC_IA_CH];
|
|
|
|
+ out1->ulIbRegSum += iAdc_GetResultPointer(1)[HW_ADC_IB_CH];
|
|
|
|
+ out1->ulIcRegSum += iAdc_GetResultPointer(1)[HW_ADC_IC_CH];
|
|
out1->uwADCCalibCt++;
|
|
out1->uwADCCalibCt++;
|
|
}
|
|
}
|
|
else
|
|
else
|
|
@@ -159,9 +162,9 @@ void adc_voSampleDown(const ADC_COF *cof, ADC_DOWN_OUT *out) /* parasoft-suppres
|
|
|
|
|
|
if(cp_stFlg.CurrentSampleModelSelect == COMBINATION)
|
|
if(cp_stFlg.CurrentSampleModelSelect == COMBINATION)
|
|
{
|
|
{
|
|
- out->uwIaReg = adc_uwRdsonUReg;
|
|
|
|
- out->uwIbReg = adc_uwRdsonVReg;
|
|
|
|
- out->uwIcReg = adc_uwRdsonWReg;
|
|
|
|
|
|
+ out->uwIaReg = iAdc_GetResultPointer(1)[HW_ADC_IA_CH];
|
|
|
|
+ out->uwIbReg = iAdc_GetResultPointer(1)[HW_ADC_IB_CH];
|
|
|
|
+ out->uwIcReg = iAdc_GetResultPointer(1)[HW_ADC_IC_CH];
|
|
|
|
|
|
out->slSampIaPu = -(((SWORD)out->uwIaReg - (SWORD)cof->uwIaOffset) * (SLONG)cof->uwCurReg2Pu >> 10); // Q14=Q24-Q10
|
|
out->slSampIaPu = -(((SWORD)out->uwIaReg - (SWORD)cof->uwIaOffset) * (SLONG)cof->uwCurReg2Pu >> 10); // Q14=Q24-Q10
|
|
out->slSampIbPu = -(((SWORD)out->uwIbReg - (SWORD)cof->uwIbOffset) * (SLONG)cof->uwCurReg2Pu >> 10); // Q14=Q24-Q10
|
|
out->slSampIbPu = -(((SWORD)out->uwIbReg - (SWORD)cof->uwIbOffset) * (SLONG)cof->uwCurReg2Pu >> 10); // Q14=Q24-Q10
|
|
@@ -176,7 +179,7 @@ void adc_voSampleDown(const ADC_COF *cof, ADC_DOWN_OUT *out) /* parasoft-suppres
|
|
SWORD tmp_swIphase1, tmp_swIphase2, tmp_swIphase3;
|
|
SWORD tmp_swIphase1, tmp_swIphase2, tmp_swIphase3;
|
|
|
|
|
|
/* Register value */
|
|
/* Register value */
|
|
- out->uwFirstCurREG = adc_uwADDMAPhase1; // Q12
|
|
|
|
|
|
+ out->uwFirstCurREG = iAdc_GetResultPointer(2)[HW_ADC_IDC_CH]; // Q12
|
|
out->uwSecondCurREG = adc_uwADDMAPhase2; // Q12
|
|
out->uwSecondCurREG = adc_uwADDMAPhase2; // Q12
|
|
|
|
|
|
tmp_swIphase1 = (SWORD)out->uwFirstCurREG - (SWORD)cof->uwIdcOffset;
|
|
tmp_swIphase1 = (SWORD)out->uwFirstCurREG - (SWORD)cof->uwIdcOffset;
|
|
@@ -229,9 +232,9 @@ void adc_voSampleDown(const ADC_COF *cof, ADC_DOWN_OUT *out) /* parasoft-suppres
|
|
else if(cp_stFlg.CurrentSampleModelSelect == RDSON)
|
|
else if(cp_stFlg.CurrentSampleModelSelect == RDSON)
|
|
{
|
|
{
|
|
SWORD tmp_swIphase1, tmp_swIphase2, tmp_swIphase3;
|
|
SWORD tmp_swIphase1, tmp_swIphase2, tmp_swIphase3;
|
|
- out->uwIaReg = adc_uwRdsonUReg;
|
|
|
|
- out->uwIbReg = adc_uwRdsonVReg;
|
|
|
|
- out->uwIcReg = adc_uwRdsonWReg;
|
|
|
|
|
|
+ out->uwIaReg = iAdc_GetResultPointer(1)[HW_ADC_IA_CH];
|
|
|
|
+ out->uwIbReg = iAdc_GetResultPointer(1)[HW_ADC_IB_CH];
|
|
|
|
+ out->uwIcReg = iAdc_GetResultPointer(1)[HW_ADC_IC_CH];
|
|
|
|
|
|
tmp_swIphase1 = (SWORD)-(((SWORD)out->uwIaReg - (SWORD)cof->uwIaOffset) * (SLONG)cof->uwCurReg2Pu >> 10); // Q14=Q24-Q10
|
|
tmp_swIphase1 = (SWORD)-(((SWORD)out->uwIaReg - (SWORD)cof->uwIaOffset) * (SLONG)cof->uwCurReg2Pu >> 10); // Q14=Q24-Q10
|
|
tmp_swIphase2 = (SWORD)-(((SWORD)out->uwIbReg - (SWORD)cof->uwIbOffset) * (SLONG)cof->uwCurReg2Pu >> 10); // Q14=Q24-Q10
|
|
tmp_swIphase2 = (SWORD)-(((SWORD)out->uwIbReg - (SWORD)cof->uwIbOffset) * (SLONG)cof->uwCurReg2Pu >> 10); // Q14=Q24-Q10
|
|
@@ -317,13 +320,13 @@ void adc_voSampleDown(const ADC_COF *cof, ADC_DOWN_OUT *out) /* parasoft-suppres
|
|
void adc_voSampleUp(const ADC_COF *cof, ADC_UP_OUT *out)
|
|
void adc_voSampleUp(const ADC_COF *cof, ADC_UP_OUT *out)
|
|
{
|
|
{
|
|
/* Register value */
|
|
/* Register value */
|
|
- out->uwVdcReg = hw_uwADC0[0];
|
|
|
|
- out->uwU6VReg = hw_uwADC0[1];
|
|
|
|
- out->uwU5VReg = hw_uwADC0[2];
|
|
|
|
- out->PCBTempReg = hw_uwADC0[3];
|
|
|
|
- out->TorqTempReg = hw_uwADC0[4];
|
|
|
|
- out->uwU12VReg = hw_uwADC0[5];
|
|
|
|
- out->uwThrottleReg = hw_uwADC0[6];
|
|
|
|
|
|
+ out->uwVdcReg = iAdc_GetResultPointer(0)[HW_ADC_UDC_CH];
|
|
|
|
+ out->uwU6VReg = iAdc_GetResultPointer(0)[HW_ADC_U6V_CH];
|
|
|
|
+ out->uwU5VReg = iAdc_GetResultPointer(0)[HW_ADC_U5V_CH];
|
|
|
|
+ out->PCBTempReg = iAdc_GetResultPointer(0)[HW_ADC_PCBTEMP_CH];
|
|
|
|
+ out->TorqTempReg = iAdc_GetResultPointer(0)[HW_ADC_MOTTEMP_CH];
|
|
|
|
+ out->uwU12VReg = iAdc_GetResultPointer(0)[HW_ADC_U12V_CH];
|
|
|
|
+ out->uwThrottleReg = iAdc_GetResultPointer(0)[HW_ADC_THRO_CH];
|
|
|
|
|
|
out->uwVdcPu = (UWORD)((ULONG)out->uwVdcReg * cof->uwVdcReg2Pu >> 10); // Q14=Q24-Q10
|
|
out->uwVdcPu = (UWORD)((ULONG)out->uwVdcReg * cof->uwVdcReg2Pu >> 10); // Q14=Q24-Q10
|
|
/* Vdc LPF */
|
|
/* Vdc LPF */
|
|
@@ -346,13 +349,13 @@ void adc_voSampleUp(const ADC_COF *cof, ADC_UP_OUT *out)
|
|
out->swCalibIcPu = 0;
|
|
out->swCalibIcPu = 0;
|
|
break;
|
|
break;
|
|
case SampleA:
|
|
case SampleA:
|
|
- out->swCalibIaPu = -(SWORD)((((SWORD)adc_uwADDMAPhase1 - (SWORD)cof->uwIdcOffset) * (SLONG)cof->uwCurIdcReg2Pu) >> 10); // Q14=Q24-Q10
|
|
|
|
|
|
+ out->swCalibIaPu = -(SWORD)((((SWORD)iAdc_GetResultPointer(2)[HW_ADC_IDC_CH] - (SWORD)cof->uwIdcOffset) * (SLONG)cof->uwCurIdcReg2Pu) >> 10); // Q14=Q24-Q10
|
|
break;
|
|
break;
|
|
case SampleB:
|
|
case SampleB:
|
|
- out->swCalibIbPu = -(SWORD)((((SWORD)adc_uwADDMAPhase1 - (SWORD)cof->uwIdcOffset) * (SLONG)cof->uwCurIdcReg2Pu) >> 10); // Q14=Q24-Q10
|
|
|
|
|
|
+ out->swCalibIbPu = -(SWORD)((((SWORD)iAdc_GetResultPointer(2)[HW_ADC_IDC_CH] - (SWORD)cof->uwIdcOffset) * (SLONG)cof->uwCurIdcReg2Pu) >> 10); // Q14=Q24-Q10
|
|
break;
|
|
break;
|
|
case SampleC:
|
|
case SampleC:
|
|
- out->swCalibIcPu = -(SWORD)((((SWORD)adc_uwADDMAPhase1 - (SWORD)cof->uwIdcOffset) * (SLONG)cof->uwCurIdcReg2Pu) >> 10); // Q14=Q24-Q10
|
|
|
|
|
|
+ out->swCalibIcPu = -(SWORD)((((SWORD)iAdc_GetResultPointer(2)[HW_ADC_IDC_CH] - (SWORD)cof->uwIdcOffset) * (SLONG)cof->uwCurIdcReg2Pu) >> 10); // Q14=Q24-Q10
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
break;
|
|
break;
|