XMC1400 and PWM not working

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

cross mob
User18515
Level 1
Level 1
First reply posted First question asked
Hi

XMC 1404 based board, PWM is not working. I have working code on XMC 1300, the same code we tried to run on XMC1404, but it was not working. Can someone tell me wat changes are to be done?

regards
Sriram
0 Likes
1 Solution
RValascho
Employee
Employee
5 sign-ins First like received 5 questions asked

Can you define a little bit more about what works or doesn't work.  Do you see PWM signals?  Are you not getting interrupts?  There is for sure changes to the interrupt router, as the vectors are now multiplexed in XMC1400 via the INTCTRx registers.  NVIC_SetPriority() additionally needs XMC_SetInterruptControl() to account for the ISR multiplexing in SCU_GENERAL->INTCRx.

View solution in original post

0 Likes
3 Replies
Javier_ITA
Level 1
Level 1
5 sign-ins First like given First question asked

Hi Sriram,

We have the same problem. We use the Dave App PWM_SVM to generate the PWM signals; it works on a XMC1302 but it does not on a XMC1404. The App help says XMC1400 is not supported, but it may be related with the  different use of PWMs on XMC1300 and XMC1400. Did you manage to solve your problem?

Regards,
Javier

0 Likes
RValascho
Employee
Employee
5 sign-ins First like received 5 questions asked

Can you define a little bit more about what works or doesn't work.  Do you see PWM signals?  Are you not getting interrupts?  There is for sure changes to the interrupt router, as the vectors are now multiplexed in XMC1400 via the INTCTRx registers.  NVIC_SetPriority() additionally needs XMC_SetInterruptControl() to account for the ISR multiplexing in SCU_GENERAL->INTCRx.

0 Likes
Javier_ITA
Level 1
Level 1
5 sign-ins First like given First question asked

High Rvalascho,

Thanks for your interest. We use Dave App PWM_SVM for both XMC1300 and XMC1400 to generate SVM PWM signals to control a three-phase inverter. In the XMC1400 board, the problem was there were tiny short-circuits in the transistors of the same leg. After analysing this, we found out the dead time is different depending on the configured output polarity. We firstly had selected "Active High", since it is the right polarity (pwm output high -> transistor ON). This configuration caused the pwm outputs of the same leg to overlap for the time configured in the dead time fields, causing the instant short-circuits. We changed the polarity to "Active Low" and the problem was solved.

In the XMC1300 the polarity was "Active High" (as it was expected) and it worked rightly.

So, we think there may be a bug in this Dave App for the XM1400;  the app version is 4.0.30.

Regards,
Javier

0 Likes