I am using TC366DP. On the Ethernet interface when there is a burst of traffic or multple streams sending data to the processor, the ethernet interface becomes nonfunctional. When I say nofunctional it means no packets make it to the processor.
I have narrowed this down to interrupt not being triggered by RX DMA channel to the CPU Core 0.
Wondering if anyone else has seen this problem and resolved it.
It appears that you are experiencing an issue with the Ethernet interface of the Infineon TC3xx microcontroller. Based on your description, the problem seems to be related to the RX DMA channel not triggering an interrupt to the CPU Core 0 when there is a burst of traffic or multiple data streams. To address this issue, please consider the following suggestions:
Check interrupt priority: Ensure that the interrupt priority for the Ethernet RX DMA channel is set correctly and is not being preempted by other interrupts in the system. You may need to adjust the priority to ensure that the Ethernet interrupt is serviced in a timely manner.
Buffer size and allocation: Make sure that the buffer size allocated for the Ethernet RX DMA channel is sufficient to handle bursts of traffic. If the buffer size is too small or not properly allocated, it may lead to packet loss and the non-functioning of the Ethernet interface.
DMA configuration: Verify that the DMA configuration, including the source and destination addresses, transfer size, and transfer mode, is set up correctly. Any issues in the DMA configuration can result in the interrupt not being triggered.
Check for hardware issues: Inspect the Ethernet PHY and the physical connections for any hardware-related issues that might cause the Ethernet interface to become non-functional under heavy traffic.
Software and firmware updates: Make sure that your system is running the latest software and firmware versions provided by Infineon. Updates may include bug fixes or improvements that address issues like the one you're experiencing.
Consult the documentation: Review the TC3xx microcontroller datasheet and reference manual for specific information about Ethernet and DMA operation, and ensure that your implementation aligns with the guidelines provided.
Let me know if this helps.
Thanks for the quick response! Priority and DMA configuration seems to correct I presume since we can support multiple of streams of the Ethernet traffic.
I will look into upgrading the LLD drivers and verify.
There is another way I can break the DMA interrupt. Here is the scenario:Connect JTAG debugger and run the system. When pinged on the Ethernet interface the system responds successfully. At this point halt the cores for a few seconds and then "continue" the execution. The systems starts to run except the Ethernet DMA stops generating interrupt even though packets are coming on the interface.