XMC™ Forum Discussions
I have two analog signals in the shape of a gaussian curve having an amplitude of about 500 mv and duration of 20 microseconds. These pulses happen at irregular intervals of about every 400 microsecond. I am measuring the amplitude of these signal with two channels of the onboard ADC operating as fast as possible so that the shape of the pulses can be quantified. Using two channels means that a measurement on one channel is slightly behind the other by about 2 microseconds. This creates an error in my data.
I am aware that there are more than one ADC device in my XMC 4700 board. I see references to simultaneous ADC measurements. Reading the documents, seems like it is doable. Reading the documents offers no clue on how to actually it. Can anyone help me out with actual code to do the job?
In my code, a conversion seems to take about 2 microseconds. All the fat is removed from the code to make the ADC to run as fast as possible. In the ADC measurement setup, an 8 bit ADC is supposed to done in 430 nsec. This is not the case for me. Is there some special trick that has to be done to achieve the published speed?
Hi, I am trying to get the FPU going on XMC4200 but for some reason I am not able to get the expected performance. I am using the latest version of DAVE.
In the attached project:
1. I enabled the FPU: SCB->CPACR |= 0x00F00000; //Enable FPU
2. I have two functions, a square root and a multiplication and some pin toggles for time measurements on the oscilloscope.
3. I measure approximately 390 clock cycles for the square root and 26 clock cycles for the multiplication. I think these times are too long and they don't change much even if the FPU is not enabled. So, I think I am not using the FPU correctly.
I would very much appreciate it if anyone can help me to find the problem. I tried all the suggestions in this forum by changing the active project properties but observed no improvement.
I also copied the "main.c" file below, which is the only file that I created in the project.
I look forward to hearing from you. Thanks in advance.
The XMCLib EtherCAT abstraction requires the XMC_ECAT_PORT_CTRL_t config struct, which asks for MDIO (SMI) related configs like phyaddr_offset and mdio (XMC_ETH_MAC_PORT_CTRL_MDIO_t). I understand that this is needed to allow me to configure the PHYs via the MDIO using XMC_ECAT_ReadPhy() and XMC_ECAT_WritePhy() and that the configured phyaddr_offset is added transparently to the phy_addr I provide to these functions.
My main question is: Does the EtherCAT cuircuit access the MDIO at any time without me calling those functions? And if so, what does it need MDIO access for?
The Reference Manual, Section 220.127.116.11 PHY Address Configuration, states that ideally the PHY addresses should be consecutive and match 0 for port 0 and 1 for port 1, considering the phyaddr_offset. What is the rational behind this? And why "ideally"? Do I have a problem if the logical PHY addresses are not matching 0 and 1 on my board?
I suspect, it uses MDIO to check the link status in case one does not provide a dedicated link signal. In case that correct, could you confirm that the EtherCAT cuircuit doesn't need the MDIO for anything else?Show Less
我现在写的代码，发送是没有问题的，但是接收的数据存在问题。有时候能正确接收到，有时候不能征求接收到。我发送完数据，对方应该给我返回三个字节的数据。从逻辑分析仪上看是正确的，但是把接收到的数据通过串口发送到电脑，数据和逻辑分析仪上的数据不一致。感觉串口接收buf中的数据没有被清空。另外，没有使用FIFO。求一个UART串口 DIRECT模式发送和接收的例程。Show Less
We have made a CAN circuit with CAN IC part number (SN65HVD230QDRG4Q1) & Controller we are using MCU Part number: XMC4108Q48K64BAXUMA1, But we are trying to fetch the data through PEAK System P-CAN Trace Data logger.
Note: We have Qty: 05 Nos. Identical PCB boards out of 05 board only one board is working fine but other boards are unable to debug, We are keeping same (Same Firmware, already Checked other boards components including resistors & capacitors that are found OK, XMC debugger Model number : infineon XMC Link Isolated debug probe by SEGGER J-Link).
Already we have checked with replacing of debugger probe.
Now We are facing issues like if debugger is working then CAN logs are not coming & happening vice-versa.
We have created a new Sample project with CAN, We are trying to debug the project but it is automatically running after each debugging & sometimes it is throwing Disassembly error massage.
I have attached Block diagram what we trying to do, CAN logs what we are receiving & Debug error for your reference.
So, Team you are requested to suggest for any solutions for the same.Show Less
we use the XMC4500 for functional safety applications. There are several user installations with 1000 controller or more.
In those field installations we get ~1-2 parity errors per month in PSRAM and/or DSRAM. The errors are randomly distributed over all controllers.
We tried a number of ways force the parity error in our labratory (i.e. EMC-measures). All to no avail.
Does anyone have any hint on where to look further?
Since I am continuing to work on projects for the XMC4 series I understand that it is recommended to migrate from DAVE IDE to ModusToolbox.
Currently there are example ModusToolbox projects (e.g. for XMC4800 Relax EtherCAT Kit) for FreeRTOS as well as several peripherals which are very helpful. Although I am missing an Ethernet (with lwIP) example. Will there be one in the near future?
For a project i need to generate a 8mhz PWM with 8bit résolution. Currently i have tried with some ST's product without succes because there is serious limitation on the HRTIM meaning that you can't set a duty cycle compare value smaller than 3x CPU clock period...
i'm considering trying my project with a XMC4500 Relax kit but i have two questions before :
is there a HRPWM in the XMC4500 ? because on this page https://www.infineon.com/cms/en/product/microcontroller/32-bit-industrial-microcontroller-based-on-arm-cortex-m/32-bit-xmc4000-industrial-microcontroller-arm-cortex-m4/xmc4500/
its indicated :
- 4-channel 150 ps HRPWM timer (XMC4200/4400 series)
So i have doubt than maybe its not in the XMC4500 ?
And las question :
Is there some limitations with the duty cycle on HRPWM ? or can we set it between 0% and 100% ?
best regards.Show Less
My customer would like to use VDDD=3.3V and VDDA=5V.
The datasheet states the following
Am I correct in assuming that this is possible if ADC is diable?
Can you tell us if there are any other precautions that we need to take?
Best Regards,Show Less