Difference between revisions of "FPD-Link III Virtual Channel ID"

From RidgeRun Developer Connection
Jump to: navigation, search
m
m
 
(17 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Introduction =
+
<seo title="FPD-Link III Virtual Channel ID | FPD-Link III | MIPI CSI-2 | RidgeRun" titlemode="replace" metakeywords="GStreamer, GStreamer pipelines, GStreamer examples, Linux SDK, Linux BSP, Embedded Linux, Device Drivers, NVIDIA, Jetson, TX1, TX2, Jetson AGX Xavier, Embedded Linux driver development, Linux Software development, Embedded Linux SDK, Embedded Linux Application development, GStreamer Multimedia Framework, NVIDIA, Xavier, AI, Deep Learning, FPD Link, FPD, Virtual Channel, FPD Link III, Virtual Channel ID, Synchronization, Camera Synchronization, MIPI, CSI-2, MIPI CSI-2, FPD-Link III Synchronization, DS90UB960, DS90UB953, IMX390, Automotive ADAS, ADAS, Sony IMX390, Jetson Xavier" metadescription="Get more details on FPD-Link III Linux driver and interface to transport video from point to point."></seo>
The [http://www.ti.com/lit/an/slyt581/slyt581.pdf Flat Panel Display Link III ] is an interface used in automotive applications to transport video from point to point. This interface enables
+
 
 +
<table>
 +
<tr>
 +
<td><div class="clear; float:right">__TOC__</div></td>
 +
<td>
 +
{{Shopping_cart_mpo}}
 +
<td>
 +
{{NVIDIA Preferred Partner logo}}
 +
<td>
 +
<td>
 +
{{GStreamer debug}}
 +
<td>
 +
<center>
 +
{{ContactUs Button}}
 +
</center>
 +
</tr>
 +
</table>
 +
<br>
 +
 
 +
== FPD-Link III Introduction ==
 +
The [http://www.ti.com/lit/an/slyt581/slyt581.pdf Flat Panel Display Link III ] (FPD-Link III) is an interface used in automotive applications to transport video from point to point. This interface enables
 
the transport of high-definition digital video, as well as a bidirectional control channel, over a low-cost cable, either twisted pair or coax.  
 
the transport of high-definition digital video, as well as a bidirectional control channel, over a low-cost cable, either twisted pair or coax.  
Not long ago, cameras were a novel feature in an automobile, mostly used in larger vehicles to aid in seeing behind the vehicle while backing up. Today, backup cameras are included even in low-cost, sub-compact cars. As automobiles develop, there will be more and more applications for cameras in the vehicle, and the cameras will become more and more sophisticated.  
+
Not long ago, cameras were a novel feature in an automobile, mostly used in larger vehicles to aid in seeing behind the vehicle while backing up. Today, backup cameras are included even in low-cost, subcompact cars. As automobiles develop, there will be more and more applications for cameras in the vehicle, and the cameras will become more and more sophisticated.  
  
 
Applications:
 
Applications:
Line 14: Line 34:
 
*Security and Surveillance
 
*Security and Surveillance
  
= Virtual Channel ID =
+
== Virtual Channel ID ==
The FPD Link III Interface is able to manage up to 4 cameras with virtual channels as separate streams. The DS90UB960-Q1 chip includes four FPD-Link III inputs simultaneously from DS90UB953-Q1 serializers. Data received from the four input ports is aggregated onto one or two 4-lane CSI-2 interfaces.  The CSI-2 TX supports up to four concurrent virtual channels. For each FPD-Link III input port, separate mapping may be done for each input VC-ID to any of the four VC-ID values.  
+
The FPD Link III Interface is able to manage up to 4 cameras with virtual channels as separate streams. The DS90UB960-Q1 chip includes four FPD-Link III inputs simultaneously from DS90UB953-Q1 serializers. Data received from the four input ports are aggregated onto one or two 4-lane CSI-2 interfaces.  The CSI-2 TX supports up to four concurrent virtual channels. For each FPD-Link III input port, separate mapping may be done for each input VC-ID to any of the four VC-ID values.  
  
 
[[Image:Vcid-map.png|thumb|center|800px|Figure 1. Four FPD Link III cameras use case.]]
 
[[Image:Vcid-map.png|thumb|center|800px|Figure 1. Four FPD Link III cameras use case.]]
Line 23: Line 43:
 
[[Image:Vcid-csi2.png|thumb|center|800px|Figure 2. Interleaved data flows.]]
 
[[Image:Vcid-csi2.png|thumb|center|800px|Figure 2. Interleaved data flows.]]
  
== Synchronization ==
+
=== FPD-Link III Synchronization ===
 
The frame synchronization can be set through an external signal or internally generated by the deserializer. FrameSync signaling on the four back channels is synchronous. Thus, the FrameSync signal arrives at each of the four serializers with limited skew.
 
The frame synchronization can be set through an external signal or internally generated by the deserializer. FrameSync signaling on the four back channels is synchronous. Thus, the FrameSync signal arrives at each of the four serializers with limited skew.
  
 
[[Image:Fpd-sync.png|thumb|center|800px|Figure 3. Internally FrameSync operation.]]
 
[[Image:Fpd-sync.png|thumb|center|800px|Figure 3. Internally FrameSync operation.]]
  
= GStreamer Examples =
+
== GStreamer Examples ==
  
==FPD Link III DS90UB960 DS90UB953 - IMX390==
+
===FPD Link III DS90UB960 DS90UB953 - IMX390===
 
The following pipelines were tested using a Jetson AGX Xavier
 
The following pipelines were tested using a Jetson AGX Xavier
  
Line 43: Line 63:
 
</pre>
 
</pre>
  
=Demonstration=
+
==FPD Link III demo with IMX390 sensor==
  
Example Pipeline using 2 cameras on Nvidia Xavier
+
Example Pipeline using 2 cameras on NVIDIA Xavier
  
 
<pre style="white-space: pre-wrap;">
 
<pre style="white-space: pre-wrap;">
Line 58: Line 78:
 
|}
 
|}
  
== 16 Simultaneous Cameras on Nvidia Xavier==
+
=== 16 Simultaneous Cameras on NVIDIA Xavier===
 
 
The following configuration was done using 4 virtual channels on 4 CSI ports from Nvidia Xavier.
 
  
 +
The following configuration was done using 4 virtual channels on 4 CSI ports from NVIDIA Xavier.
 +
<br>
 +
<br>
 
[[Image:16cam.gif|thumb|center|800px|Figure 4. 16 simultaneous Cameras.]]
 
[[Image:16cam.gif|thumb|center|800px|Figure 4. 16 simultaneous Cameras.]]
  
= Glass to glass latency =
+
== Glass to glass latency ==
  
 
Mean glass to glass latency: '''''123 ms'''''
 
Mean glass to glass latency: '''''123 ms'''''
 +
<br>
 +
<br>
 +
[[Image:Fpd-latency.jpg|thumb|center|800px|Figure 5. FPD Link III latency.]]
  
[[Image:Fpd-latency.jpg|thumb|center|800px|Figure 5. Fpd Link III latency.]]
+
== FPD Link III Linux Drivers ==
 
 
= Linux Drivers =
 
  
Ridgerun has developed Linux drivers for FPD Link III based systems, this drivers now have support for MIPI CSI-2 virtual channel. If you are interested in our FPD Link III SERDES Linux Drivers, please visit the following page: [[https://developer.ridgerun.com/wiki/index.php?title=DS90UB953/960_IMX390RCM_Linux_driver_for_Jetson_Xavier DS90UB960/953 FPD Link III SERDES Linux Drivers]] or feel free to contact us.
+
RidgeRun has developed Linux drivers for FPD Link III based systems, this drivers now have support for MIPI CSI-2 virtual channel. If you are interested in our FPD Link III SERDES Linux Drivers, please visit the following page: [[DS90UB953/960_IMX390RCM_Linux_driver_for_Jetson_Xavier DS90UB960/953 FPD Link III SERDES Linux Drivers]] or feel free to contact us.
  
= Contact Us =
+
{{ContactUs}}
Please visit our [https://www.ridgerun.com/ '''Main Website'''] for the RidgeRun online store or  [https://www.ridgerun.com/contact '''Contact Us'''] for pricing information of the engineering support and services. <br>
 
You can also send an email to [mailto:support@ridgerun.com '''support@ridgerun.com'''] for technical support, more information about the features or for a evaluation version (if available).
 
<br>
 
<br>
 
<center>
 
[[File:RR Contact Us.png|200px|link=http://www.ridgerun.com/contact]]
 
</center>
 
  
[[Category:Jetson]][[Category:Jetson V4L2 Drivers]]
+
[[Category:Jetson]][[Category:Jetson V4L2 Drivers]][[Category:Sony]]

Latest revision as of 14:08, 17 March 2023

Nvidia-preferred-partner-badge-rgb-for-screen.png

Error something wrong.jpg Problems running the pipelines shown on this page?
Please see our GStreamer Debugging guide for help.

RR Contact Us.png


FPD-Link III Introduction

The Flat Panel Display Link III (FPD-Link III) is an interface used in automotive applications to transport video from point to point. This interface enables the transport of high-definition digital video, as well as a bidirectional control channel, over a low-cost cable, either twisted pair or coax. Not long ago, cameras were a novel feature in an automobile, mostly used in larger vehicles to aid in seeing behind the vehicle while backing up. Today, backup cameras are included even in low-cost, subcompact cars. As automobiles develop, there will be more and more applications for cameras in the vehicle, and the cameras will become more and more sophisticated.

Applications:

  • Automotive ADAS
    • Rear View Cameras (RVC)
    • Surround View Systems (SVS)
    • Camera Monitoring Systems (CMS)
    • Forward Vision Cameras (FC)
    • Driver Monitoring Systems (DMS)
    • Sensor Fusion
  • Security and Surveillance

Virtual Channel ID

The FPD Link III Interface is able to manage up to 4 cameras with virtual channels as separate streams. The DS90UB960-Q1 chip includes four FPD-Link III inputs simultaneously from DS90UB953-Q1 serializers. Data received from the four input ports are aggregated onto one or two 4-lane CSI-2 interfaces. The CSI-2 TX supports up to four concurrent virtual channels. For each FPD-Link III input port, separate mapping may be done for each input VC-ID to any of the four VC-ID values.

Error creating thumbnail: Unable to save thumbnail to destination
Figure 1. Four FPD Link III cameras use case.

The MIPI CSI-2 protocol transports virtual channels to separate different data flows interleaved in the same data stream. This function sends the output as a time-multiplexed CSI-2 stream, where the video sources are differentiated by the virtual channel.

Figure 2. Interleaved data flows.

FPD-Link III Synchronization

The frame synchronization can be set through an external signal or internally generated by the deserializer. FrameSync signaling on the four back channels is synchronous. Thus, the FrameSync signal arrives at each of the four serializers with limited skew.

Error creating thumbnail: Unable to save thumbnail to destination
Figure 3. Internally FrameSync operation.

GStreamer Examples

FPD Link III DS90UB960 DS90UB953 - IMX390

The following pipelines were tested using a Jetson AGX Xavier

  • Capture and display (1936x1100@60 fps)
gst-launch-1.0 nvarguscamerasrc sensor-id=0 wbmode=0  maxperf=true aelock=true awblock=true  ! nvvidconv ! queue ! xvimagesink sync=false
  • Recording H.264 (1936x1100@60 fps)
gst-launch-1.0 nvarguscamerasrc sensor-id=0 wbmode=0  maxperf=true aelock=true awblock=true  ! queue ! omxh264enc ! mpegtsmux ! filesink location=gstreamer_test.ts -e

FPD Link III demo with IMX390 sensor

Example Pipeline using 2 cameras on NVIDIA Xavier

gst-launch-1.0 nvarguscamerasrc sensor-id=0 wbmode=0  maxperf=true aelock=true awblock=true  ! nvvidconv ! videoconvert ! queue ! xvimagesink sync=false nvarguscamerasrc sensor-id=1 wbmode=0  maxperf=true aelock=true awblock=true  ! nvvidconv ! videoconvert ! queue ! xvimagesink sync=false
Format Mean ARM Load (%) FPS (Hz)
1936x1100@60 45.1 60.03

16 Simultaneous Cameras on NVIDIA Xavier

The following configuration was done using 4 virtual channels on 4 CSI ports from NVIDIA Xavier.

Error creating thumbnail: Unable to save thumbnail to destination
Figure 4. 16 simultaneous Cameras.

Glass to glass latency

Mean glass to glass latency: 123 ms

Figure 5. FPD Link III latency.

FPD Link III Linux Drivers

RidgeRun has developed Linux drivers for FPD Link III based systems, this drivers now have support for MIPI CSI-2 virtual channel. If you are interested in our FPD Link III SERDES Linux Drivers, please visit the following page: DS90UB960/953 FPD Link III SERDES Linux Drivers or feel free to contact us.


RidgeRun Resources

Quick Start Client Engagement Process RidgeRun Blog Homepage
Technical and Sales Support RidgeRun Online Store RidgeRun Videos Contact Us

OOjs UI icon message-progressive.svg Contact Us

Visit our Main Website for the RidgeRun Products and Online Store. RidgeRun Engineering informations are available in RidgeRun Professional Services, RidgeRun Subscription Model and Client Engagement Process wiki pages. Please email to support@ridgerun.com for technical questions and contactus@ridgerun.com for other queries. Contact details for sponsoring the RidgeRun GStreamer projects are available in Sponsor Projects page. Ridgerun-logo.svg
RR Contact Us.png