рефакторинг

This commit is contained in:
Eugene 2023-10-13 09:31:30 +03:00
parent 1bbaaa7f9a
commit 6c12d60296
4 changed files with 23 additions and 26 deletions

Binary file not shown.

View File

@ -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;

View File

@ -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)

View File

@ -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);