Difference between revisions of "GMSL Virtual Channel ID"

From RidgeRun Developer Connection
Jump to: navigation, search
(GStreamer examples)
Line 30: Line 30:
 
gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)800, framerate=(fraction)30/1" ! nvvidconv ! omxh264enc ! mpegtsmux ! filesink location=gstreamer_test.ts -e
 
gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)800, framerate=(fraction)30/1" ! nvvidconv ! omxh264enc ! mpegtsmux ! filesink location=gstreamer_test.ts -e
 
</pre>
 
</pre>
 +
 +
= Video Demonstration =
 +
 +
<center>
 +
<embedvideo service="vimeo">https://vimeo.com/191588590</embedvideo>
 +
</center>
  
 
= Linux Drivers =
 
= Linux Drivers =

Revision as of 15:42, 15 July 2019

Introduction

The Maxim Gigabit Multimedia Serial Link (GMSL) SERDES technology provides high bandwidth and rich point-to-point interconnections between two endpoints over a single cable, which can be up to 15 meters long. SERDES (serializer / deserializer) technology is widely used for sensors and network communication. SERDES supports multiple protocols over the same link. Automotive industry applications rely heavily on this technology due to its flexibility and performance. This technology is enabling next-gen multimedia aplications. For example (and not limited to):

  • Advanced Driver Assistance Systems (ADAS)
  • Smart agriculture
  • Infotainment systems

Virtual Channel ID

One approach to enable multiple camera capture using a SERDES architecture is to use virtual channels which are supported by the MIPI CSI-2 and CSI-3 specifications. Specifically for MIPI CSI-2 a deserializer can effectively decode up to four virtual channel IDs (see Figure 1). One deserializer that supports this feature is the MAX9286. In order for this deserializer to be able to combine all incoming video streams (up to four) and output them through CSI-2 (using virtual channel identified packets) frame sync locked status has to be achieved.

Figure 1. Quad GMSL cameras use case.

Synchronization

For these systems based on GMSL compliant ICs, image sensor synchronization is usually a challenge. The SERDES chips offer a control channel which can be used to send a frame sync pulse to the cameras. This frame sync pulse can be generated using a reference signal from the host processor or internally in the deserializer (which may include various mode of usage).

GStreamer examples

GMSL MAX96705 MAX9286 - OV10635

The following pipelines were tested using a Jetson AGX Xavier and Jetson TX2:

  • Capture and display (1280x800@30 fps)
gst-launch-1.0 v4l2src device=/dev/video0 !  "video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)800, framerate=(fraction)30/1" ! nvvidconv ! "video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, framerate=(fraction)30/1, interlace-mode=(string)progressive, format=(string)RGBA" ! nvoverlaysink sync=false
  • Recording H.264 (1280x800@30 fps)
gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)800, framerate=(fraction)30/1" ! nvvidconv ! omxh264enc ! mpegtsmux ! filesink location=gstreamer_test.ts -e

Video Demonstration

Linux Drivers

Ridgerun has developed Linux drivers for GMSL based systems, this drivers now have support for MIPI CSI-2 virtual channel. If you are interested in our GMSL SERDES Linux Drivers, please visit the following page: [MAX9286 GMSL SERDES Linux Drivers] or feel free to contact us.

Contact Us

Please visit our Main Website for the RidgeRun online store or Contact Us for pricing information of the engineering support and services.
You can also send an email to support@ridgerun.com for technical support, more information about the features or for a evaluation version (if available).

RR Contact Us.png