Other Parts Discussed in Thread: UCD3138
Tool/software: Code Composer Studio
Hi everyone,
I am using UCD3138HSFBEVM, i have refereed some videos in ti website, first thing is i have to write code for obtaing dpwm signals, i have attached code below.
I am not getting DPWM signal could you please tell me where am i going wrong?
#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_dpwm0(); ram_event2 = Dpwm0Regs.DPWMEV2.all; for(;;) { pmbus_handler(); Dpwm0Regs.DPWMEV2.all = ram_event2; } }
Thanking you.