FPD-Link III Virtual Channel ID: Difference between revisions
m (→Linux Drivers) |
mNo edit summary |
||
(13 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<seo title="FPD-Link III Virtual Channel ID | FPD-Link III | MIPI CSI-2 | RidgeRun" titlemode="replace" | <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> | ||
= Introduction = | {{Mpo-shoppingcart & NVIDIA logo & RR Contact}} | ||
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 | <br> | ||
<td> | |||
{{GStreamer debug}} | |||
</td> | |||
== 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, | 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 16: | Line 22: | ||
*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 | 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 25: | Line 31: | ||
[[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 45: | Line 51: | ||
</pre> | </pre> | ||
= | ==FPD Link III demo with IMX390 sensor== | ||
Example Pipeline using 2 cameras on | Example Pipeline using 2 cameras on NVIDIA Xavier | ||
<pre style="white-space: pre-wrap;"> | <pre style="white-space: pre-wrap;"> | ||
Line 60: | Line 66: | ||
|} | |} | ||
== 16 Simultaneous Cameras on | === 16 Simultaneous Cameras on 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.]] | |||
== 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: [[DS90UB953/960_IMX390RCM_Linux_driver_for_Jetson_Xavier | DS90UB960/953 FPD Link III SERDES Linux Drivers]] or feel free to contact us. | |||
{{ContactUs}} | |||
[[Category:Jetson]][[Category:Jetson V4L2 Drivers]] | [[Category:Jetson]][[Category:Jetson V4L2 Drivers]][[Category:Sony]] |
Latest revision as of 18:27, 24 May 2024
Problems running the pipelines shown on this page? Please see our GStreamer Debugging guide for help. |
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.
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.
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.
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.
Glass to glass latency
Mean glass to glass latency: 123 ms
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 | |||||
Contact Us
|