Dmitri wrote:I could provide some videos done with this little thingie above, if some one wants to see them.
As I explaned long time before, I write the raw YUV stream directly to the SD card. The only modification is the reduction from YUV4:2:2 to YUV4:1:1. Thus, one line becomes 512 byte long (the size of a block to write) instead of 640.
A simple PC program dumps the data to the HD as a row of BMPs converting from YUV to RGB. These BMPs are put together by VirtualDub.
After having accepted 30 frames seamlessly, the SD card takes a longer break which results in dropping about 10 lines. So, each 30th frame has a white stripe. I can decide if I drop this frame or not.
I've made a very similar project. It's based on a PIC24HJ128GP204 running @ 40MIPS (FNOSC_FRCPLL), I have also implemented multiblock write+SPI16+DMA (One shot, Ping-Pong mode Disabled) into ChaN's FatFs library and I'm using PMP (Master mode 2,No additional wait cycles,PMRD/PMWR port enabled) which reads the data coming out of a AL422B. It's recording YUV422 in raw. The TCM8230 extclk is feed with PIC's PWM output proving 20MHz. At this point I was only able to achieve ~16fps @ 160x120 (currently with a class 10 shdc 8gb sd card). The main issue I found is a bottleneck while writing to the SD card, SPI is configured to work @ 10MHz which is the theoretically the maximum clock speed allowed as per Microchip datasheet. I'm using a 3 input NAND (Max tpd of 3.8ns at 3.3V) in which inputs are connected to cam's VD and HD and the another one left is used to control frame capture. The NAND output is connected to FIFO's write enable.
At this point my aim is to get rid of the FIFO so I'm wondering how did you manage to achieve frame rates higher than 16fps? with resolutions higher than qqvga.