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.

High Resolution PWM

Hi!

I have seen in HRPWM module PDF that the fine DC tuning is not working on first 3 SYSCLK ticks, there are also many examples in this PDF that shows how to calculate minimal (in case of up counting) and maximal (in case of down counting) duty cycles. I would like to get symetric PWM output (constant time between pulse centers). For this purpose I need to configure the module to use updown count mode and also configure the output pin to be set when counter reaches desired value while counting up and clear when the same value is reached while counting down. The question is where should I measure those 3 SYSCLK ticks? Should those be measured from the time when counter reached 0? If I understand correctly, in my scenario, minmal SYSCLK ticks will limit the maximal duty cycle value.

 

Am I correct?

Thanks.

  • Alexey,

    Which device are you using? I'm guessing you are using the 2802 or 2803x Piccolo devices.

    Independent dual-edge High-resolution on a symmetrical PWM in up-down count mode is only available on the 28x Piccolo devices and not on the other 28x devices.  When in dual edge high-resolution period control mode, CMPA must not fall into the range of TBCTR=0-3 or TBCTR=TBPRD-3 to TBPRD (both in the up-count and down-count portions). 

  • I am using Dolphino 28335 device. So it is impossible to implement what I want with this device?

  • On the 28335 devices, it is only possible to have high-resolution phase shift in symmetrical mode (so for instance if both edges are phase shifted by the same amount in the same direction - then high-resolution is possible for up-down count). In this case, the 3 cycle duty limitation occurs after TBCTR=0 and after TBCTR=TBPRD.

    But, if you want high-resolution period/frequency, where the high-resolution delay on the rising and falling edge is different and may move in different directions, then that is not possible.