PWM dead-time adjustment via CCU8_SLICE_CONFIG app

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Not applicable
I had trouble to configure a dead-time between the out0&1 and out2&3 signals of the CCU8_SLICE_CONFIG App. The reason for this was, that in my point of view the setting inside the App does not correspond to the generated code.

Inside the App I had to select the output connection settings in the following way:
2539.attach

So with this setting it appears that the same signal with the same polarity is being connected to the output 0&1 and 2&3, respectively. But the generated code of the corresponding App setting looks as follows (I marked the important lines in red):

const XMC_CCU8_SLICE_COMPARE_CONFIG_t CCU8_SLICE_CONFIG_1_compare_config =
{
.timer_mode = XMC_CCU8_SLICE_TIMER_COUNT_MODE_CA,
.monoshot = XMC_CCU8_SLICE_TIMER_REPEAT_MODE_REPEAT,
.shadow_xfer_clear = false,
.dither_timer_period = false,
.dither_duty_cycle = false,
.prescaler_mode = XMC_CCU8_SLICE_PRESCALER_MODE_NORMAL,
.mcm_ch1_enable = false,
.mcm_ch2_enable = false,
.slice_status = XMC_CCU8_SLICE_STATUS_CHANNEL_1_AND_2,
.prescaler_initval = XMC_CCU8_SLICE_PRESCALER_1,
.float_limit = XMC_CCU8_SLICE_PRESCALER_32768,
.dither_limit = 0,
.passive_level_out0 = XMC_CCU8_SLICE_OUTPUT_PASSIVE_LEVEL_LOW,
.passive_level_out1 = XMC_CCU8_SLICE_OUTPUT_PASSIVE_LEVEL_LOW,
.passive_level_out2 = XMC_CCU8_SLICE_OUTPUT_PASSIVE_LEVEL_LOW,
.passive_level_out3 = XMC_CCU8_SLICE_OUTPUT_PASSIVE_LEVEL_LOW,
.asymmetric_pwm = false,

.invert_out0 = false,
.invert_out1 = true,
.invert_out2 = false,
.invert_out3 = true,


.timer_concatenation = false
};


So with this setting I am able to measure a dead-time on the pins, which have been connected to the output signals, via an oscilloscope. Therefore my question, if the representation of the output signals connections inside the App does not correspond to the generated code?
0 Likes
0 Replies