In my project, I am using a BF536 with SDRAM. Ethernet and PPI are connected and both are running fine except in one situation. If both, PPI RX traffic and Ethernet RX traffic occur at the same time and additionally over Ethernet a long frame arrived, immediately (with minimal possible time gap) followed by at least three short frames (e.g. TCP ACKs), the Ethernet RX DMA does not write one status word into my RX DMA queue, it really writes exactly 65537 (0x10001) status words. Of course, this destroys my descriptor DMA chain and the DMA stops. If I would loose a frame, this is no problem, but destruction of the queue and the following memory could not be tolerated. This phenomena does not happen permanently, but only sometimes.
As PPI and Ethernet DMA write to SDRAM, I assumed a memory access problem. By default the PPI DMA has a higher priority than the Ethernet DMA, so I mapped the PPI to DMA channel 3. I would guess that at least the behavior should change, but it remains exactly the same.
The BF536 is running at 360MHz, the system frequency is 120MHz and the PPI clock is 10MHz. This phenomena occurs on different hardware versions.
Is such problem known? Is there a workaround?