AnsweredAssumed Answered

DMA congestion-> lost ethernet packets

Question asked by pfeifferc on Apr 17, 2012
Latest reply on May 14, 2012 by PrasanthR

Hi !

I'm using BF537 for send/receive audio via Ethernet and Sport is used to get/put audio data to the codecs.

EthernetRx/Tx handled by DMA and Sport use RxDMA. DMA is used in large descr.mode and generates interrupts.(eth&sport)

each of the peripherals use "doubleBuffer" mechanism for send/receive. - no usage of any ADI driver because they are to slow for this task.


In "normal" situation we are able to handle(send/receive)up to 60audio channels via 100Mbit network,

and also receive commands from the controll PC.

AudioFrames on Ethernet are frames >220bytes and seem not to be problematic.

ControlFrames could be very small (=64bytes largest possible frame) and therefore it could be happen that

rx of frames via ethernet causes lost frames if more small controlFrames should be received.

in this case RX_COMP bit of each ethernetRxFrame status word is set. It seems that my functions are to slow in this case or DMA is congested.

My int functions for SPORT/Ethernet tasks called after DMA finished are below 5µs processing time and the min. frame duration

of a 64byte ethernet frame is 5.12µs.

So how can i determine if SPORT dma is in conflict with ethernetRx/Tx DMA? Sport is called only in a 1.3ms cycle

EthernetRX could happen at any time ? Prio of DMA's is the default priority.

Is it correct that if SPORT dma is active - EthernetRx is deferred ? or is there an interruption of SportDMA?


regards chris