Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
19652 Discussions

Nios II + DMA + OV7670 Camera

Honored Contributor II

Hi everyone, I'm having problems interfacing OV7670 Data to Nios II. 


The OV7670 Camera, sends pixel data from a PIO D[7:0], and this data is synchronizated with a clock called PCLK, the PCLK can be configured and the Fmax = 24 MHz to get 30 fps and the frame is configured as a 640x480 resolution, each pixel is sending in 2 bytes, now I want to performace the operation of reading the data by using DMA to store each frame into the SDRAM (Nios II is configured with SDRAM as main memory) but i don't know if is possible to synchronyzate the DMA with the PCLK clock, is it possible? 


Or there is another method to read the data without get it using Nios II? 


Thanks in advance!
0 Kudos
1 Reply
Honored Contributor II

I recommend leaving the Nios and DMA cores on their own clock domain and just have the data cross clock domains using a FIFO (search for "FIFO" in Qsys and you'll find a couple of them). So you would push the pixels into the FIFO at 24MHz and then have the DMA empty the FIFO at a much higher speed. Make sure to make the FIFO depth large so that you can handle gaps between frames without underflowing.