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.

CCS/TIDM-DC-DC-BUCK: Unable to change PWM frequency for in reference design

Part Number: TIDM-DC-DC-BUCK
Other Parts Discussed in Thread: LAUNCHXL-F28379D

Tool/software: Code Composer Studio

Hello,

I am trying to modify the PWM frequency of the TIDM-DC-DC-Buck reference design to suit my project specification (Buck converter). The logical place seems to change the value in the main.syscfg UI highlighted in the following image. Following the 'lab 1' for open loop application of the reference design, I was able to make it work at the default switching 200 kHz. However, I can't change that for anything higher than 500 kHz. Any frequency above 500 kHz when you write 0.25 to the duty cycle, the continuous "expression" window would not update any data and nothing is output it from the pins (confirmed through oscilloscope).

Is there a software limitation on how fast this reference design can switch? How can I change the PWM frequency from the default 200kHz to 1MHz?

Normal write and update operating at 200kHz when writing 0.25 to the duty cycle

When writing to the duty cycle at 1MHz (same with other frequency from 500 to 1000 kHz), it is as if nothing is running.

P.S. All of the codes are left as default. Attached is the project if it helps. Thank you in advance

buck_F28004x.zip

  • Jin Gao1,

    It would appear that you are exceeding the processing capabilities of the F28004x by setting the switching frequency so high.

    If the high switching frequency is required, the most straightforward options would be to either reduce the processing overhead (for example by adjusting the control loop ISR ratio), or port the software to a device with greater processing performance (such as LAUNCHXL-F28379D).

    -Tommy

  • Hello Tommy,

    When I use the same launchpad, and I reduce the ISR ratio to (1/2) or (1/3) of fsw, the issue persisted. Even if I do 600 kHz with (1/3 ISR ratio) it still wouldn't update/run. Is the only way now is just to get F28379D?

    Thank you

  • Jin Gao1,

    With the higher switching rate, the calculation for BUCK_DRV_EPWM_ADC_TRIGGER_TBCTR may overflow.  You can decrease BUCK_DRV_EPWM_UPDATE_LATENCY_TICKS to as low as 0 if the ISR ratio is less than 1.

    If you need more information about the EPWM operation, you can see the F28004x TRM and this video.

    -Tommy