This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

OMAP-L138's VPIF

Other Parts Discussed in Thread: OMAP-L138

I am interested in getting a jump start using the VPIF for the OMAP-L138/6748 DSP.  I do not have a OMAP-L138 EVM yet but it should be coming within the next month so I have been told. 

I have been reading and re-reading the 6748 VPIF User's Guide along with the 6467 VPIF User's Guide (Only other device I found with the VPIF).  I think I have a good porition of the device figured out but I have a number of questions.  I would like to interface an omnivision OV6620 or OV7620 CCD/CMOS camera to the DSP with the VPIF.  I will be using the raw data capture format.  8 bit data in progressive mode.  I'll list off a few of my questions and I would be greatful for responses. 

1.  Is there any DSP example code from TI or else where using the VPIF with the DSP core?  As far as I can tell the 6467's VPIF was mainly for the ARM core.  At least it looks like the interrupts were only for the ARM.  Is that correct?

2.  The 6748's VPIF can be used by the DSP core, right?

2.  How do you specify the address of where the raw captured data should be put in ram.  In progressive mode the CMOS camera will continue outputing its data for a full picture.  So there is no top/bottom field nor is there any luminance or chrominance because it outputs raw RGB data.  So in raw data capture mode do you just use "C0TLUMA" Channel 0 top field luminance address register?  Or are there other registers that need set?

3.  "C0IMGOFFSET" is this just the size in memory for one row of the picture? 

4.  Is there a mistake on page 48 of SPRUGJ9-June 2009 (OMAP-L1348 VPIF User's Guide)?  The comments on interrupt FRAME1 and FRAME0 both indicate that these interrupts in CCD/CMOS capture mode are enabling the line interval interrupt.  From other parts of the manual it is my understanding that in this mode there are two interrupts, the line interrupt and the full frame/picture interrupt.  Is this a type-O and FRAME1 is realy the full picture interrupt?

5.  When using the VPIF is there any "Cache Cleaning that must be done due to the DMA being used?  I assume that the DMA is always being used with this device since the only three options in the REQSIZE register are 32byts, 64bytes, 128bytes. 

Thats enough for now.

Thanks for any help.

Dan Block

 

  •  

    Dan,

    My answers below:

    1.  Is there any DSP example code from TI or else where using the VPIF with the DSP core?  As far as I can tell the 6467's VPIF was mainly for the ARM core.  At least it looks like the interrupts were only for the ARM.  Is that correct?

    Not at the moment, but the OMAP-L138 software support package will include a DSP/BIOS driver.  I think an early adopter version of the driver will be available in the next month or so, but I'm not directly involved in the software development schedule so please consider this to be an educated guess and not a firm commitment.

    2.  The 6748's VPIF can be used by the DSP core, right?

    Yes, the VPIF is fully accessible from the DSP.

    2.  How do you specify the address of where the raw captured data should be put in ram.  In progressive mode the CMOS camera will continue outputing its data for a full picture.  So there is no top/bottom field nor is there any luminance or chrominance because it outputs raw RGB data.  So in raw data capture mode do you just use "C0TLUMA" Channel 0 top field luminance address register?  Or are there other registers that need set?

    My understanding is that in progressive mode the data will be written to the C0TLUMA address.

    3.  "C0IMGOFFSET" is this just the size in memory for one row of the picture?

    Yes, VPIF uses this value to calculate the address of the next line of video data in memory.

    4.  Is there a mistake on page 48 of SPRUGJ9-June 2009 (OMAP-L1348 VPIF User's Guide)?  The comments on interrupt FRAME1 and FRAME0 both indicate that these interrupts in CCD/CMOS capture mode are enabling the line interval interrupt.  From other parts of the manual it is my understanding that in this mode there are two interrupts, the line interrupt and the full frame/picture interrupt.  Is this a type-O and FRAME1 is realy the full picture interrupt?

    There is a mistake in the user guide in that the raw capture mode does support both line interval and frame interrupts, but the guide suggests that only the line interval is supported for raw capture.  I'm not sure if these interrupts are split up between FRAMEn interrupt signals.  I'll look into it.

    5.  When using the VPIF is there any "Cache Cleaning that must be done due to the DMA being used?  I assume that the DMA is always being used with this device since the only three options in the REQSIZE register are 32byts, 64bytes, 128bytes. 

    The VPIF has its own master DMA so all data reads/writes are handled by the module.  The module has a FIFO, but not a cache so there's no cleaning to be done.