FPGA FMC 4x MIPI CSI Camera, MIPI DSI Display Breakout Adapter , V4L2 Linux Media Pipeline Ultrascale+
Prototyping with advanced FPGA boards is quite challenging, As they often have very high density connectors for expansions and peripherals. As with case with most Modern Systems Xilinx and many other vendors also have very High density very high speed connectors. On Xilinx FPGA have High speed connectors called FMC Connectors. These connectors allow users to attach high speed peripherals to FPGA board.
FMC Connectors also have few types, There FMC HPC connector which has all the pins of HPC connector , While there is a FMC LPC connector which has only a subset of HPC connector. Both FMC HPC and LPC connectors are basically same in terms of mechanical dimensions, They both fit into one another. Its just LPC has few electrical pins. The there is also a even bigger connector even with more pins called Vita 57.4 FMC+ , it is mostly Common with very expensive high end boards
One of the most common peripheral that you can connect to these board is MIPI CSI-2 Camera or MIPI Display. So i decide to make a breakout board for MIPI CSI, There are 4x Powered , 4 Lane MIPI Connectors that support both camera and display.
| Rev D of Bord with Multiple Carrier Support, ZCU106, ZCU104, ZCU102 |
This Board Has 4x 22Pin 0.5mm Pitch 4Lane MIPI Camera Connector, Same As Raspberry Pi 5 onwards,
Compatible to all Raspberry Style Cameras, 2 Lane and 4Lane cameras both
Compatible Standard 2Lane Rapsberry Pi 15Pins 1mm Pitch Cameras using RPI to Mini FPC Cable
Compatible to Digilent PCam cameras
PCB
Schematic
Hardware Revisions
RevA to Rev B -- Not Publicly known
RevC , Only Few units , Only Works with ZCU102 but all ports have 4 Lane support
RevD, Primary Production Unit, Works with ZCU102 and ZCU106, ZCU104 but not all ports support 4 Lanes.
| MIPI Signal | FMC Connector Pin | ZCU102 | ZCU106 | ZCU104 HPC0 |
||
|---|---|---|---|---|---|---|
| HPC0 | HPC1 | HPC0 | HPC1 | |||
| CAM1 PCB Rev D | ||||||
| CAM1_MIPI_CLK_P | G6 | Y4 | G6 | F17 | B18 | F17 |
| CAM1_MIPI_D0_P | D14 | W2 | AE2 | H16 | G20 | H16 |
| CAM1_MIPI_D1_P | H7 | V2 | AD2 | L20 | K22 | L20 |
| CAM1_MIPI_D2_P | C10 | AC2 | AH2 | H19 | H21 | H19 |
| CAM1_MIPI_D3_P | G9 | Y2 | AH1 | K19 | J21 | K19 |
| CAM1_I2C_SCL | D11 | AB3 | AG3 | K17 | G25 | K17 |
| CAM1_I2C_SDA | D12 | AC3 | AH3 | J17 | G26 | J17 |
| CAM1_ENABLE | G2 | T8 | P10 | G10 | x | G10 |
| CAM1_REF_CLK | G3 | R8 | P9 | F10 | x | F10 |
| CAM2 PCB Rev D | ||||||
| CAM2_MIPI_CLK_P | H19 | x | x | D16 | A18 | D16 |
| CAM2_MIPI_D0_P | G18 | D17 | C18 | G18 | ||
| CAM2_MIPI_D1_P | G12 | E18 | J25 | E18 | ||
| CAM2_I2C_SCL | D18 | F15 | C22 | F15 | ||
| CAM2_I2C_SDA | D17 | G15 | C21 | G15 | ||
| CAM2_ENABLE | C27 | A7 | x | A7 | ||
| CAM2_REF_CLK | C26 | A8 | x | A8 | ||
| CAM3 PCB Rev D | ||||||
| CAM3_MIPI_CLK_P | C22 | N9 | x | D11 | x | D11 |
| CAM3_MIPI_D0_P | G27 | M11 | C7 | C7 | ||
| CAM3_MIPI_D1_P | H28 | L12 | B6 | B6 | ||
| CAM3_MIPI_D2_P | D26 | L15 | B9 | B9 | ||
| CAM3_MIPI_D3_P | H25 | P12 | B10 | B10 | ||
| CAM3_I2C_SCL | H34 | V6 | E9 | E9 | ||
| CAM3_I2C_SDA | H35 | U6 | D9 | D9 | ||
| CAM3_ENABLE | H38 | T11 | E8 | E8 | ||
| CAM3_REF_CLK | H37 | U11 | F8 | F8 | ||
| CAM4 PCB Rev D | ||||||
| CAM4_MIPI_CLK_P | D20 | P11 | x | x | x | x |
| CAM4_MIPI_D0_P | D23 | L16 | ||||
| CAM4_MIPI_D1_P | G24 | M15 | ||||
| CAM4_MIPI_D2_P | H22 | L13 | ||||
| CAM4_MIPI_D3_P | G21 | N13 | ||||
| CAM4_I2C_SCL | G34 | V7 | ||||
| CAM4_I2C_SDA | G33 | V8 | ||||
| CAM4_ENABLE | G36 | V12 | ||||
| CAM4_REF_CLK | G37 | V11 | ||||
Linux V4L2 Pipeline
Loading Device Tree
Media Pipeline
V4L2 Pipeline Configuration

%20raspberry_pi_camera_fpga2.png)

%20raspberry_pi_camera_fmpga.png)
%20raspberry_pi_camera_fmpga.png)
%20raspberry_pi_camera_fmpga.png)
%20raspberry_pi_camera_fmpga.png)
%20raspberry_pi_camera_fmpga.png)
Comments
Post a Comment