AnsweredAssumed Answered

EPPI misses every second frame?

Question asked by kai.ps on Aug 14, 2012
Latest reply on Aug 15, 2012 by kai.ps

Hey!

 

I'm using the EPPI of the BF548 with uclinux to grab a video stream from a CMOS imager directly accessing the PPI (no drivers in between).

 

What I don't understand right now is why my EPPI misses every second frame of the video stream - the sensor pushes them out at 100fps (line-sync) but i just get the transfer-completed interrupts @50Hz.


For the software I'm using the PPI in 2-sync mode, 8bit-width, packing enabled.

the DMA operates with a descriptor link-list, storing the images in different frame buffers in a mmaped region in the external RAM.

 

Here's my completed config:

// DMA

#define image_height    360

#define image_width             240

 

#define PPI_CONTROL             XFR_TYPE | 0x20 | DLEN_8 | PACKEN

#define DMA_CONFIG              DMAFLOW_LARGE | NDSIZE_9 | WNR | WDSIZE_32 | DMA2D | DI_EN

 

#define PPI_FRAME               image_width

#define PPI_LINE                image_height

#define DMA_X_CNT       image_height/2

#define DMA_Y_CNT       image_width

#define DMA_X_MOD       4

#define DMA_Y_MOD       4

 

A little bit confusing is that the EPPI status register usually signals a 0x4 => Line Track Overflow error. Could that lead to my frameloss?

 

I actually have no real idea in which direction to debug to - I've checked the config multiple times now. Do you have an idea what could be wrong?

 

Thanks for your help,

Kai

Outcomes