CCU8 Passive level not set using app PWMSVM01/0 in XMC1302

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

cross mob
Not applicable
Hi,
Target : XMC1300 bootkit
Problem : All six inverter output lines of CCU8 do not come to passive level using PWMSVM01_Stop() function
I have a XMC1300 bootkit and testing APP PWMSVM01/0 ver.1.0.30
It is requried that all 6 inverter output lines of CCU8 go to passive level on stop command.
For this purpose all 6 lines are configured for passive low level.

These lines are at passive low level on :
1. Power up
2. Trap

However after executing PWMSVM01_Stop() function upper switch lines are at passive level(low) and lower switch lines are high.

As a workaround a trap was invoked on stop command.
This works (all 6 lines fall to passive level) but PWM cannot be restarted after a trap is invoked.

We also tried each of the below separately:

1. Function PWMSVM01_ResetTrapFlag().
2. PWMSVM01_Deinit() followed by PWMSVM01_Init().
3. Bit field SxSTyC in GCSC was also set to 1.
WR_REG(CCU80->GCSC, CCU8_GCSC_S0ST2C_Msk, CCU8_GCSC_S0ST2C_Pos,1);
WR_REG(CCU80->GCSC, CCU8_GCSC_S1ST2C_Msk, CCU8_GCSC_S1ST2C_Pos,1);
WR_REG(CCU80->GCSC, CCU8_GCSC_S2ST2C_Msk, CCU8_GCSC_S2ST2C_Pos,1);

But, no effect.

We need to have a PWM restart after exiting from trap interrupt.


Regards,
Naresh
0 Likes
4 Replies
User7902
Level 2
Level 2
Hello Naresh,

i've got the same Problem with the XMC4400.
Did you manage to solve it?

Maybe this behaviour is intended to ensure Bootstrapping of the high side switches at the next PWMSVM01_Start().
The documentation is very thin...

Regards,
Daniel
0 Likes
User7902
Level 2
Level 2
Hi,

PWMSVM01_ResetTrapFlag() is only for the reminder flag ([SliceY].INTS.TRPF).

Just put a "1" into the Slice[0..2].SWR.RE2A Bits to let the hardware do a trap exit.
Documentation Reference: XMC4400 Reference Manual -> Figure 21-50
Should have been pointed out in the DAVE App Documentation (App Deployment and usage) IMHO.

Btw. PWMSVM01_Stop() seems to activate the low side switches, presumably for Bootstrap.
Passive State seems to be set only in Trap State.

Regards,
Daniel
0 Likes
Not applicable
Hi,

The Stop in the app will only stop the timer and it will remain at the state which you stop the timer.
And Daniel you are correct, to set the state back to passive state, you need to trigger the TRAP function.
This can be done either via hardware trigger or software trigger.
For software trigger, you can trigger via global start bit or via POSIF multi channel mode (XMC1000 TIP of the day: Software TRAP for CCU8)
0 Likes
User9136
Level 1
Level 1
Welcome! First reply posted
Hi Jackson,

where is that global start bit to trigger TRAP function in CCU8 (XMC4500) ?

regards
Wlodek
0 Likes