XMC™ Forum Discussions
Sort by:
XMC™
Hello,I am trying to configure the CAN Nodes of an xmc4500 with the Dave App.The Microcontroller is connected to a PCAN Device, so that I can monitor ...
Show More
Hello,
I am trying to configure the CAN Nodes of an xmc4500 with the Dave App.
The Microcontroller is connected to a PCAN Device, so that I can monitor the messages on my computer.
The PCAN has the following timing configuration:
Bitrate: 500kbit/s
Sample point: 87.5%
Synchronization jump width: 1
So here is the first problem. In the GUI of the CAN App I can not set the sample point to 87.5%, only to even values (87 or 88).
To fix that I went into the generated con_node_conf.c and set the sample_point in XMC_CAN_NODE_NOMINAL_BIT_TIME_CONFIG_t to 8750.
The baudrate is set to 500 in the GUI and the jump width to 1.
So the config looks like this:
I tested the configuration for two nodes with loobpack mode enabled.
This works fine.
But now I want to send messages to my PCAN. I only get BUSHEAVY or BUSLIGHT Error messages in the PCAN Explorer.
So I guess something in the bit timing is not correct?
I looked into the XMC_CAN_NODE_NominalBitTimeConfigure method and saw that the timing register is set there.
So I went to http://www.can-wiki.info/bittiming/tq.html#Infineon and looked up the recommended values for the given timing.
It says:
Prescaler: 15
Seg1: 13
Seg2: 2
Sample Point at 87.5%
Div8: 0
I tried to hardcode these values in the method ,but it still doesnt work.
What else could be the problem? And how does the calculation in the method works? By debugging I could find that the calculated values are different.
I know that the wiring is correct, because I have an old software, where the CAN works. (But I still need to redo it)
Dave App Version is 4.1.10 Show Less
I am trying to configure the CAN Nodes of an xmc4500 with the Dave App.
The Microcontroller is connected to a PCAN Device, so that I can monitor the messages on my computer.
The PCAN has the following timing configuration:
Bitrate: 500kbit/s
Sample point: 87.5%
Synchronization jump width: 1
So here is the first problem. In the GUI of the CAN App I can not set the sample point to 87.5%, only to even values (87 or 88).
To fix that I went into the generated con_node_conf.c and set the sample_point in XMC_CAN_NODE_NOMINAL_BIT_TIME_CONFIG_t to 8750.
The baudrate is set to 500 in the GUI and the jump width to 1.
So the config looks like this:
/* CAN_NODE Bit Time Configuration */
XMC_CAN_NODE_NOMINAL_BIT_TIME_CONFIG_t CAN_NODE_VEH_BitTimeConfig = {
.can_frequency = (uint32_t)1.2E8,
.baudrate = (uint32_t)(500 * 1000),
.sample_point = (uint16_t)(8750),
.sjw = (uint16_t)1
};
I tested the configuration for two nodes with loobpack mode enabled.
This works fine.
But now I want to send messages to my PCAN. I only get BUSHEAVY or BUSLIGHT Error messages in the PCAN Explorer.
So I guess something in the bit timing is not correct?
I looked into the XMC_CAN_NODE_NominalBitTimeConfigure method and saw that the timing register is set there.
So I went to http://www.can-wiki.info/bittiming/tq.html#Infineon and looked up the recommended values for the given timing.
It says:
Prescaler: 15
Seg1: 13
Seg2: 2
Sample Point at 87.5%
Div8: 0
I tried to hardcode these values in the method ,but it still doesnt work.
What else could be the problem? And how does the calculation in the method works? By debugging I could find that the calculated values are different.
I know that the wiring is correct, because I have an old software, where the CAN works. (But I still need to redo it)
Dave App Version is 4.1.10 Show Less
XMC™
Hi all,I am having troubles figuring out how to use software triggers to request conversions with VADC on my XMC4400 micro. The reference manual state...
Show More
Hi all,
I am having troubles figuring out how to use software triggers to request conversions with VADC on my XMC4400 micro. The reference manual states that there conversions may be requested by external signals (GPIO pins used for input), on-chip signals (e.g. PWM status bit) and software triggers. I can't seem to figure out how to trigger the request source with software? Which registers should I take a look at to figure this out?
Thank you!
Best regards,
Andrey Show Less
I am having troubles figuring out how to use software triggers to request conversions with VADC on my XMC4400 micro. The reference manual states that there conversions may be requested by external signals (GPIO pins used for input), on-chip signals (e.g. PWM status bit) and software triggers. I can't seem to figure out how to trigger the request source with software? Which registers should I take a look at to figure this out?
Thank you!
Best regards,
Andrey Show Less
XMC™
An updated set of XMC4000 Data Sheet and Errata Sheet are available at the Infineon Technologies website:http://www.infineon.com/cms/en/product/microcontroller/32-bit-industrial-microcontroller-based-on-arm-registered-cortex-registered-m/32-bit-xmc4000-industrial-microcontroller-arm-registered-cortex-registered-m4/channel.html?channel=db3a30433580b3710135a03abaf9385e#ispnTab3...
Show More
An updated set of XMC4000 Data Sheet and Errata Sheet are available at the Infineon Technologies website:
http://www.infineon.com/cms/en/product/microcontroller/32-bit-industrial-microcontroller-based-on-arm-registered-cortex-registered-m/32-bit-xmc4000-industrial-microcontroller-arm-registered-cortex-registered-m4/channel.html?channel=db3a30433580b3710135a03abaf9385e#ispnTab3
Data Sheet
Errata Sheet
Changes compared to the previous version can be found under History List. Show Less
http://www.infineon.com/cms/en/product/microcontroller/32-bit-industrial-microcontroller-based-on-arm-registered-cortex-registered-m/32-bit-xmc4000-industrial-microcontroller-arm-registered-cortex-registered-m4/channel.html?channel=db3a30433580b3710135a03abaf9385e#ispnTab3
Data Sheet
- XMC4100 / XMC4200 Data Sheet V1.3
- XMC4500 Data Sheet V1.4
Errata Sheet
- XMC4500 Errata Sheet for Steps ES-AB, AB V1.4
- XMC4500 Errata Sheet for Steps ES-AC, AC V1.2
- XMC4400 Errata Sheet for Steps ES-AB, AB V1.3
- XMC4100 / XMC4200 Errata for Steps ES-AB and AB V1.3
Changes compared to the previous version can be found under History List. Show Less
XMC™
Hello, I am using DAVE 3 and POSQE001 App, in order to get the signals from an incremental encoder that ouputs the signals A, B, Index, to a XMC4500 R...
Show More
Hello,
I am using DAVE 3 and POSQE001 App, in order to get the signals from an incremental encoder that ouputs the signals A, B, Index, to a XMC4500 Relax Lite.
I am new to this and I believe I'm making a mistake in the configurations for this App.
I was following this image:
http://postimg.org/image/ltpq5zj97/
and made the following configurations:
Signal connection: http://postimg.org/image/vcjc5cpx7/
Manual Pin Assignment: http://postimg.org/image/e6y294ke3/
Manual Resource Assignment: http://postimg.org/image/tqo16zbcr/
I think that these configurations are at least partially correct, because I believe that I can correctly determine the direction of the rotation. I don't think I am getting correct values out of the position and velocity, mainly because I don't think I did the capture trigger from the velocity timer to the velocity counter correctly.
Does anyone have any idea how to correct this?
Thank you. Show Less
I am using DAVE 3 and POSQE001 App, in order to get the signals from an incremental encoder that ouputs the signals A, B, Index, to a XMC4500 Relax Lite.
I am new to this and I believe I'm making a mistake in the configurations for this App.
I was following this image:
http://postimg.org/image/ltpq5zj97/
and made the following configurations:
Signal connection: http://postimg.org/image/vcjc5cpx7/
Manual Pin Assignment: http://postimg.org/image/e6y294ke3/
Manual Resource Assignment: http://postimg.org/image/tqo16zbcr/
I think that these configurations are at least partially correct, because I believe that I can correctly determine the direction of the rotation. I don't think I am getting correct values out of the position and velocity, mainly because I don't think I did the capture trigger from the velocity timer to the velocity counter correctly.
Does anyone have any idea how to correct this?
Thank you. Show Less
XMC™
The reference manual chapter 15.2.4.1 describes three kinds of DMA descriptors:* Normal descriptors (16 bytes)* Alternate descriptors (16 bytes)* Enh...
Show More
The reference manual chapter 15.2.4.1 describes three kinds of DMA descriptors:
* Normal descriptors (16 bytes)
* Alternate descriptors (16 bytes)
* Enhanced descriptors (32 bytes)
Question 1:
What is the default descriptor selection?
Question 2:
How do configure the hardware to use Normal or Alternate (16 bytes) descriptors?
I'm developing a driver for the Ethernet MAC, i.e. not using DAVE/xmc_eth_mac.c. Show Less
* Normal descriptors (16 bytes)
* Alternate descriptors (16 bytes)
* Enhanced descriptors (32 bytes)
Question 1:
What is the default descriptor selection?
Question 2:
How do configure the hardware to use Normal or Alternate (16 bytes) descriptors?
I'm developing a driver for the Ethernet MAC, i.e. not using DAVE/xmc_eth_mac.c. Show Less
XMC™
Hi everybody,I'm using a XMC4800 and I'm working on a project in Keil. In the "system_XMC4800.c" there are the two variables "SystemCoreClock" and "g_...
Show More
Hi everybody,
I'm using a XMC4800 and I'm working on a project in Keil. In the "system_XMC4800.c" there are the two variables "SystemCoreClock" and "g_chipid" which are put at specific addresses in RAM:
Is there a reason for those variables to be at those addresses? Would it break something when I leave it to the linker to place those variables into RAM?
Regards,
Niclas Show Less
I'm using a XMC4800 and I'm working on a project in Keil. In the "system_XMC4800.c" there are the two variables "SystemCoreClock" and "g_chipid" which are put at specific addresses in RAM:
#if defined ( __CC_ARM )
uint32_t SystemCoreClock __attribute__((at(0x2003FFC0)));
uint8_t g_chipid[16] __attribute__((at(0x2003FFC4)));
#endif
Is there a reason for those variables to be at those addresses? Would it break something when I leave it to the linker to place those variables into RAM?
Regards,
Niclas Show Less
XMC™
Hi, I am working on XMC4500 controller for my project. I am planning to implement a Touch screen LCD interface. Are we able to drive Touch screen LC...
Show More
Hi,
I am working on XMC4500 controller for my project. I am planning to implement a Touch screen LCD interface. Are we able to drive Touch screen LCD by using LEDTS 0 module (or) by SPI only ?
If possible, please guide me for the Usage of LEDTS peripheral for driving Touch LCD.
Thanks,
M.Ramarao. Show Less
I am working on XMC4500 controller for my project. I am planning to implement a Touch screen LCD interface. Are we able to drive Touch screen LCD by using LEDTS 0 module (or) by SPI only ?
If possible, please guide me for the Usage of LEDTS peripheral for driving Touch LCD.
Thanks,
M.Ramarao. Show Less
XMC™
Hello,I have implemented pretty large code (optimization) on XMC 4500 relax kit, F100k1024.the problem is when I try to built the project I got these ...
Show More
Hello,
I have implemented pretty large code (optimization) on XMC 4500 relax kit, F100k1024.
the problem is when I try to built the project I got these errors:
`.bss' will not fit in region `DSRAM_1_system'
region SRAM_combined overflowed no_init section
region `DSRAM_1_system' overflowed by -44 bytes
I know the problem is with Memory. I don't know how to manage the memory.
Is it possible to increase DSRAM memory space? and if yes, how?
Is it possible to run the code on flash ROM memory space?
Could someone help me on this?
thanks in advance.
Hossein Show Less
I have implemented pretty large code (optimization) on XMC 4500 relax kit, F100k1024.
the problem is when I try to built the project I got these errors:
`.bss' will not fit in region `DSRAM_1_system'
region SRAM_combined overflowed no_init section
region `DSRAM_1_system' overflowed by -44 bytes
I know the problem is with Memory. I don't know how to manage the memory.
Is it possible to increase DSRAM memory space? and if yes, how?
Is it possible to run the code on flash ROM memory space?
Could someone help me on this?
thanks in advance.
Hossein Show Less
XMC™
HelloI have recently migrated from Freescale MCU's to Infineon MCU'sI have progressed a lot over last 2 weeks.I have been using KBI (keyboard interrup...
Show More
Hello
I have recently migrated from Freescale MCU's to Infineon MCU's
I have progressed a lot over last 2 weeks.
I have been using KBI (keyboard interrupt) on Freescale devices for particular pins.
With these i was able to build a matrix keyboard quite easily , unfortunately with limited knowledge of the XMC device in this particular peripheral , i am having some trouble.
With a single button , i can invoke an interrupt by
KEY->EVENT GENERATOR->EVENT DETECTOR->INTERRUPT
What i did till now..
for one switch/key i can generate 'a' & 'b' as input to the detector.
The detector can detect both 'a' & 'b' as trigger sources which further triggers the EVENT GENERATOR.
The generator further triggers the interrupt.
So what i figured is that , for 8 keys i require 4 EVENT DETECTORS and further , only one srq interrupt handler, where i write my code.
But with this approach , i cannot define few keys which i want as rows or columns for my matrix.
I plan to get the rows on interrupt and poll the columns. Unfortunately DAVE doesnt grant me pins of my choice.
What am i doing wrong here?
My MCU is XMC4500 100 pin, and my choice of port is PORT14 Show Less
I have recently migrated from Freescale MCU's to Infineon MCU's
I have progressed a lot over last 2 weeks.
I have been using KBI (keyboard interrupt) on Freescale devices for particular pins.
With these i was able to build a matrix keyboard quite easily , unfortunately with limited knowledge of the XMC device in this particular peripheral , i am having some trouble.
With a single button , i can invoke an interrupt by
KEY->EVENT GENERATOR->EVENT DETECTOR->INTERRUPT
What i did till now..
for one switch/key i can generate 'a' & 'b' as input to the detector.
The detector can detect both 'a' & 'b' as trigger sources which further triggers the EVENT GENERATOR.
The generator further triggers the interrupt.
So what i figured is that , for 8 keys i require 4 EVENT DETECTORS and further , only one srq interrupt handler, where i write my code.
But with this approach , i cannot define few keys which i want as rows or columns for my matrix.
I plan to get the rows on interrupt and poll the columns. Unfortunately DAVE doesnt grant me pins of my choice.
What am i doing wrong here?
My MCU is XMC4500 100 pin, and my choice of port is PORT14 Show Less
XMC™
I am trying to setup a queue source on the VADC to perform equidistant sampling of Group0, CH0. The distance between each sample should be 15.625us. I...
Show More
I am trying to setup a queue source on the VADC to perform equidistant sampling of Group0, CH0. The distance between each sample should be 15.625us.
I would like to accumulate 4 consecutive samples before writing the result in a result register. When the result is written into the result register, an ISR should be called and P0.0 toggled.
I would like to use a CCU4 timer slice to repeatedly trigger this sequence.
Once the fourth sample of Group0_CH0 has been written into the result register, four consecutive samples of a second ADC channel, e.g. Group1, CH0, should be sampled as fast as the sampling unit allows. After the fourth sample an ISR should be called and P0.1 toggled.
The goal here is noise reduction. I am not sure whether to use a scan or queue source for sampling this second channel.
Can someone please explain the best way to do this?
Show Less
I would like to accumulate 4 consecutive samples before writing the result in a result register. When the result is written into the result register, an ISR should be called and P0.0 toggled.
I would like to use a CCU4 timer slice to repeatedly trigger this sequence.
Once the fourth sample of Group0_CH0 has been written into the result register, four consecutive samples of a second ADC channel, e.g. Group1, CH0, should be sampled as fast as the sampling unit allows. After the fourth sample an ISR should be called and P0.1 toggled.
The goal here is noise reduction. I am not sure whether to use a scan or queue source for sampling this second channel.
Can someone please explain the best way to do this?
Trending discussions