How can I capture VGA (640x480) frames with RGB565 format from OV7670+FIFO (AL422B)?
My guess would be that although the FIFO chip can hold a complete VGA frame, your CPU isn't fast enough to unload the data before it gets overwritten. Therefore, you'll be limited to capturing single frames, rather than continuous video.

You'll need to synchronize the frame capture with the video sync signal from the camera. The easiest thing to do would be to connect the VSYNC output of the camera to an interrupt input on your CPU, and toggle the WEN signal high in the ISR for one frame only. After the second interrupt, when you turn WEN off, is when you can transfer the captured frame from the FIFO to your SDRAM.

You could also set up a simple sequential circuit using a couple of flip-flops to do the same thing in hardware, triggered by a pulse of some sort from the CPU.