IMX219 Camera Synchronisation and Multiplexers


I am trying to make my own Orin NX and Nano carrier board that will support up to 8 cameras using multiplexers. I have read this doc to learn about how to go about synchronization of the cameras.

For synchronisation, the IMX219 doesn’t have a physical start of capturing pin so it seems we need to do this via I2C. I am also supposed to some times communicate with one camera at a time for normal use, but when trying to reset timestamps on the camera it is best to communicate with all cameras at once. This is confusing in terms of selecting addresses of the cameras and hardware configuration. Also, all cameras should have the same clock and I am not sure how to do that, like do I just take one camera clock coming from the jetson and connect it to all of them?
I am wondering if anyone would have advice for how to drive this multiplexer and at what frequency knowing that the max frame rate of the camera is 200 fps.

Any help would be much appreciated as I am in a great deal of confusion,
Thanks in advance!

hello imagidan,

please see-also Jetson Orin NX Series and Orin Nano Series Design Guide.
Orin Module brings only eight MIPI CSI lanes to the connector, Up-to two quad-lane camera streams or up to four dual-lane camera streams are supported.

you must enable virtual channel support for 8-cam use-case.
please refer to developer guide, Jetson Virtual Channel with GMSL Camera Framework.

how about using software level synchronization?
you may install the MMAPI, $ sudo apt install nvidia-l4t-jetson-multimedia-api
please check Argus example for demonstration. /usr/src/jetson_multimedia_api/argus/samples/syncSensor/

What about using FPD-Link for the 8 cameras. Is that doable and as easy to setup?

yes, you may running virtual channel support for 8-cam use-case.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.