We are using KIT_XMC4400_DC_V1 board, and using PMSM_FOC App from DAvE IED. We can read the I_V, user_speed_set. etc. However, the Inverter Enable could not be activated. ( Active_Low). We traced teh PMSM_FOC error code. It always show "2", Meaning " Trap". How to debug for such case? How can we know where give this "TRAP" ?Show Less
After quite some tinkering and many unsuccessful attempts, I created a method for loading firmware through ASC and (more important), enabling SWD when the only J-Link available doesn't support SPD (J-Link EDU Mini).
It's basically a python script that loads a .bin firmware through a cheap serial adapter using ASC protocol. It allows us to send a firmware that sets the BMI register to SWD debugging mode, making it possible to debug and flash with our J-Link EDU Mini.
Everything is on this repository: equipepucpr/xmc_loader: Infineon ASC BSL Script (github.com)
Application: I am working on an SPI master-slave communication. To save CPU power we use DMA support. The data transfer works correctly. Also when we produce some noise on the hardware lines, the data protocol detects a CRC error corectly. The application runs on an XMC 4500 Relax Kit.
Problem: When we produce noise on the clock line, the slave samples additional data bits. The protocol detects a CRC error but an additional byte is read by the DMA from the receive register and stored in the DMA FIFO. During the next transfer this additional data byte is processed and as a result all following transfers are corrupt. All data bytes are shifted by one byte.
Question: If a CRC error is detected, I want to reset the DMA FIFO before the next transfer is started. Can some body give me a hint, how this can be done, which command can be used?
Thanks for any support
I am using the XMC1300 to control a Boost converter in PCC mode. I have started with the project 'BUCK_PCC_FIX_FQ_EXAMPLE_XMC13' as this uses DAVE apps and makes it easy to validate. I have the control working in open loop, i.e, changing duty changes the output as expected. However, in Closed loop current control, the PWM signals experience false switching at the start of the switching cycle. The control somewhat works at low input voltages but always mis-triggers at higher operating input voltages. Hence, I would like to implement LEB.
I have ticked the blanking option and set the blanking time. I see that there is difference in the CCU4 timer configuration. But this does not make any difference to its performance. I have attached the snapshot of the configuration in Dave and the waveform as seen on the scope.
The inductor current is represented in yellow while the Low side gate voltage is represented in Blue. Switching frequency is 100 kHz.
I do not suppose any hardware modifications are required as the modules are internally connected. Is there something I have missed? Please let me know.
I have a DAVE project that I am trying to flash over the air. If I use a Segger debug probe from within the DAVE IDE to flash it, it boots and runs fine. If I power reset without the Segger debug probe attached, it also boots and runs fine. If I use the Infineon supplied XMCLoad over a serial port to flash it, it flashes without error, but won’t boot and run. The .hex file I am flashing using XMCLoad is from the debug build directory of the DAVE project.
I’m not sure if there is some setting in the DAVE IDE that I need to specify in order to get it to flash using XMCLoad correctly or if the problem lies elsewhere. Does anyone have any ideas?Show Less