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.
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(
)
{
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;
}
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.
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.
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.
Dpwm0Regs.DPWMEV2.all is very small 0r zero. you can use memory debugger to check what is value of this register.
Regards,