XMC™ Forum Discussions
XMC™
Hi,I'm having an issue where I'm getting a misread by the ADC. Any value between ~1845 to 2048 is read as 2048. I am sampling a ~4kHz sine wave at 25k...
Show More
Hi,
I'm having an issue where I'm getting a misread by the ADC. Any value between ~1845 to 2048 is read as 2048. I am sampling a ~4kHz sine wave at 25kHz.
I'm using the VADC_GROUP_CONFIG app. Enabling broken wire detect has no affect Here is the configuration:
Here is a graph of the output:
Does any one have any ideas how to get rid of this error?
Cheers,
Nick Show Less
I'm having an issue where I'm getting a misread by the ADC. Any value between ~1845 to 2048 is read as 2048. I am sampling a ~4kHz sine wave at 25kHz.
I'm using the VADC_GROUP_CONFIG app. Enabling broken wire detect has no affect Here is the configuration:
/********************************* {channel_name} ADC Channel configuration structure ********************************/
static const XMC_VADC_CHANNEL_CONFIG_t VADC_GROUP_CONFIG_0_channel_0_ch_config =
{
.input_class = (uint32_t) XMC_VADC_CHANNEL_CONV_GROUP_CLASS0,
.lower_boundary_select = (uint32_t) XMC_VADC_CHANNEL_BOUNDARY_GROUP_BOUND1,
.upper_boundary_select = (uint32_t) XMC_VADC_CHANNEL_BOUNDARY_GROUP_BOUND0,
.event_gen_criteria = (uint32_t) XMC_VADC_CHANNEL_EVGEN_NEVER,
.sync_conversion = (uint32_t) false, /* Sync feature disabled*/
.alternate_reference = (uint32_t) XMC_VADC_CHANNEL_REF_INTREF,
.result_reg_number = (uint32_t) 3, /* GxRES[{result_reg_num}] selected */
.use_global_result = (uint32_t) 0,
.result_alignment = (uint32_t) XMC_VADC_RESULT_ALIGN_LEFT, /* Result alignment - Left Aligned*/
.broken_wire_detect_channel = (uint32_t) XMC_VADC_CHANNEL_BWDCH_VAGND, /* No Broken wire mode select*/
.broken_wire_detect = (uint32_t) false, /* Broken wire detection*/
.channel_priority = (bool) false, /* Highest Priority: 1 selected*/
.alias_channel = (int8_t) XMC_VADC_CHANNEL_ALIAS_CH3
};
/********************************* {channel_name} ADC Channel configuration structure ********************************/
static const XMC_VADC_CHANNEL_CONFIG_t VADC_GROUP_CONFIG_0_channel_1_ch_config =
{
.input_class = (uint32_t) XMC_VADC_CHANNEL_CONV_GROUP_CLASS0,
.lower_boundary_select = (uint32_t) XMC_VADC_CHANNEL_BOUNDARY_GROUP_BOUND1,
.upper_boundary_select = (uint32_t) XMC_VADC_CHANNEL_BOUNDARY_GROUP_BOUND0,
.event_gen_criteria = (uint32_t) XMC_VADC_CHANNEL_EVGEN_NEVER,
.sync_conversion = (uint32_t) false, /* Sync feature disabled*/
.alternate_reference = (uint32_t) XMC_VADC_CHANNEL_REF_INTREF,
.result_reg_number = (uint32_t) 1, /* GxRES[{result_reg_num}] selected */
.use_global_result = (uint32_t) 0,
.result_alignment = (uint32_t) XMC_VADC_RESULT_ALIGN_LEFT, /* Result alignment - Left Aligned*/
.broken_wire_detect_channel = (uint32_t) XMC_VADC_CHANNEL_BWDCH_VAGND, /* No Broken wire mode select*/
.broken_wire_detect = (uint32_t) false, /* Broken wire detection*/
.channel_priority = (bool) false, /* Highest Priority: 1 selected*/
.alias_channel = (int8_t) XMC_VADC_CHANNEL_ALIAS_DISABLED, /* ALIAS is Disabled*/
};
Here is a graph of the output:
Does any one have any ideas how to get rid of this error?
Cheers,
Nick Show Less
XMC™
Hi,exploring microcontroller systems for power electronic control applications I now testing the XMC4800 EtherCAT with DAVE.After activating the tool ...
Show More
Hi,
exploring microcontroller systems for power electronic control
applications I now testing the XMC4800 EtherCAT with DAVE.
After activating the tool chain an run the PWM port toggle example,
I'm looking for standard code examples like:
- direct port access (without PWM)
- timer interrupt configuration and ISR code frame
- ADC configuration and readout
- driving an external DAC via I2C/SPI
Unfortunately the example links on
https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc48_relax_ecat_v1/#ispnTab4
are looped or dead.
Thanks for your answers.
Best Regards,
Ralf Show Less
exploring microcontroller systems for power electronic control
applications I now testing the XMC4800 EtherCAT with DAVE.
After activating the tool chain an run the PWM port toggle example,
I'm looking for standard code examples like:
- direct port access (without PWM)
- timer interrupt configuration and ISR code frame
- ADC configuration and readout
- driving an external DAC via I2C/SPI
Unfortunately the example links on
https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc48_relax_ecat_v1/#ispnTab4
are looped or dead.
Thanks for your answers.
Best Regards,
Ralf Show Less
XMC™
I would like to read a text file with the help of the FATFS APP and the command f_gets. But after using the command I got a compiler error that there ...
Show More
I would like to read a text file with the help of the FATFS APP and the command f_gets. But after using the command I got a compiler error that there is a “undefined reference to `f_gets'”. Problem is, that commands like f_gets are only available if FF_USE_STRFUNC in file “ffconf.h” is at least 1.
In advanced setting of FATFS-APP it is possible to select “Enable w/o LF -> CRLF conversation”. If I change this setting and generate code no change is done in file “ffconf.h” and I still get the error.
Manuell changing the value of FF_USE_STRFUNC to 1 or 2 enables the function f_gets and everything is fine until next time generating code in DAVE.
Generation code only changes “#define FATFS_STRFUNC” in file “fatfs_conf.h” but this define is nothing else uses in the hole project. Some other options that are available in APP configuration are also ignored.
Has anybody an idea how to enable this option permanent so that it is save also by generation new code?
Infineon please update code generation process for FATFS-APP.
Thanks
M.Schneiders Show Less
#define FF_USE_STRFUNC 0
/* This option switches string functions, f_gets(), f_putc(), f_puts() and f_printf().
/
/ 0: Disable string functions.
/ 1: Enable without LF-CRLF conversion.
/ 2: Enable with LF-CRLF conversion. */
In advanced setting of FATFS-APP it is possible to select “Enable w/o LF -> CRLF conversation”. If I change this setting and generate code no change is done in file “ffconf.h” and I still get the error.
Manuell changing the value of FF_USE_STRFUNC to 1 or 2 enables the function f_gets and everything is fine until next time generating code in DAVE.
Generation code only changes “#define FATFS_STRFUNC” in file “fatfs_conf.h” but this define is nothing else uses in the hole project. Some other options that are available in APP configuration are also ignored.
Has anybody an idea how to enable this option permanent so that it is save also by generation new code?
Infineon please update code generation process for FATFS-APP.
Thanks
M.Schneiders Show Less
XMC™
Hi, I'm using XMC2Go development board and go I2C working correctly with some external devices. Now I need to make the code reliable when device is di...
Show More
Hi, I'm using XMC2Go development board and go I2C working correctly with some external devices. Now I need to make the code reliable when device is disconnected, but I found that I2C channel gets into a state that I can't recover.
I call
The status code surprised me, but fine, I could treat it as error here, however now the channel is broken, when I call
XMC_I2C_CH_MasterStart(channel, address, command);
again (e.g. trying to check if device is now connected) it will hang.
I'm guessing the first call to XMC_I2C_CH_MasterStart left the transmit buffer full and subsequent calls to this method will hang on XMC_USIC_CH_GetTransmitBufferStatus returning busy.
Now, the questions are
- how to properly detect lack of device and
- (if the above code it approximately what should be done) how to reset the channel in case of detected errors (I tried calling
I call
// init sequence,
// and then
XMC_I2C_CH_MasterStart(channel, address, command);
XMC_I2C_CH_GetStatusFlag(channel);
// when device is present is present it returns XMC_I2C_CH_STATUS_FLAG_ACK_RECEIVED
// but when it's disconnected it gives XMC_I2C_CH_STATUS_FLAG_START_CONDITION_RECEIVED (!)
The status code surprised me, but fine, I could treat it as error here, however now the channel is broken, when I call
XMC_I2C_CH_MasterStart(channel, address, command);
again (e.g. trying to check if device is now connected) it will hang.
I'm guessing the first call to XMC_I2C_CH_MasterStart left the transmit buffer full and subsequent calls to this method will hang on XMC_USIC_CH_GetTransmitBufferStatus returning busy.
Now, the questions are
- how to properly detect lack of device and
- (if the above code it approximately what should be done) how to reset the channel in case of detected errors (I tried calling
XMC_I2C_CH_Stop(CHANNEL); XMC_I2C_CH_Start(CHANNEL);, but it didn't help) Show Less
XMC™
Hi everyone, I purchased Infineon XMC4300 Relax EtherCAT EVK board, but they didn't give me the software package, just tell me if I want ...
Show More
Hi everyone,
I purchased Infineon XMC4300 Relax EtherCAT EVK board, but they didn't give me the software package, just tell me if I want this,
need to download to infineon website . Please tell me how to download ETHCAT_SSC_XMC43.zip,
thanks a lot........ Show Less
I purchased Infineon XMC4300 Relax EtherCAT EVK board, but they didn't give me the software package, just tell me if I want this,
need to download to infineon website . Please tell me how to download ETHCAT_SSC_XMC43.zip,
thanks a lot........ Show Less
XMC™
Hi Infineon, at Relaxkit 4500 Rev1.2 the TX connections from phy (IC200) to RJ45 (X200) are interchanged, TXP is connected to TD- and TXM to TD+. Plea...
Show More
Hi Infineon,
at Relaxkit 4500 Rev1.2 the TX connections from phy (IC200) to RJ45 (X200) are interchanged, TXP is connected to TD- and TXM to TD+. Please is there any reason for or is this an error?
Best Regards
Wolfgang Show Less
at Relaxkit 4500 Rev1.2 the TX connections from phy (IC200) to RJ45 (X200) are interchanged, TXP is connected to TD- and TXM to TD+. Please is there any reason for or is this an error?
Best Regards
Wolfgang Show Less
XMC™
Hello XMC Forum,Does any one know of example code that allows the use of the freemobus implemented in DAVE in Master TCP mode?I am aware of the Slave ...
Show More
Hello XMC Forum,
Does any one know of example code
that allows the use of the freemobus implemented in DAVE
in Master TCP mode?
I am aware of the Slave Mode.
Thanks. Show Less
Does any one know of example code
that allows the use of the freemobus implemented in DAVE
in Master TCP mode?
I am aware of the Slave Mode.
Thanks. Show Less
XMC™
Hi,I want to test the SPI interface of the XMC4800 device. I want to use an MCU as the master and then connent XMC4800 as a slave.I want a sample proj...
Show More
Hi,
I want to test the SPI interface of the XMC4800 device. I want to use an MCU as the master and then connent XMC4800 as a slave.
I want a sample project of XMC4800 in Quad SPI slave mode.
Could someone provide me some information about this, please?
Best regards, Show Less
I want to test the SPI interface of the XMC4800 device. I want to use an MCU as the master and then connent XMC4800 as a slave.
I want a sample project of XMC4800 in Quad SPI slave mode.
Could someone provide me some information about this, please?
Best regards, Show Less
XMC™
Hi Infineon,at xmc4500/4800 please which signals observes the usb module to detect a new connection when used as B-device? Only DP and DM or VBUS too?...
Show More
Hi Infineon,
at xmc4500/4800 please which signals observes the usb module to detect a new connection when used as B-device? Only DP and DM or VBUS too? We need isolation via ADuM3160 (Analog Devices) and the chip transfers only DP and DM. Thanks for the answer.
Best Regards
Wolfgang Show Less
at xmc4500/4800 please which signals observes the usb module to detect a new connection when used as B-device? Only DP and DM or VBUS too? We need isolation via ADuM3160 (Analog Devices) and the chip transfers only DP and DM. Thanks for the answer.
Best Regards
Wolfgang Show Less
XMC™
I am using CAN gateway functionality and the microcontrolller I am using is XMC4402. My Source message object is CAN message object 1(on CAN node 1). ...
Show More
I am using CAN gateway functionality and the microcontrolller I am using is XMC4402.
My Source message object is CAN message object 1(on CAN node 1). Desination message obejct is CAN message object 0(on CAN node 0). The CANgateway is working fine.
I have also configured DMA channel 4 to copy data from CAN message object 0(destination message object) to a software buffer. The DMA part of implementation is not working. Also there are other DMAs configured in my application for other functionalities. Is there any care that has to be taken while configuring DMA Request Line?
I have configured DMA Line = 2 and RS2(DLR_SRSEL) = 10 which is not used by any other DMA channel. Show Less
My Source message object is CAN message object 1(on CAN node 1). Desination message obejct is CAN message object 0(on CAN node 0). The CANgateway is working fine.
I have also configured DMA channel 4 to copy data from CAN message object 0(destination message object) to a software buffer. The DMA part of implementation is not working. Also there are other DMAs configured in my application for other functionalities. Is there any care that has to be taken while configuring DMA Request Line?
I have configured DMA Line = 2 and RS2(DLR_SRSEL) = 10 which is not used by any other DMA channel. Show Less