diff --git a/epwm_test_biss_c_cpu1/.launches/epwm_test_biss_c_cpu1.launch b/epwm_test_biss_c_cpu1/.launches/epwm_test_biss_c_cpu1.launch index e3ea6cf..87bd09c 100644 --- a/epwm_test_biss_c_cpu1/.launches/epwm_test_biss_c_cpu1.launch +++ b/epwm_test_biss_c_cpu1/.launches/epwm_test_biss_c_cpu1.launch @@ -1,9 +1,6 @@ - - - @@ -16,18 +13,12 @@ - - - + - - - - - + - + @@ -35,5 +26,5 @@ - + diff --git a/epwm_test_biss_c_cpu1/targetConfigs/TMS320F28388D.ccxml b/epwm_test_biss_c_cpu1/targetConfigs/TMS320F28388D.ccxml index 0ab5b47..09ae94d 100644 --- a/epwm_test_biss_c_cpu1/targetConfigs/TMS320F28388D.ccxml +++ b/epwm_test_biss_c_cpu1/targetConfigs/TMS320F28388D.ccxml @@ -1,16 +1,16 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/epwm_test_biss_c_cpu2/.launches/epwm_test_biss_c_cpu2.launch b/epwm_test_biss_c_cpu2/.launches/epwm_test_biss_c_cpu2.launch index 86ccba9..a42e35d 100644 --- a/epwm_test_biss_c_cpu2/.launches/epwm_test_biss_c_cpu2.launch +++ b/epwm_test_biss_c_cpu2/.launches/epwm_test_biss_c_cpu2.launch @@ -1,39 +1,10 @@ - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - @@ -41,5 +12,5 @@ - + diff --git a/epwm_test_biss_c_cpu2/epwm_test.c b/epwm_test_biss_c_cpu2/epwm_test.c index f6fd3b2..af629d0 100644 --- a/epwm_test_biss_c_cpu2/epwm_test.c +++ b/epwm_test_biss_c_cpu2/epwm_test.c @@ -31,6 +31,7 @@ void main(void) for(;;) { + BissClkgenRun(); UartErrorReset(); #ifdef FREEMASTER FMSTR_Poll(); diff --git a/epwm_test_biss_c_cpu2/src/Peripherals/pwm_interrupts.c b/epwm_test_biss_c_cpu2/src/Peripherals/pwm_interrupts.c index 33ed6de..3d41de9 100644 --- a/epwm_test_biss_c_cpu2/src/Peripherals/pwm_interrupts.c +++ b/epwm_test_biss_c_cpu2/src/Peripherals/pwm_interrupts.c @@ -173,6 +173,10 @@ __interrupt void epwm2_isr(void) // Clear INT flag for this timer // EPwm2Regs.ETCLR.bit.INT = 1; + saveTimingNow(5); + + BissStartSet(); + if(PwmFlagStartCurrentMeashure) /// Не были отработаны измерения тока в сигма-дельта и не было запущено векторное управление { @@ -185,7 +189,7 @@ __interrupt void epwm2_isr(void) PwmFlagStartCurrentMeashure = 0; SynchPWMFonRunEnableSet(); AdcStartSet(); - BissStartSet(); + PWM_motor.UA = PERIOD_DIV2; PWM_motor.UB = PERIOD_DIV2; @@ -313,7 +317,6 @@ __interrupt void epwm11_isr(void) saveTimingNow(0); sdfm_start_conversion_current(); - BissClkgenRun(); PwmFlagStartCurrentMeashure = 1; EPwm11Regs.ETCLR.bit.INT = 1; diff --git a/epwm_test_biss_c_cpu2/src/SyncPWMFonRun.c b/epwm_test_biss_c_cpu2/src/SyncPWMFonRun.c index 92dcf52..e7aa78b 100644 --- a/epwm_test_biss_c_cpu2/src/SyncPWMFonRun.c +++ b/epwm_test_biss_c_cpu2/src/SyncPWMFonRun.c @@ -46,6 +46,7 @@ void SyncPWMFonRun(void) { + if(SynchPWMFonRunEnable()) { #ifdef FREEMASTER diff --git a/epwm_test_biss_c_cpu2/src/biss.c b/epwm_test_biss_c_cpu2/src/biss.c index 452fe5e..eb4b00a 100644 --- a/epwm_test_biss_c_cpu2/src/biss.c +++ b/epwm_test_biss_c_cpu2/src/biss.c @@ -137,7 +137,7 @@ void BissClkgenRun(void) { if(biss_on) { - + saveTimingNow(6); biss_on = 0; Clb1LogicCtrlRegs.CLB_GP_REG.all = CLKGEN_RUN_GP_FLAG; DELAY_US(10); @@ -147,6 +147,7 @@ void BissClkgenRun(void) { CLB_clearFIFOs1(); CLB_clearFIFOs2(); + saveTimingNow(7); } } @@ -195,7 +196,7 @@ void BissCalc(uint64_t BissData) { uint16_t BissEmptyBits = 0; - saveTimingNow(5); + saveTimingNow(3); BissData = BissData << 2; @@ -246,7 +247,7 @@ void BissCalc(uint64_t BissData) bissSpeed = Bissth1 - Bissth1_; Bissth1_ = Bissth1; - saveTimingNow(6); + saveTimingNow(4); } BissErr = (BissAll >> (ANGLESUMM_SHIFT-1)) & 1; BissWarn = (BissAll >> (ANGLESUMM_SHIFT-2)) & 1; diff --git a/epwm_test_biss_c_cpu2/src/vector.c b/epwm_test_biss_c_cpu2/src/vector.c index d0455b5..1c8bded 100644 --- a/epwm_test_biss_c_cpu2/src/vector.c +++ b/epwm_test_biss_c_cpu2/src/vector.c @@ -235,14 +235,14 @@ void vectorControl(int16_t CurrentA, int16_t CurrentB, int16_t CurrentC, int16_t } Udc = sdfmUdc * FACTOR_VDC; vector_klark_park(SectorCheckOn,Ia,Ib,Ic); - saveTimingNow(2); + vector_inversion(); - saveTimingNow(3); - BissStartSet(); + + SynchPWMFonRunEnableSet(); AdcStartSet(); sdfm_start_conversion_brake(); - saveTimingNow(4); + saveTimingNow(2); } void vectorInitCurrLoop(void)