This is a short follow-up thread after
https://www.eevblog.com/forum/microcontrollers/machxo3-mipi-csi2-pair-input-connected-to-mipi-csi2-pair-output/With a Lattice MachXO3L, it's possible to "bridge", "switch", "duplicate" and "merge" CSI2 camera signals.
- bridge: this consist of a SPST, single pole - single throw. The camera signal is received in the FPGA and outputs. This enables for instance to modify the content of the frame.
- switch: this consists of a SPDT, single pole - double throw. It's equivalent to Fairchild FSA642 (
https://www.fairchildsemi.com/products/analog-mixed-signal/switches/mipi-switches/FSA642.html), except it's digital and not analogic (see below). This enables for instance to have two CSI2 cameras linked to a single CSI2 processor input and switch between the two cameras.
- duplicate: this consists of receiving a single CSI2 camera signal and outputs it identically to 2 processors. For instance, you might want to have one processor doing encoding and the other processor doing computer vision. The advantage is both processors receive the exact same signal, as if it was linked to the camera alone, none of the two processors needs to be a proxy of the other.
- merger: this consists of receiving 2 synchronized CSI camera signals and outputs the merge side-by-side of the two frames into a single frame (double width) towards a processor. This enables to have a stereo camera system towards a single processor CSI2 input.
The key point of the architecture is that a FPGA is by design digital: all inputs signals need to be deserialized and reserialized before being outputted as explained here: This is a short follow-up thread after
https://www.eevblog.com/forum/microcontrollers/machxo3-mipi-csi2-pair-input-connected-to-mipi-csi2-pair-output/Note that all of this could also apply to DSI screen signals.