CCU8 Passive level not set with app

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
3 Replies
Not applicable
Hi Naresh,

Suppose you only need to clear the TRAP signal by setting CC4yTC.TRPSW = 1 after the input trap signal is removed.
Then your PWM should be resumed.
You don't even need to re-initialize the CCU8.
0 Likes
Not applicable
Jackson wrote:
Hi Naresh,

Suppose you only need to clear the TRAP signal by setting CC4yTC.TRPSW = 1 after the input trap signal is removed.
Then your PWM should be resumed.
You don't even need to re-initialize the CCU8.


Hi Jackson,
when Trap occurs we turn off PWM using PWMSM01_stop() and clear Trap flag using
PWMSVM01_ResetTrapFlag().
We have considered Trap exit control as "SW Exit" in PWMSVM app.
After this we are calling PWMSM01_start() for PWM generation but PWM does not resume.
0 Likes
Not applicable
Hi Naresh,

It seems the function PWMSVM01_ResetTrapFlag() did not set CC8yTC.TRPSW = 1.
So I think you have to manually set this bit after you call PWMSVM01_ResetTrapFlag().
0 Likes