MIPI CSI-2 Camera Sensor Receiver verilog HDL implementation For any generic FPGA. Tested with IMX219 on Lattice MachXO3LF. 2Gbps UVC Video Stream Over USB 3.0 with Cypress FX3
This Repo contains hardware, Verilog source and USB3.0 USB video device class (UVC) Controller C source for generic FPGA CSI receiver. No FPGA hardware specific components has been used so can be easily ported to any low cost FPGA.
Supports Frame Rate from 15 to 1000 FPS , Resolution From 640x80 to Full 8M 3280x2464.
Max data rate ~2Gbps at 1080p 60FPS.
Full control of Frame rate and Resolution over UVC control. Manual Exposure and manual Brightness control for now. Manual exposure is mapped to UVC saturation Control. Test Pattern can also be enabled with mapped gamma control.
Test Has been done at 3280x2464 15FPS 1920x1080 60FPS 1920x1080 30FPS 1280x720 120FPS 1280x720 60FPS 1280x720 30FPS 640x480 200FPS 640x480 30FPS 640x128 682FPS 640x80 1000FPS
TODO: Improvements need to be done at FPGA side to implement auto exposure, Brightness and white Balance correction.
MIPI CSI-2 Receiver on Lattice FPGA (c) by Gaurav Singh www.CircuitValley.com MIPI CSI-2 Receiver on Lattice FPGA is licensed under a Creative Commons Attribution 3.0 Unported License. You should have received a copy of the license along with this work. If not, see http://creativecommons.org/licenses/by/3.0/.
This work is licensed under a Creative Commons Attribution 4.0 International License.