Clock Domain Crossing (CDC) occurs when connecting a microcontroller to an FPGA. CDC happens when the clocks are driven by different oscillators, have different frequencies, or have different phases. CDC is a problem because digital registers have setup and hold time requirements. If data changes too close to the clock edge, these timing requirements can be violated. This can cause metastability, a state where the output is unstable and can oscillate or settle to an incorrect value. MCUs have to handle CDC correctly when receiving SPI and other protocols. There is open source Verilog for CDC using FIFO queues. The GateMate FPGA includes a hardcore asynchronous FIFO controller for CDC applications.

Raspberry Pi Zero View      

The Raspberry Pi Zero provides n inexpensive bridge between MIPI CSI image sensors, and open source FPGAs.

Raspberry Pi Zero has USB HighSpeed host, a MIPI-CSI hard core, 32 bit wide Programmable Input and Output (PIO) with Direct Memory Access (DMA) and H.264 compression and decompression. The $10 Raspberry Pi Zero (one core) or the $15 Raspberry Pi Zero 2W (four cores, Bluetooth and WiFi) can bridge MIPI to an FPGA. The camera video can be displayed on the screen [10] and the screen can actually be a 24 bit + controls Display Parallel Interface [11] driving an FPGA. This page explains how to do the wiring [9]. At 60Mhz, the display would be 1 MegaPixel. Maybe as much as a 2 MegaPixel display is possible.


Other Bridge Chips View      

The Microcontrollers listed below can probably also work as a MIPI bridge, maybe using less power than the Raspberry Pi Zero.

CH32H417 is about to be released (August 2025). It supports 8/10/12 bit DVP in or out at 150 Mhz. That is 2.5 Mpixels. It also has USB C host and device running at 5Gbits/s. It supports SerDes (1,5 Gbits/s)  It should run the real time Zephyr OS. The combination of USB 3 and DVP makes it a good bridge chip.

ESP32-S3 supports USB2.0 and has 8 bit wide DVP camera data. 24 bit image require multiple clock cycles to transmit.

ESP-P4 supports USB 2.0, MIPI-CSI in and MIPI-DSI and DPI out.  Its  Image Signal Processor (ISP) providing bad pixel, decimation, black level, exposure, de-mosaic, column conversion, contrast, crop, downsize, ROI, gamma, YUV convention, pixel packer, H.264 video encoding.



Built with the Forest WIki.
User contributed content is licensed under a Creative Commons CC By 4.0 License.