This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28335: F28335 first pulse lost

Part Number: TMS320F28335

Dear team,

When customer use F28335 in NPC program application, when the phase-voltage turn from negative pulse to positive pulse, the three-phase UVW will always lost the first pulse.

Here is their setting of PWM: frequency is 2khz,

EPMW1 A  CAU= 1

EPMW1 A  CAD= 2

EPMW1 B  CAU= 1

EPMW1 B  CAD= 2

DB. INMODE =2

DB. POLSEL= 2

DB. OUTMODE= 3

DB.RED=300

DB.FED=300

The initial phase of PWM is 0, CMP mode, it will load new value when CTR=PRD, and the final output is that PWM1B response to U phase T1, PWM1A response to T3.

Thanks. Hope you could give some suggestion.

Thanks.

Best regards,

Sammi

  • Sammi,

    the PWM output remains low for an entire period, correct? This means that your "Set" event was missed. There are a few reasons why the pulse could be missed.

    Are you generating both PWMxA and PWMxB from PWMxA using the deadband module?

    Are you adjusting the phase?

    Are you using Shadow loading for all registers?

    Do you have a typo below?

    Sammi Shang said:

    EPMW1 A  CAU= 1

    EPMW1 A  CAD= 2

    EPMW1 B  CAU= 1

    EPMW1 B  CAD= 2

  • Hello  Cody:
        this question is from me  ,  Smmi help me to write it here.

       the PWM set is below:
        EPMW1 A CAU= 1
        EPMW1 A CAD= 2
        EPMW1 B CAU= 1
        EPMW1 B CAD= 2
        DB. INMODE =2
        DB. POLSEL= 2
        DB. OUTMODE= 3
         DB.RED=300
        DB.FED=300

    CMPCTL.SHAOWAMODE  =0 

    CMPCTL.SHAOWBMODE  =0 

    TBSTS.ALL= 0 

    TBPRD = 18750 ;//2KHZ

    TBPHS..HALF, TBPHS = 0 

    TBCTL.BIT, PHSDIR = 1

    TBCTL.BIT.SYNCOSEL =0

    TBCTL.BIT.prdld =0

    TBCTL.BIT.PHSEN=1

    TBCTL.BIT.CRLMODE=2

    CMP.BIT.LOADAMODE =1

    when  CTR=PRD  , the CMPA would be changed by new value .   I only used CMPA to get  EPMWxA &B action, did not use CMPB

    and the final output is that PWM1B response to U phase T1, PWM1A response to T3. PWM2B response to U phase T2, PWM2A response to T4

    when the phase-voltage    turn from negative pulse to positive pulse, the three-phase UVW will always lost the first pulse.   forexample ,PHASE U , before  this point time  , the T1(EPWM1B always was  low ,becuase the  CMPA=  prd),   then on this point (CTR =PRD), the new CMP would be load  and it  is   a new value ,it would be smaller than PRD , and on this point ,  the PWM would be doing a toggle  because the CTR was bigger than new CMPA value , but the PWM did not do this action

       it losed this pulse ,but after this point , other pulse were all correct action,  only that pulse was loased

    we used TMS320F2407 ,the same soft ,it did not this error, but  F28335 have this problem

  • Hello,

    I am not familiar with how the CMPA value would have been done on F240x device. But I will say that on F28335 the PWM action will only happen when the CMPx event is EXACTLY equal to the TBCTR. If the TBCTR is greator than the CMPx event it will not trigger the event. The event only happens when TBCTR= CMPx.

    This is why changing your phase shift or CMPx values can cause you to miss a pulse.

    Can you send a waveform of the missed pulse? Are you using the dead band submodule at all?

    Regards,
    Cody

  • This will be closing due to a lack of replies.


    Regards,
    Cody