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/UCD3138HSFBEVM-029: Power management forum

Prodigy 80 points

Replies: 3

Views: 61

Part Number: UCD3138HSFBEVM-029

Tool/software: Code Composer Studio

Hi everyone, i need to generate dpwm waveform ,for this i have referred videos in ti website, but couldn't able to get dpwm waveform.  Could you please tell me is there any necessary hardware connection get dpwm waveforms. I have atttached the code, is there any changes to make in code?

[code]

#define MAIN 1
#include "system_defines.h"
#include "Cyclone_Device.h"
#include "pmbus_commands.h"
#include "pmbus_common.h"
#include "pmbus_topology.h"
#include "variables.h"
#include "function_definitions.h"
#include "software_interrupts.h"
#include "cyclone_defines.h"
#include "stdio.h"
#define PCLK_PERIOD         4.0e-9
#define PERIOD_SECONDS      10.0e-6
#define PERIOD_CLK          ((int)(PERIOD_SECONDS/PCLK_PERIOD)<<4)
#define EVENT1              (int)(PERIOD_CLK*0.00)
int ram_event2;
void inti_dpwm(void)
{
    Dpwm0Regs.DPWMCTRL0.bit.PWM_MODE = 0;  // Set to normal mode
    Dpwm0Regs.DPWMCTRL0.bit.CLA_EN = 0;
    Dpwm0Regs.DPWMPRD.all = PERIOD;
    Dpwm0Regs.DPWMEV1.all = EVENT1;
    Dpwm0Regs.DPWMCTRL0.bit.PWM_EN = 1;
    LoopMuxRegs.GLBEN.bit.DPWM0_EN = 1;
}
void main()
{
  
    if(GioRegs.FAULTIN.bit.FLT3_IN == 0)// Re-Check pin assignment (ADC_EXT/SYNC may be?)
    {
        //clear_integrity_word();
    }
#if (UCD3138|UCD3138064)
    MiscAnalogRegs.CLKTRIM.bit.HFO_LN_FILTER_EN = 0;
    MiscAnalogRegs.CSTRIM.bit.RESISTOR_TRIM =23; //28;
#endif //(UCD3138|UCD3138064)
    init_pmbus(0x58);
    init_dpwm();
    ram_event2 = Dpwm0Regs.DPWMEV2.all;
    for(;;)
        {
            pmbus_handler();
            Dpwm0Regs.DPWMEV2.all = ram_event2;
        }
    }

[/code]

Thanking you.

3 Replies

  • Hello,

    what is value of  PERIOD?

    What is Dpwm0Regs.DPWMPRD.all = PERIOD;

    Thanks,

    Sean

  • In reply to Sean Xu:

    Hi, 

    I have changed  Dpwm0Regs.DPWMPRD.all = PERIOD_CLK;

    still i am not getting dpwm waveform.

    Thanking you.

  • In reply to gouthami c v:

    This is open loop configuration, so the PID won't affect the DPWM duty.

    Maybe  Dpwm0Regs.DPWMEV2.all is very small 0r zero. you can use memory debugger to check what is value of this register.

    Regards,

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.