Content originally posted in LPCWare by ccrome on Fri Apr 27 07:54:06 MST 2012
Hi there,
I'm working on a similar problem (though not video). My difficulty is on the USB side - have you had any success with streaming high-speed data over USB?
As for pulling data from your FPGA, that sounds do-able with a couple number of interfaces. I don't know much about SPIFI, but I suspect it's more complex to use than either SSP or SPI.
The data sheet, in section 7.18.4.1 says, 'Maximum SSP speed of <tbd> Mbits/sec' :-( But, there is a 'typical' clock cycle time in section 11.8 of 40ns. Shoot, That's only 25 Mbit/sec. You might get lucky and the spec may come out much faster once finalized, but I wouldn't hold my breath.
SPIFI may be usable, but it appears to have a read/write architecture, as opposed to just streaming. Bandwidth seems sufficient: 40MB/sec = 320 Mbit/sec
The external memory interface may be easiest: just connect to the memory bus. But that may be challenging if you're using external memory already, but bandwidth should be good enough. Since there are multiple chip-select outputs, you can simply ignore the address bus all together and use the CS pin to enable your streaming video.
Another option would be SD/MMC interface. It's typical frequency is listed as 40MHz, and you can have 1, 4 or 8 data lines IIRC That's a theoretical bandwith of up to 320Mbit/sec.
Anyway, good luck, and if you have any luck with USB, I'd love a reply :-)
-Caleb