diff --git a/Projects/epwm_test_biss_c_cpu1/2838x_FLASH_lnk_cpu1.cmd b/Projects/epwm_test_biss_c_cpu1/2838x_FLASH_lnk_cpu1.cmd index df0dac5..fcb74b8 100644 --- a/Projects/epwm_test_biss_c_cpu1/2838x_FLASH_lnk_cpu1.cmd +++ b/Projects/epwm_test_biss_c_cpu1/2838x_FLASH_lnk_cpu1.cmd @@ -99,12 +99,12 @@ SECTIONS MSGRAM_CM_TO_CPU : > CMTOCPURAM, type=NOINIT /* The following section definition are for SDFM examples */ - Filter_RegsFile : > RAMGS0 - Filter1_RegsFile : > RAMGS1, fill=0x1111 - Filter2_RegsFile : > RAMGS2, fill=0x2222 - Filter3_RegsFile : > RAMGS3, fill=0x3333 - Filter4_RegsFile : > RAMGS4, fill=0x4444 - Difference_RegsFile : >RAMGS5, fill=0x3333 +// Filter_RegsFile : > RAMGS0 +// Filter1_RegsFile : > RAMGS1, fill=0x1111 +// Filter2_RegsFile : > RAMGS2, fill=0x2222 +// Filter3_RegsFile : > RAMGS3, fill=0x3333 +// Filter4_RegsFile : > RAMGS4, fill=0x4444 +// Difference_RegsFile : >RAMGS5, fill=0x3333 #if defined(__TI_EABI__) .TI.ramfunc : {} LOAD = FLASH3, diff --git a/Projects/epwm_test_biss_c_cpu1/src/Peripherals/sdfm.c b/Projects/epwm_test_biss_c_cpu1/src/Peripherals/sdfm.c index f9d4937..ad5324b 100644 --- a/Projects/epwm_test_biss_c_cpu1/src/Peripherals/sdfm.c +++ b/Projects/epwm_test_biss_c_cpu1/src/Peripherals/sdfm.c @@ -32,25 +32,25 @@ //uint16_t gPWM_number = 1; // ePWM 1 for synchronizing SDFM1 filters -int16_t Filter0_Result[MAX_SAMPLES]; -int16_t Filter1_Result[MAX_SAMPLES]; -int16_t Filter2_Result[MAX_SAMPLES]; -int16_t Filter3_Result[MAX_SAMPLES]; -int16_t Filter4_Result[MAX_SAMPLES]; -int16_t Filter5_Result[MAX_SAMPLES]; -int16_t Filter6_Result[MAX_SAMPLES]; -int16_t Filter7_Result[MAX_SAMPLES]; - -#pragma DATA_SECTION(Filter0_Result,"Filter1_RegsFile"); -#pragma DATA_SECTION(Filter1_Result,"Filter2_RegsFile"); -#pragma DATA_SECTION(Filter2_Result,"Filter3_RegsFile"); -#pragma DATA_SECTION(Filter3_Result,"Filter4_RegsFile"); -#pragma DATA_SECTION(Filter4_Result,"Filter1_RegsFile"); -#pragma DATA_SECTION(Filter5_Result,"Filter2_RegsFile"); -#pragma DATA_SECTION(Filter6_Result,"Filter3_RegsFile"); -#pragma DATA_SECTION(Filter7_Result,"Filter4_RegsFile"); - -int16_t * FilterResult[8] = {Filter0_Result, Filter1_Result, Filter2_Result, Filter3_Result, Filter4_Result, Filter5_Result, Filter6_Result, Filter7_Result}; +//int16_t Filter0_Result[MAX_SAMPLES]; +//int16_t Filter1_Result[MAX_SAMPLES]; +//int16_t Filter2_Result[MAX_SAMPLES]; +//int16_t Filter3_Result[MAX_SAMPLES]; +//int16_t Filter4_Result[MAX_SAMPLES]; +//int16_t Filter5_Result[MAX_SAMPLES]; +//int16_t Filter6_Result[MAX_SAMPLES]; +//int16_t Filter7_Result[MAX_SAMPLES]; +// +//#pragma DATA_SECTION(Filter0_Result,"Filter1_RegsFile"); +//#pragma DATA_SECTION(Filter1_Result,"Filter2_RegsFile"); +//#pragma DATA_SECTION(Filter2_Result,"Filter3_RegsFile"); +//#pragma DATA_SECTION(Filter3_Result,"Filter4_RegsFile"); +//#pragma DATA_SECTION(Filter4_Result,"Filter1_RegsFile"); +//#pragma DATA_SECTION(Filter5_Result,"Filter2_RegsFile"); +//#pragma DATA_SECTION(Filter6_Result,"Filter3_RegsFile"); +//#pragma DATA_SECTION(Filter7_Result,"Filter4_RegsFile"); +// +//int16_t * FilterResult[8] = {Filter0_Result, Filter1_Result, Filter2_Result, Filter3_Result, Filter4_Result, Filter5_Result, Filter6_Result, Filter7_Result}; union SDCPARM1_REG * SDCPARM_Reg_arr[8] = { (union SDCPARM1_REG *)(&Sdfm1Regs.SDCPARM1), @@ -174,19 +174,19 @@ void SdfmInitEnable(void) EDIS; } -void SdfmInitInterruptEn(void) -{ - EALLOW; - PieVectTable.SDFM1_INT = &Sdfm1_ISR; - PieVectTable.SDFM2_INT = &Sdfm2_ISR; - IER |= M_INT5; - Sdfm_clearFlagRegister(SDFM1,0xFFFFFFFF); - Sdfm_clearFlagRegister(SDFM2,0xFFFFFFFF); - PieCtrlRegs.PIEIER5.bit.INTx9 = 1; // SDFM1 interrupt enabled - PieCtrlRegs.PIEIER5.bit.INTx10 = 1; // SDFM2 interrupt enabled - PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; - EDIS; -} +//void SdfmInitInterruptEn(void) +//{ +// EALLOW; +// PieVectTable.SDFM1_INT = &Sdfm1_ISR; +// PieVectTable.SDFM2_INT = &Sdfm2_ISR; +// IER |= M_INT5; +// Sdfm_clearFlagRegister(SDFM1,0xFFFFFFFF); +// Sdfm_clearFlagRegister(SDFM2,0xFFFFFFFF); +// PieCtrlRegs.PIEIER5.bit.INTx9 = 1; // SDFM1 interrupt enabled +// PieCtrlRegs.PIEIER5.bit.INTx10 = 1; // SDFM2 interrupt enabled +// PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; +// EDIS; +//} void SdfmTypeInit(void) { @@ -315,41 +315,41 @@ void SdfmInit(void) -void sdfmGetResult(uint16_t N) -{ - uint16_t i = 0; - int32_t OffsetCount = 0; - -// Gpio4out(1); - - FilterResult[N][loopCounter[N]] = *SdfmReadData[N]; - sdfmAdc[N] = FilterResult[N][loopCounter[N]] - sdfmOffset[N]; - if(N != 5) { - if(loopCounter[N] < MAX_SAMPLES) loopCounter[N]++; - else - { - loopCounter[N] = 0; - if(!initDone[N]) - { - for(i = 0; i <= (MAX_SAMPLES-1); i++) OffsetCount += FilterResult[N][i]; - sdfmOffset[N] = OffsetCount>>FILTER_BIT; - initDone[N] = 0xFF; - } - else if(initDone[N] != 0xFF) initDone[N]--; - } - } - EALLOW; - SDCPARM_Reg_arr[N]->bit.MFIE = 1; - SDDFPARM_Reg_arr[N]->bit.AE = 0; - EDIS; - sdfmAdcErr[N] = 0; - -// Gpio4out(0); - -// if(N == SDFM_IA) Gpio54out(0); -// if(N == SDFM_IB) Gpio55out(0); -// if(N == SDFM_IC) Gpio56out(0); -} +//void sdfmGetResult(uint16_t N) +//{ +// uint16_t i = 0; +// int32_t OffsetCount = 0; +// +//// Gpio4out(1); +// +// FilterResult[N][loopCounter[N]] = *SdfmReadData[N]; +// sdfmAdc[N] = FilterResult[N][loopCounter[N]] - sdfmOffset[N]; +// if(N != 5) { +// if(loopCounter[N] < MAX_SAMPLES) loopCounter[N]++; +// else +// { +// loopCounter[N] = 0; +// if(!initDone[N]) +// { +// for(i = 0; i <= (MAX_SAMPLES-1); i++) OffsetCount += FilterResult[N][i]; +// sdfmOffset[N] = OffsetCount>>FILTER_BIT; +// initDone[N] = 0xFF; +// } +// else if(initDone[N] != 0xFF) initDone[N]--; +// } +// } +// EALLOW; +// SDCPARM_Reg_arr[N]->bit.MFIE = 1; +// SDDFPARM_Reg_arr[N]->bit.AE = 0; +// EDIS; +// sdfmAdcErr[N] = 0; +// +//// Gpio4out(0); +// +//// if(N == SDFM_IA) Gpio54out(0); +//// if(N == SDFM_IB) Gpio55out(0); +//// if(N == SDFM_IC) Gpio56out(0); +//} void sdfmErr(uint16_t N) @@ -365,56 +365,56 @@ void sdfmErr(uint16_t N) // Sdfm1_ISR - SDFM 1 ISR // -void sdfm_check_all_current_measurements_was_done(void) -{ - if((sdfmIndex & SDFM_ALL_CURRENTS) == SDFM_ALL_CURRENTS) - { - sdfmIndex = 0; - if(!AllInitDone) - { - if((initDone[SDFM_IA] == 0xFF)&&(initDone[SDFM_IB] == 0xFF)&&(initDone[SDFM_IC] == 0xFF)) AllInitDone = 1; - } - else - { - vectorControl(sdfmAdc[SDFM_IA],sdfmAdc[SDFM_IB],sdfmAdc[SDFM_IC],sdfmAdc[SDFM_U_DC]); - } - } -} +//void sdfm_check_all_current_measurements_was_done(void) +//{ +// if((sdfmIndex & SDFM_ALL_CURRENTS) == SDFM_ALL_CURRENTS) +// { +// sdfmIndex = 0; +// if(!AllInitDone) +// { +// if((initDone[SDFM_IA] == 0xFF)&&(initDone[SDFM_IB] == 0xFF)&&(initDone[SDFM_IC] == 0xFF)) AllInitDone = 1; +// } +// else +// { +// vectorControl(sdfmAdc[SDFM_IA],sdfmAdc[SDFM_IB],sdfmAdc[SDFM_IC],sdfmAdc[SDFM_U_DC]); +// } +// } +//} -__interrupt void Sdfm1_ISR(void) -{ -uint16_t i; -uint32_t IntFlags; - - IntFlags = Sdfm_readFlagRegister(SDFM1); - sdfmIndex |= (IntFlags & 0xF000)>>12; - - for(i = 0; i < 4; i++) if((uint16_t)IntFlags & (0x1000 << i)) sdfmGetResult(i); - for(i = 0; i < 4; i++) if((uint16_t)IntFlags & (0x100 << i)) sdfmErr(i); - - Sdfm_clearFlagRegister(SDFM1,IntFlags); - sdfm_check_all_current_measurements_was_done(); - PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; -} +//__interrupt void Sdfm1_ISR(void) +//{ +//uint16_t i; +//uint32_t IntFlags; +// +// IntFlags = Sdfm_readFlagRegister(SDFM1); +// sdfmIndex |= (IntFlags & 0xF000)>>12; +// +// for(i = 0; i < 4; i++) if((uint16_t)IntFlags & (0x1000 << i)) sdfmGetResult(i); +// for(i = 0; i < 4; i++) if((uint16_t)IntFlags & (0x100 << i)) sdfmErr(i); +// +// Sdfm_clearFlagRegister(SDFM1,IntFlags); +// sdfm_check_all_current_measurements_was_done(); +// PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; +//} // -__interrupt void Sdfm2_ISR(void) -{ -uint16_t i; -uint32_t IntFlags; - - IntFlags = Sdfm_readFlagRegister(SDFM2); - sdfmIndex |= (IntFlags & 0xF000)>>8; - - for(i = 0; i < 4; i++) if((uint16_t)IntFlags & (0x1000 << i)) sdfmGetResult(i+4); - for(i = 0; i < 4; i++) if((uint16_t)IntFlags & (0x100 << i)) sdfmErr(i+4); - - Sdfm_clearFlagRegister(SDFM2,IntFlags); - sdfm_check_all_current_measurements_was_done(); - PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; -} +//__interrupt void Sdfm2_ISR(void) +//{ +//uint16_t i; +//uint32_t IntFlags; +// +// IntFlags = Sdfm_readFlagRegister(SDFM2); +// sdfmIndex |= (IntFlags & 0xF000)>>8; +// +// for(i = 0; i < 4; i++) if((uint16_t)IntFlags & (0x1000 << i)) sdfmGetResult(i+4); +// for(i = 0; i < 4; i++) if((uint16_t)IntFlags & (0x100 << i)) sdfmErr(i+4); +// +// Sdfm_clearFlagRegister(SDFM2,IntFlags); +// sdfm_check_all_current_measurements_was_done(); +// PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; +//} void sdfm_start_conversion_current(void) { diff --git a/Projects/epwm_test_biss_c_cpu1/src/init_perif.c b/Projects/epwm_test_biss_c_cpu1/src/init_perif.c index 639dcbc..49d9702 100644 --- a/Projects/epwm_test_biss_c_cpu1/src/init_perif.c +++ b/Projects/epwm_test_biss_c_cpu1/src/init_perif.c @@ -69,7 +69,7 @@ void InitPerif(void) EALLOW; // ClkCfgRegs.CLKSEM.bit.SEM = 0xA5A50002; - ClkCfgRegs.LOSPCP.bit.LSPCLKDIV = 2; + ClkCfgRegs.LOSPCP.bit.LSPCLKDIV = 1;//LSPCLK = SYSPLL/LSPCLKDIV EDIS; InitSysCtrl(); diff --git a/Projects/epwm_test_biss_c_cpu2/.cproject b/Projects/epwm_test_biss_c_cpu2/.cproject index 95879de..eed45f4 100644 --- a/Projects/epwm_test_biss_c_cpu2/.cproject +++ b/Projects/epwm_test_biss_c_cpu2/.cproject @@ -62,7 +62,7 @@