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.

HRPWM and Duty Cycle Range Limitation

Hi all,

in the Piccolo HRPWM datasheet spruge8d.pdf, the "HRPWM Duty Cycle Range Limitation" is given as 3 cycles (3..period-3).

It is stated that within these 3 cycles, the behaviour is undefined.

I would like to switch from PWM to HRPWM in my application and observed that the behaviour is quite defined - it is stuck at a min/max duty cycle and does not change when changing CMPAHR.

I would like to be able to switch the PWM permanently on/off by setting the CMPA register to 0 or 32767 as I did for the normal PWM.

This is definitely within the 3 cycles limit and so out of spec.

But it works regarding to my observations.

 

The datasheet is 2 years old, so maybe there is an update regarding the limits?

Can I safely switch PWM output to permanent high/low by setting CMPA to 0 or 32767 even in HRPWM mode?

  • I believe this limitation is for high resolution operation ... normal PWM operation will still be valid for the entire range ... anyway, I am sure C2000 gurus will clarify the question.

  • Yes, normal PWM is no problem, I am asking about HRPWM range.

  • Okay .. in that case TI folks will need to clarify whether or not there is any change in specification .. otherwise one needs to go with the datasheet or can use the feature knowing this is not officially "supported" and obviously will take all the responsibilities.

  • Stephan,

    There has been no change in the specification. This duty cycle restriction still exists when using HRPWM. In your application, you may want to clamp the PWM duty cycle to keep it outside this range.

    Hrishi

     

  • Okay, understood.

    So I have to clamp CMPA to be in the range of [3..period-3] for symmetric HRPWM.

    That will work for normal regulation mode.

    Is there an easy (and fast) method of switching PM output to permanent high/low ?

    This was quite easy in normal PWM by setting CMPA to 0 or 32767, but this is not allowed in HRPWM mode!?

  • Stephan,

    Yes, there is. You can use the continuous software force register (AQCSFRC) in the action qualifier sub-module. I believe the best way to use this is in shadow load mode. This way the continuous force takes effect at a known good point in the PWM cycle (CTR = 0 or CTR = PRD). Please note that the shadow/active mode selection is decided by AQSFRC[RLDCSF] bit.

    Hope this helps.

    Hrishi

  • Hi,Hrishi,

       From the spruge8e.pdf  2.3.3. it is said that "When high-resolution period control is disabled, although for the first 3 cycles, the HRPWM capabilities
    are not available, regular PWM duty control is still fully operational down to 0% duty." (It is not mentioned about last 3 cycles). My understanding is that: The HRPWM will switch automatically to normal PWM in the first 3  cycles, instead of that the application has to clamp CMPA in the range of [3..period-3], to avoid undefined action.  And in fact  StephanS and I both have already made the experiment to verify that  HRPWM will switch automatically to normal PWM in the range of duty limitation, without undefined action.

    And need to check further with you that ,if HRPCTL[HRPE] == 0, the HRPWM active limit should be[3..period], instead of [3..period-3].

     

    Thank you.