Not applicable
Jul 30, 2014
06:12 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jul 30, 2014
06:12 AM
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
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
4 Replies
Feb 10, 2015
12:49 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Feb 10, 2015
12:49 AM
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
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
Feb 10, 2015
02:41 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Feb 10, 2015
02:41 AM
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
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
Not applicable
Feb 10, 2015
05:56 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Feb 10, 2015
05:56 PM
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)
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)
May 18, 2015
02:26 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 18, 2015
02:26 PM
Hi Jackson,
where is that global start bit to trigger TRAP function in CCU8 (XMC4500) ?
regards
Wlodek
where is that global start bit to trigger TRAP function in CCU8 (XMC4500) ?
regards
Wlodek