Not applicable
Jan 25, 2017
05:05 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jan 25, 2017
05:05 AM
Hello,
i am using a XMC1302 for BLDC Control.
With the CCU8 Module I generate the PWM (I use the Multi Channel Update with POSIF).
Each of the 3 Phases use one Timer Slice for the High- and Low Side PWM.
I am able to generate the PWM for the High- and Low-Side Switch (the Low-Side PWM is inverted to the High-Side PWM).
My Problem is, for Example in State 1, that the Low-Side of Phase V is not permanent on, it is also switched with PWM.
How can i configure the CCU8 Module, to switch the Low-Side with PWM when the High-Side is switched with PWM and otherwise switch the PIN permanently on (As in the Picture)?
The Code of the Slice Config:
Thanks!
Regards Denis
i am using a XMC1302 for BLDC Control.
With the CCU8 Module I generate the PWM (I use the Multi Channel Update with POSIF).
Each of the 3 Phases use one Timer Slice for the High- and Low Side PWM.
I am able to generate the PWM for the High- and Low-Side Switch (the Low-Side PWM is inverted to the High-Side PWM).
My Problem is, for Example in State 1, that the Low-Side of Phase V is not permanent on, it is also switched with PWM.
How can i configure the CCU8 Module, to switch the Low-Side with PWM when the High-Side is switched with PWM and otherwise switch the PIN permanently on (As in the Picture)?
The Code of the Slice Config:
XMC_CCU8_SLICE_COMPARE_CONFIG_t SLICE_config =
{
.timer_mode = (uint32_t)XMC_CCU8_SLICE_TIMER_COUNT_MODE_EA,
.monoshot = (uint32_t)XMC_CCU8_SLICE_TIMER_REPEAT_MODE_REPEAT,
.shadow_xfer_clear = 0U,
.dither_timer_period = 0U,
.dither_duty_cycle = 0U,
.prescaler_mode = (uint32_t)XMC_CCU8_SLICE_PRESCALER_MODE_NORMAL,
.mcm_ch1_enable = 1U,
.mcm_ch2_enable = 0U,
.slice_status = (uint32_t)XMC_CCU8_SLICE_STATUS_CHANNEL_1,
.passive_level_out0 = (uint32_t)XMC_CCU8_SLICE_OUTPUT_PASSIVE_LEVEL_LOW,
.passive_level_out1 = (uint32_t)XMC_CCU8_SLICE_OUTPUT_PASSIVE_LEVEL_LOW,
.asymmetric_pwm = 0U,
.invert_out0 = 0U,
.invert_out1 = 1U,
.prescaler_initval = 0U,
.float_limit = 0U,
.dither_limit = 0U,
.timer_concatenation = 0U,
};
Thanks!
Regards Denis
3 Replies
Jan 26, 2017
01:38 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jan 26, 2017
01:38 AM
Hello denis0401,
I'm sorry I don't know if I got your question correctly.
Please let me know if you Need more Information:
As in your Picture (From the DAVE v4 APP) in stage 1 you have the following conditions:
Phase U is not gated through the Posif. And the Duty Cycle is between 10% and 90% (more or less are normally have to much switching losses but can be done with CCU8)
Phase V is not gated through the Posif. And the Duty Cycle is 0
Phase W is gated (high and low side) through the Posif.
You Need to reload both the multichannel gating in the Posif and the Duty Cycle in the CCU8.
But from the detailed question I assume this part you already know.
There is also an Errata for the XMC1300 AA step:
CCU8_AI.004 CCU8 output PWM glitch when using low side Modulation via the Multi Channel Mode
But here you would se glitches while the low Phase is off and not on.
But maybe this is fitting your problem.This issue is solved on the XMC1300 AB step.
Additional Information about BLDC control you can find:
1. DAVE v4 Examples: BLDC_SCALAR_HALL or SL and the documentation in the Example
2. Application Note: AP32289 - XMC1000/XMC4000 - Position Interface(POSIF)
3. Application Kit: EVAL_SSO8_1KW_BLDC
Regards
Eric
I'm sorry I don't know if I got your question correctly.
Please let me know if you Need more Information:
As in your Picture (From the DAVE v4 APP) in stage 1 you have the following conditions:
Phase U is not gated through the Posif. And the Duty Cycle is between 10% and 90% (more or less are normally have to much switching losses but can be done with CCU8)
Phase V is not gated through the Posif. And the Duty Cycle is 0
Phase W is gated (high and low side) through the Posif.
You Need to reload both the multichannel gating in the Posif and the Duty Cycle in the CCU8.
But from the detailed question I assume this part you already know.
There is also an Errata for the XMC1300 AA step:
CCU8_AI.004 CCU8 output PWM glitch when using low side Modulation via the Multi Channel Mode
But here you would se glitches while the low Phase is off and not on.
But maybe this is fitting your problem.This issue is solved on the XMC1300 AB step.
Additional Information about BLDC control you can find:
1. DAVE v4 Examples: BLDC_SCALAR_HALL or SL and the documentation in the Example
2. Application Note: AP32289 - XMC1000/XMC4000 - Position Interface(POSIF)
3. Application Kit: EVAL_SSO8_1KW_BLDC
Regards
Eric
Not applicable
Jan 31, 2017
02:46 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jan 31, 2017
02:46 AM
Hi Eric,
thanks, you got my question correct 🙂
I already thougt that i have to adapt the Duty Cycle and the PWM Pattern, my hope was, that there is an easier way to do this
But then, i'm on the right way.
I use the AA Version of the XMC1302, but i saw no glitches in the Low-Side Modulation.
Regards
Denis
thanks, you got my question correct 🙂
I already thougt that i have to adapt the Duty Cycle and the PWM Pattern, my hope was, that there is an easier way to do this
But then, i'm on the right way.
I use the AA Version of the XMC1302, but i saw no glitches in the Low-Side Modulation.
Regards
Denis
Not applicable
Mar 06, 2017
01:46 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mar 06, 2017
01:46 AM
Hello,
In the Reference manual of the XMC1302 on Page 921 is described, that the timer Values (Duty Cycle) can synchronously updated with the Update of the Multi-Channel-Pattern by the CCU8x.MCSS Register.
http://www.infineon.com/dgdl/Infineon-xmc1300-AB_rm-UM-v01_02-EN.pdf?fileId=5546d46249cd1014014a0a84...
How is the way to do this?
Or is there an Infineon Function to do this?
Regards
Denis
You Need to reload both the multichannel gating in the Posif and the Duty Cycle in the CCU8.
In the Reference manual of the XMC1302 on Page 921 is described, that the timer Values (Duty Cycle) can synchronously updated with the Update of the Multi-Channel-Pattern by the CCU8x.MCSS Register.
http://www.infineon.com/dgdl/Infineon-xmc1300-AB_rm-UM-v01_02-EN.pdf?fileId=5546d46249cd1014014a0a84...
How is the way to do this?
Or is there an Infineon Function to do this?
Regards
Denis