XMC™ Forum Discussions
Hello,
In our company we use many cards with an Infineon processor, XMC4500.
When we communicate with them in TCP communication
we encounter the same problem that repeats itself on all cards.
General description of the system:
Each system has several cards with an XMC4500 processor,
Once a second we send a command (via TCP) to all cards and wait for a reply.
The system is supposed to be ON 24/7, what happens today is that after a few days (2, 3 days on average) the communication with the card stops and only a reset to the card restores it to activity.
When the communication stops - what happens is that you can't send requests to the specific port, but when you send a ping request it works.
The processor continues to run, the TCP communication stops.
The ETH_LWIP app is set up the same as in your examples.
Do you have any idea what causes this problem and how to solve it?
this is very important to us.
Thank you
Yehudit
Show LessHi, I am working on phase shifted PWMs in XMC4400. By reading the app note below, I have a doubt on PWM generation for PSFB. In Figure 25, two phase shifted pwms are generated. However, in Figure 26, four pwms (two complementary pair) are needed. How do you get the complementary pair (Q21, Q22) for the slave CC81?
Do you have any other ways to generate 120-degree phase-shifted pwms, 6 pwms in total (3 complementary pairs) for 3 half bridges?
Thanks.
Show Less1. Please ask the attached picture demo code with those demo development board adaption, and motor.
2. bldc_scalar_hall_xmc44
3.XMC4800
smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/XMC/demo%E4%BB%A3%E7%A0%81%E4%B8%8Edemo%E6%9D%BF%E5%AD%90%E9%80%82%E9%85%8D/td-p/735245
Show LessHi,
I'm looking for an complete example for using an external memory (CY15B104QSN) with DSPI in modusToolbox.
My test board is the KIT_XMC72_EVK XMC7200 evaluation kit.
I did find a lot of code snippets, but none of them are complete using the device configurator and the QSPI configurator and finally having all steps from the initialisation till reading and writing from/to the device.
The board connector is J21 which I use.
Support is highly aprechiated.
BR
Martin
Show LessHello,
in the generated code XMC4200-F64K256 BA #, APP UART_RS485 is defined as below
/*USIC channel configuration*/
const XMC_UART_CH_CONFIG_t UART_RS485_channel_config =
{
.baudrate = 9600U,
.data_bits = 8U,
.frame_length = 8U,
.stop_bits = 1U,
.oversampling = 16U,
.parity_mode = XMC_USIC_CH_PARITY_MODE_NONE
};
/*Transmit pin configuration*/
const XMC_GPIO_CONFIG_t UART_RS485_tx_pin_config =
{
.mode = XMC_GPIO_MODE_OUTPUT_PUSH_PULL_ALT2,
.output_level = XMC_GPIO_OUTPUT_LEVEL_HIGH,
.output_strength = XMC_GPIO_OUTPUT_STRENGTH_STRONG_SOFT_EDGE
};
/*Transmit pin configuration used for initializing*/
const UART_TX_CONFIG_t UART_RS485_tx_pin =
{
.port = (XMC_GPIO_PORT_t *)PORT2_BASE,
.config = &UART_RS485_tx_pin_config,
.pin = 14U
};
/*UART APP configuration structure*/
const UART_CONFIG_t UART_RS485_config =
{
.channel_config = &UART_RS485_channel_config,
.fptr_uart_config = UART_RS485_init,
.rx_cbhandler = SysBus_Callback_EndofRX,
.sync_error_cbhandler = NULL,
.rx_noise_error_cbhandler = NULL,
.format_error_bit0_cbhandler = NULL,
.format_error_bit1_cbhandler = NULL,
.collision_error_cbhandler = NULL,
.tx_pin_config = &UART_RS485_tx_pin,
.mode = UART_MODE_FULLDUPLEX,
.transmit_mode = UART_TRANSFER_MODE_DIRECT,
.receive_mode = UART_TRANSFER_MODE_INTERRUPT,
.tx_fifo_size = XMC_USIC_CH_FIFO_SIZE_32WORDS,
.rx_fifo_size = XMC_USIC_CH_FIFO_SIZE_32WORDS,
};
/*Runtime handler*/
UART_RUNTIME_t UART_RS485_runtime =
{
.tx_busy = false,
.rx_busy = false,
};
/*APP handle structure*/
UART_t UART_RS485 =
{
.channel = XMC_UART1_CH0,
.config = &UART_RS485_config,
.runtime = &UART_RS485_runtime
};
In another .C file wrote by myself. I want to change baud rate under some condition:
void ChangeBaudRate(uint8_t *Data)
{
uint32_t ReqBaudRate;
uint32_t CurrBaudRate;
/* UART_RS485 is defined in uart_conf.c */
extern UART_t UART_RS485;
CurrBaudRate = UART_RS485.config->channel_config->baudrate;
if(Data[1] == 0x00)
{
ReqBaudRate = 9600U;
}
else
{
ReqBaudRate = 19200U;
}
if(ReqBaudRate != CurrBaudRate)
{
XMC_UART_CH_SetBaudrate(UART_RS485.channel, ReqBaudRate, 16U);
}
}
It is possible to change baud rate from 9600 to 19200. But if I send another Data to change the ReqBaudRate to 9600, the baud rate cannot change from 19200 to 9600.
If I remove condition
if(ReqBaudRate != CurrBaudRate)
Then baud rate can be changed back to 9600.
So I think the root cause is that CurrBaudRate is not updated to 19200.
I want to ask, is it right to get current baud rate like
CurrBaudRate = UART_RS485.config->channel_config->baudrate;
Or there is other way to get current baud rate?
Can you please help to check the problem?
Thank you very much!
BR,
Lila
Show Less使用XMC4300芯片在Eclipse中创建ethercat的工程,有相应的例程框架吗,还有就是DAVE apps插件应该怎么下载呢,我没有搜索到。打扰了,期待回复
Hello,
I am developing a program that executes the XMC Flasher .exe, and programs a board using said flasher.
However, I would like to be able to program/set BMI of multiple boards at the same time by having multiple programmers connected into my PC. If multiple XMC programmers are connected to my PC at once, is there a way to identify, select, and control a specific programmer, perhaps through the programmer's COM port or serial number?
If not possible through XMC Flasher, is there is other software that would accomplish what I'm trying to do?
Thank you,
Alex
Show LessHI, All
I only look at the following Block diagram. I could not find the full application document. Can someone provide me with a complete document? Thanks!
Show Less
smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/XMC/XMC4800-%E4%B8%B2%E5%8F%A3%E4%B8%AD%E6%96%AD%E6%8E%A5%E6%94%B6%E6%95%B0%E6%8D%AE%E9%94%99%E8%AF%AF/td-p/496613
Show LessTake GPIO as an example, after the RTE is configured, there will be xmc_gpio.h, xmc1_gpio.h, xmc_gpio.c, xmc1_gpio.c, what kind of relationship is there among the four? Why is there a declaration of XMC_GPIO_Init in xmc_gpio.h, but no definition of XMC_GPIO_Init in the xmc_gpio.c file?
smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/XMC/XMC%E7%9A%84RTE%E9%85%8D%E7%BD%AE%E7%9A%84%E7%96%91%E6%83%91/td-p/497237
Show Less