Direct sensor-FPGA communication aimed at reducing latency
From RS Components comes the Digilent Pcam 5C fixed-focus colour imaging module, designed for use with FPGA development boards. The Pcam 5C represents a peripheral for electronics design engineers building devices with embedded camera applications.
The Pcam 5C is built around the 5-megapixel Omnivision OV5640 image sensor, which offers a number of internal processing functions to improve image quality. These include automatic white balance, automatic black level calibration, and controls to adjust saturation, hue, gamma and sharpness.
This imaging module comes with a fixed-focus lens fitted to a standard M12 lens mount to allow interchanging. It is implemented on a small (4.0 x 2.5 cm) PCB with a 1×7 straight header to allow access to auxiliary camera signals. Output formats include RAW10, RGB565, CCIR656, YUV422/420 and YCbCr422.
Data transfer between the image sensor and its host development board is via a dual-lane MIPI CSI-2 interface, providing sufficient bandwidth to support frequently used streaming video formats including 1080p (full HD) at 30 frames per second and 720p (standard HD) at 60 frames per second.
The physical connection is a 15-pin flat flexible cable (FFC) that is pin compatible with the Raspberry Pi camera connector; a 10 cm FFC is supplied with the Pcam 5C.
Educational design tool specialist Digilent designed the Pcam 5C for use, in particular, with its Zybo Z7 ARM/FPGA development board, and both are to be made available as an ‘embedded vision bundle’.
The Zybo Z7 features a dual-core ARM Cortex-9 processor integrated with Xilinx Zynq-7000 FPGA logic on a single system on chip. The Z7’s onboard Pcam connector allows direct communication between the image sensor and the FPGA, delivering much lower latency than HDMI or USB alternatives.
Digilent provides its own set of Vivado IP cores that work with the Pcam 5C on Xilinx FPGA and Zynq host boards. As no dedicated CSI-2 decoding hardware is involved, users can observe how decoding is accomplished using the FPGA.