Apex Xavier II+ Advanced GMSL Camera Techniques#

Introduction#

If you are using this document, it means that you have encountered the following issues:

  • High CPU usage: You are experiencing high CPU usage and need guidance on resolving this issue.

  • External trigger and timestamp: You need to operate the camera in external trigger mode and require assistance with obtaining timestamps.

Notice#

Under NTP Mode, timestamp of camera will affected by NTP jitter, which will cause wrong timestamp.

If you want to use timestamp, please use GPS timing mode, or None mode.

Definition#

Term

Explanation

Notes

Self-triggering

It refers to the camera operating without being controlled by an external trigger signal, and instead, it triggers the shutter by itself.

This mode is generally supported by most cameras. As long as no external trigger signal is provided, the camera will operate in this mode.

External triggering

It refers to the camera being controlled by an external signal to trigger the shutter simultaneously.

This mode requires camera firmware support. When purchasing a camera, please confirm with the manufacturer whether this mode is supported.

Performance Issue Resolution#

cameras_egl_demo:OpenCV Demo directly uses v4l and OpenCV to capture camera images.

/opt/miivii/features/gmsl_camera/bin/cameras_opencv_demo -s 1280x720 -d /dev/video0

Performance and Usability Integrated Solution#

cameras_opencv_demo:EGL Demo utilizes EGL as the display implementation, resulting in high efficiency for the display part.

/opt/miivii/features/gmsl_camera/bin/cameras_opencv_demo -s 1280x720 -d /dev/video0

Timestamp Acquisition Solution#

cameras_sdk_demo:SDK Demo that is compatible with GMSL1 SDK and uses ASIC for image format conversion, resulting in high efficiency. It also allows the retrieval of timestamp for triggering the shutter through the SDK.

Please note that obtaining the timestamp requires camera support for external triggering.

#Open a camera channel and retrieve the timestamp.
/opt/miivii/features/gmsl_camera/bin/cameras_sdk_demo -s 1280x720 -d /dev/video0
#Open two cameras and retrieve the timestamps.
/opt/miivii/features/gmsl_camera/bin/cameras_sdk_demo -s 1280x720 -d /dev/video0 -m 2
#Open two camera channels, set the camera frame rate to 30Hz, and retrieve the timestamps.
/opt/miivii/features/gmsl_camera/bin/cameras_sdk_demo -s 1280x720 -d /dev/video0 -m 2 -r 30-0

Compile the sample code.#

cp -r /opt/miivii/features ~/
cd ~/features/gmsl_camera
sudo make;