XMC™ Forum Discussions
XMC™
Hi,I believe there is an issue in the XMC's PWM_CCU4 (or PWM_CCU8) APP has issue, it doesn't allow the frequency below 1Hz.But based on hardware Presc...
Show More
Hi,
I believe there is an issue in the XMC's PWM_CCU4 (or PWM_CCU8) APP has issue, it doesn't allow the frequency below 1Hz.
But based on hardware Prescalar limit (32768) and Time Period limit (65535), I feel hardware can support the same.
Let me know if its possible.
Thanks in advance for your help. Show Less
I believe there is an issue in the XMC's PWM_CCU4 (or PWM_CCU8) APP has issue, it doesn't allow the frequency below 1Hz.
But based on hardware Prescalar limit (32768) and Time Period limit (65535), I feel hardware can support the same.
Let me know if its possible.
Thanks in advance for your help. Show Less
XMC™
Hi got one question with ccu4 timer config. I need to generate two timers, one that counts microseconds and the second one counting miliseconds. Is th...
Show More
Hi
got one question with ccu4 timer config. I need to generate two timers, one that counts microseconds and the second one counting miliseconds. Is this possible using CCU40 and CCU41 slices?
thanks Show Less
got one question with ccu4 timer config. I need to generate two timers, one that counts microseconds and the second one counting miliseconds. Is this possible using CCU40 and CCU41 slices?
thanks Show Less
XMC™
I have learned older SEGGER versions have problems to erase flash (timeouts) before downloading the binary.This is especially true if your binary is b...
Show More
I have learned older SEGGER versions have problems to erase flash (timeouts) before downloading the binary.
This is especially true if your binary is bigger >256K.
You will see strange traps/behaviour without being further noticed after downloading the binary.
https://www.segger.com/downloads/jlink
Once the new version is installed, in the DAVE preferences, Window>Preferences (see below), update the version as below
Show Less
This is especially true if your binary is bigger >256K.
You will see strange traps/behaviour without being further noticed after downloading the binary.
https://www.segger.com/downloads/jlink
Once the new version is installed, in the DAVE preferences, Window>Preferences (see below), update the version as below
Show Less
XMC™
Hi everyone,we have recently encountered the following enigmatic problem:There is a bootloader that uses the SPI_MASTER (4.3.20) App with DMA configur...
Show More
Hi everyone,
we have recently encountered the following enigmatic problem:
There is a bootloader that uses the SPI_MASTER (4.3.20) App with DMA configuration and soon after jumps into the main application with the same SPI_MASTER App configuration. Somehow that blocks the SPI.
BUT: If we change the SPI_MASTER configuration in bootloader or in the application to "direct", then it works!.
Unfortunately, we cannot change either. The product is already out with the bootloader in DMA and the new application was coded with DMA as well and won't work correctly in "direct" mode.
So far we tried to reset the DMA manually again in application with no luck. Any brighter ideas? Thanks! Show Less
we have recently encountered the following enigmatic problem:
There is a bootloader that uses the SPI_MASTER (4.3.20) App with DMA configuration and soon after jumps into the main application with the same SPI_MASTER App configuration. Somehow that blocks the SPI.
BUT: If we change the SPI_MASTER configuration in bootloader or in the application to "direct", then it works!.
Unfortunately, we cannot change either. The product is already out with the bootloader in DMA and the new application was coded with DMA as well and won't work correctly in "direct" mode.
So far we tried to reset the DMA manually again in application with no luck. Any brighter ideas? Thanks! Show Less
XMC™
Hi Everybody,I'm working on NuttX RTOS port for XMC4500 MCU and I'm facing a strange issue:The keystrokes typed in the serial console are not generati...
Show More
Hi Everybody,
I'm working on NuttX RTOS port for XMC4500 MCU and I'm facing a strange issue:
The keystrokes typed in the serial console are not generating Standard/Alternative Receive Interruptions.
In fact only some special keys (i.e.: ENTER, SPACE, PGUP, PGDN, HOME, END, F1-F12, etc) are generating interruption.
If I try polling the OUTR register I can see the correct keys arriving, but it doesn't generates the interruption.
Also I'm not using the TBCTR.STBTEN/RBCTR.SRBTEN = 1 as explained in the Errata:
"USIC_AI.015 Wrong generation of FIFO standard transmit/receive buffer
events when TBCTR.STBTEN/RBCTR.SRBTEN = 1"
I'm configuring the receiver FIFO this way (https://gist.github.com/acassis/9d6a68c41d9f9fb5c6185bfa00eeb000) :
/* Configure receive FIFO.
*
* - DPTR = 0
* - LIMIT = 0
* - SIZE = 2
* - LOF = 1, A standard receive buffer event occurs when the filling
* level equals the limit value and gets bigger due to the reception
* of a new data word
*/
regval &= ~(USIC_RBCTR_DPTR_MASK | USIC_RBCTR_LIMIT_MASK | USIC_RBCTR_SRBTEN |
USIC_RBCTR_SIZE_MASK | USIC_RBCTR_LOF);
regval |= (USIC_RBCTR_DPTR(0) | USIC_RBCTR_LIMIT(0) | USIC_RBCTR_SRBTM |
USIC_RBCTR_SRBIEN | USIC_RBCTR_ARBIEN | USIC_RBCTR_SIZE_2 | USIC_RBCTR_LOF);
putreg32(regval, base + XMC4_USIC_RBCTR_OFFSET);
Also all registers are configured as in DAVE4 serial example:
xmc4_uart_configure: -----------------------------------------------------
xmc4_uart_configure: CCFG = 000080cf
xmc4_uart_configure: IOCR0 = 00009010
xmc4_uart_configure: HWSEL = 00014000
xmc4_uart_configure: OMR = 00000000
xmc4_uart_configure: PDR0 = 22222200
xmc4_uart_configure: INPR = 00000000
xmc4_uart_configure: PCR = 00030901
xmc4_uart_configure: SCTR = 07070102
xmc4_uart_configure: TCSR = 15000580
xmc4_uart_configure: DXCR = 00008003
xmc4_uart_configure: +++++++++++++++++++++++++++++++++++++++++++++++++++++
NuttShell (NSH)
nsh>
I'm configuring the INPR to SR0 and waiting the interrupt XMC4_IRQ_USIC1_SR0 /* 90: USIC1 Channel, SR0 */
As I explained, the interruption is generated, but only for special keys.
I know there are some BUGs in the USIC UART, but this issue is different from other issues I had read:
https://www.infineonforums.com/archive/index.php/t-917.html?
https://www.infineonforums.com/threads/5053-USIC-as-UART-using-receive-buffer-leaves-unread-characters-in-buffer
Please help me to understand why it is not working for ordinary keystrokes and how to fix it?
BR,
Alan Show Less
I'm working on NuttX RTOS port for XMC4500 MCU and I'm facing a strange issue:
The keystrokes typed in the serial console are not generating Standard/Alternative Receive Interruptions.
In fact only some special keys (i.e.: ENTER, SPACE, PGUP, PGDN, HOME, END, F1-F12, etc) are generating interruption.
If I try polling the OUTR register I can see the correct keys arriving, but it doesn't generates the interruption.
Also I'm not using the TBCTR.STBTEN/RBCTR.SRBTEN = 1 as explained in the Errata:
"USIC_AI.015 Wrong generation of FIFO standard transmit/receive buffer
events when TBCTR.STBTEN/RBCTR.SRBTEN = 1"
I'm configuring the receiver FIFO this way (https://gist.github.com/acassis/9d6a68c41d9f9fb5c6185bfa00eeb000) :
/* Configure receive FIFO.
*
* - DPTR = 0
* - LIMIT = 0
* - SIZE = 2
* - LOF = 1, A standard receive buffer event occurs when the filling
* level equals the limit value and gets bigger due to the reception
* of a new data word
*/
regval &= ~(USIC_RBCTR_DPTR_MASK | USIC_RBCTR_LIMIT_MASK | USIC_RBCTR_SRBTEN |
USIC_RBCTR_SIZE_MASK | USIC_RBCTR_LOF);
regval |= (USIC_RBCTR_DPTR(0) | USIC_RBCTR_LIMIT(0) | USIC_RBCTR_SRBTM |
USIC_RBCTR_SRBIEN | USIC_RBCTR_ARBIEN | USIC_RBCTR_SIZE_2 | USIC_RBCTR_LOF);
putreg32(regval, base + XMC4_USIC_RBCTR_OFFSET);
Also all registers are configured as in DAVE4 serial example:
xmc4_uart_configure: -----------------------------------------------------
xmc4_uart_configure: CCFG = 000080cf
xmc4_uart_configure: IOCR0 = 00009010
xmc4_uart_configure: HWSEL = 00014000
xmc4_uart_configure: OMR = 00000000
xmc4_uart_configure: PDR0 = 22222200
xmc4_uart_configure: INPR = 00000000
xmc4_uart_configure: PCR = 00030901
xmc4_uart_configure: SCTR = 07070102
xmc4_uart_configure: TCSR = 15000580
xmc4_uart_configure: DXCR = 00008003
xmc4_uart_configure: +++++++++++++++++++++++++++++++++++++++++++++++++++++
NuttShell (NSH)
nsh>
I'm configuring the INPR to SR0 and waiting the interrupt XMC4_IRQ_USIC1_SR0 /* 90: USIC1 Channel, SR0 */
As I explained, the interruption is generated, but only for special keys.
I know there are some BUGs in the USIC UART, but this issue is different from other issues I had read:
https://www.infineonforums.com/archive/index.php/t-917.html?
https://www.infineonforums.com/threads/5053-USIC-as-UART-using-receive-buffer-leaves-unread-characters-in-buffer
Please help me to understand why it is not working for ordinary keystrokes and how to fix it?
BR,
Alan Show Less
XMC™
Hi,I'm planning on using the CCU8 to control a Full Bridge DC/DC Converter.I read in the XMC4500 reference manual, that you can do a phase shifted PWM...
Show More
Hi,
I'm planning on using the CCU8 to control a Full Bridge DC/DC Converter.
I read in the XMC4500 reference manual, that you can do a phase shifted PWM by linking the timer cells.
How can I do that in DAVE?
Right now, I am using two PWM Apps in asynchronous mode where I set a 180° phase shift by
setting the starting point of the one at 0 and the other at 5000 and then start them simoultaneously.
Is this the way to go or is there a better way?
Because right now I need to use a function, that calculates the correct values, to set a dutycycle.
Thanks Show Less
I'm planning on using the CCU8 to control a Full Bridge DC/DC Converter.
I read in the XMC4500 reference manual, that you can do a phase shifted PWM by linking the timer cells.
How can I do that in DAVE?
Right now, I am using two PWM Apps in asynchronous mode where I set a 180° phase shift by
setting the starting point of the one at 0 and the other at 5000 and then start them simoultaneously.
Is this the way to go or is there a better way?
Because right now I need to use a function, that calculates the correct values, to set a dutycycle.
Thanks Show Less
XMC™
Hi,I am using XMC1300 series MCU for my application.There are two ISR corresponding to CCU8 and CCU4 and 1 for VADC.When I am using sprintf function t...
Show More
Hi,
I am using XMC1300 series MCU for my application.
There are two ISR corresponding to CCU8 and CCU4 and 1 for VADC.
When I am using sprintf function to display string on lcd, it shows garbage and sometimes goes to exception.
I even tried to save the string array without using sprintf like :
str[0] = '9';
str[1] = '2'
Still it doesnt prints the specified result.
LCD routine comes later as the array string it self consist of garbage whether I am using sprintf or not.
I even tried to increase the stack upto 4k but no solution.
Please guide me what needs to be done.
Regards,
Tinchu Show Less
I am using XMC1300 series MCU for my application.
There are two ISR corresponding to CCU8 and CCU4 and 1 for VADC.
When I am using sprintf function to display string on lcd, it shows garbage and sometimes goes to exception.
I even tried to save the string array without using sprintf like :
str[0] = '9';
str[1] = '2'
Still it doesnt prints the specified result.
LCD routine comes later as the array string it self consist of garbage whether I am using sprintf or not.
I even tried to increase the stack upto 4k but no solution.
Please guide me what needs to be done.
Regards,
Tinchu Show Less
XMC™
Hello everyone,I'm working with a XMC 4700, I'm trying to use the fopen() as it follows:const char* pFileName = "SOMETHING.BIN";FILE* fp = fopen(pFi...
Show More
Hello everyone,
I'm working with a XMC 4700, I'm trying to use the fopen() as it follows:
const char* pFileName = "SOMETHING.BIN";
FILE* fp = fopen(pFileName, "w");
char * cadena = strerror(errno);
Instead of a direction, the value a I get from fp = 0, from cadena = "Function not implemented" and from errno = 88 (Socket operation on non-socket).
I don't know what I'm doing wrong heir, so I ask for your help.
I thank you in advance.
Best regards
Alan Show Less
I'm working with a XMC 4700, I'm trying to use the fopen() as it follows:
const char* pFileName = "SOMETHING.BIN";
FILE* fp = fopen(pFileName, "w");
char * cadena = strerror(errno);
Instead of a direction, the value a I get from fp = 0, from cadena = "Function not implemented" and from errno = 88 (Socket operation on non-socket).
I don't know what I'm doing wrong heir, so I ask for your help.
I thank you in advance.
Best regards
Alan Show Less
XMC™
Hello guys,When I started to program the XMC2Go XMC1100 board, it wasn't necessary to upload the firmware when the board was unplugged and plugged aga...
Show More
Hello guys,
When I started to program the XMC2Go XMC1100 board, it wasn't necessary to upload the firmware when the board was unplugged and plugged again. Last days, when I disconnect the board it seems that it "loses" the firmware and then I have to re-upload it in order to have the board working again.
Does anybody knows what is happening or how can I solve this problem?
Thanks in advance.
Best regards,
Leonardo. Show Less
When I started to program the XMC2Go XMC1100 board, it wasn't necessary to upload the firmware when the board was unplugged and plugged again. Last days, when I disconnect the board it seems that it "loses" the firmware and then I have to re-upload it in order to have the board working again.
Does anybody knows what is happening or how can I solve this problem?
Thanks in advance.
Best regards,
Leonardo. Show Less
XMC™
Hi,The example ETHCAT_FWUPDATE_SSC_APPLICATION_XMC48 on the XMC4800_Relax_Kit seems to work fine. But my target application will be completely potted...
Show More
Hi,
The example ETHCAT_FWUPDATE_SSC_APPLICATION_XMC48 on the XMC4800_Relax_Kit seems to work fine. But my target application will be completely potted, so that only the power lines and the EtherCAT lines will be connectable after production.
What can happen when unintentionally firmware will be downloaded without an EtherCAT interface or an EtherCAT interface with a bug, so that the interface not works, or not reliable is?
How can I create a construction so that I can be sure that this product under any condition can be updated (by EtherCAT)?
Regards
Gerrard Show Less
The example ETHCAT_FWUPDATE_SSC_APPLICATION_XMC48 on the XMC4800_Relax_Kit seems to work fine. But my target application will be completely potted, so that only the power lines and the EtherCAT lines will be connectable after production.
What can happen when unintentionally firmware will be downloaded without an EtherCAT interface or an EtherCAT interface with a bug, so that the interface not works, or not reliable is?
How can I create a construction so that I can be sure that this product under any condition can be updated (by EtherCAT)?
Regards
Gerrard Show Less