рефакторинг
This commit is contained in:
parent
1bbaaa7f9a
commit
6c12d60296
Binary file not shown.
@ -230,25 +230,9 @@ __interrupt void epwm11_isr(void)
|
||||
EPwm11Regs.CMPB.bit.CMPB = PWM_test;
|
||||
EPwm11Regs.CMPC = PWM_test;
|
||||
EPwm11Regs.CMPD = PWM_test;
|
||||
//
|
||||
// Clear INT flag for this timer
|
||||
//
|
||||
sdfm_clr_index();
|
||||
|
||||
EALLOW;
|
||||
Sdfm1Regs.SDIFLGCLR.all = 0xFFFFFFFF;
|
||||
Sdfm2Regs.SDIFLGCLR.all = 0xFFFFFFFF;
|
||||
Sdfm1Regs.SDCPARM4.bit.MFIE = 1;
|
||||
Sdfm1Regs.SDDFPARM4.bit.AE = 1;
|
||||
Sdfm2Regs.SDCPARM1.bit.MFIE = 1;
|
||||
Sdfm2Regs.SDDFPARM1.bit.AE = 1;
|
||||
Sdfm2Regs.SDCPARM3.bit.MFIE = 1;
|
||||
Sdfm2Regs.SDDFPARM3.bit.AE = 1;
|
||||
EDIS;
|
||||
sdfm_start_conversion_current();
|
||||
|
||||
|
||||
// vectorControl();
|
||||
// FMSTR_enable_set();
|
||||
PwmFlagStartADC = 1;
|
||||
EPwm11Regs.ETCLR.bit.INT = 1;
|
||||
PieCtrlRegs.PIEACK.all = PIEACK_GROUP3;
|
||||
|
||||
@ -94,10 +94,8 @@ int16_t sdfmAdcErr[8] = {0,0,0,0,0,0,0,0};
|
||||
int16_t sdfmOffset[8] = {0,0,0,0,0,0,0,0};
|
||||
uint16_t startInitCurrent = 0;
|
||||
uint16_t initDone[8] = {WAIT_STABILITY_SDFM,WAIT_STABILITY_SDFM,WAIT_STABILITY_SDFM,WAIT_STABILITY_SDFM,WAIT_STABILITY_SDFM,WAIT_STABILITY_SDFM,WAIT_STABILITY_SDFM,WAIT_STABILITY_SDFM};
|
||||
|
||||
uint16_t sdfmIndex = 0;
|
||||
int16_t Test_I[16];
|
||||
|
||||
uint16_t loopCounter[8] = {0,0,0,0,0,0,0,0};
|
||||
|
||||
|
||||
@ -349,13 +347,13 @@ void sdfmErr(N)
|
||||
// Sdfm1_ISR - SDFM 1 ISR
|
||||
//
|
||||
|
||||
sdfm_check_all_measurements_was_done(void)
|
||||
sdfm_check_all_current_measurements_was_done(void)
|
||||
{
|
||||
if((sdfmIndex & 0x58) == 0x58)
|
||||
if((sdfmIndex & SDFM_ALL_CURRENTS) == SDFM_ALL_CURRENTS)
|
||||
{
|
||||
Gpio54out(1);
|
||||
sdfmIndex = 0;
|
||||
vectorControl(sdfmAdc[6],sdfmAdc[3],sdfmAdc[4]);
|
||||
vectorControl(sdfmAdc[SDFM_IA],sdfmAdc[SDFM_IB],sdfmAdc[SDFM_IC]);
|
||||
Gpio54out(0);
|
||||
}
|
||||
}
|
||||
@ -373,7 +371,7 @@ uint32_t IntFlags;
|
||||
for(i = 0; i < 4; i++) if(IntFlags & (0x100 << i)) sdfmErr(i);
|
||||
|
||||
Sdfm_clearFlagRegister(SDFM1,IntFlags);
|
||||
sdfm_check_all_measurements_was_done();
|
||||
sdfm_check_all_current_measurements_was_done();
|
||||
PieCtrlRegs.PIEACK.all = PIEACK_GROUP5;
|
||||
}
|
||||
|
||||
@ -391,13 +389,23 @@ uint32_t IntFlags;
|
||||
for(i = 0; i < 4; i++) if(IntFlags & (0x100 << i)) sdfmErr(i+4);
|
||||
|
||||
Sdfm_clearFlagRegister(SDFM2,IntFlags);
|
||||
sdfm_check_all_measurements_was_done();
|
||||
sdfm_check_all_current_measurements_was_done();
|
||||
PieCtrlRegs.PIEACK.all = PIEACK_GROUP5;
|
||||
}
|
||||
|
||||
void sdfm_clr_index(void)
|
||||
void sdfm_start_conversion_current(void)
|
||||
{
|
||||
sdfmIndex = 0;
|
||||
EALLOW;
|
||||
Sdfm1Regs.SDIFLGCLR.all = 0xFFFFFFFF;
|
||||
Sdfm2Regs.SDIFLGCLR.all = 0xFFFFFFFF;
|
||||
SDCPARM_Reg_arr[SDFM_IA]->bit.MFIE = 1;
|
||||
SDDFPARM_Reg_arr[SDFM_IA]->bit.AE = 1;
|
||||
SDCPARM_Reg_arr[SDFM_IB]->bit.MFIE = 1;
|
||||
SDDFPARM_Reg_arr[SDFM_IB]->bit.AE = 1;
|
||||
SDCPARM_Reg_arr[SDFM_IC]->bit.MFIE = 1;
|
||||
SDDFPARM_Reg_arr[SDFM_IC]->bit.AE = 1;
|
||||
EDIS;
|
||||
}
|
||||
|
||||
int16_t sdfm_get(int16_t N)
|
||||
|
||||
@ -20,6 +20,11 @@
|
||||
|
||||
#define SDFM_REF 2
|
||||
|
||||
#define SDFM_BIT_IA (1<<SDFM_IA)
|
||||
#define SDFM_BIT_IB (1<<SDFM_IB)
|
||||
#define SDFM_BIT_IC (1<<SDFM_IC)
|
||||
|
||||
#define SDFM_ALL_CURRENTS (SDFM_BIT_IA | SDFM_BIT_IB | SDFM_BIT_IC)
|
||||
|
||||
#define SDFM_VOLTAGE_MAX 320.0 //mV
|
||||
#define R_BRAKE 220.0 //mOM
|
||||
@ -41,7 +46,7 @@ void SdfmGpioInit(void);
|
||||
void SdfmInitEnable(void);
|
||||
void SdfmInitInterruptEn(void);
|
||||
void SdfmInit(void);
|
||||
void sdfm_clr_index(void);
|
||||
void sdfm_start_conversion_current(void);
|
||||
int16_t sdfm_get(int16_t N);
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user