top of page

Camera Interfaces in Embedded Vision

  • Writer: ridgerun
    ridgerun
  • Jul 13
  • 12 min read

Updated: Jul 22

Camera Interfaces Explained
Camera interfaces explained

Embedded vision systems rely on robust camera interfaces to transfer image data from sensors to processors. In this post, we explore eight key camera interface technologies – MIPI CSI-2, MIPI A-PHY, FPD-Link III, FPD-Link IV, GMSL (Gigabit Multimedia Serial Link), and thermal camera interfaces – and compare their bandwidth, cable distance, use cases, and compatibility with embedded platforms like NVIDIA Jetson (Xavier, Orin) and NXP i.MX8. 


We'll also discuss when to choose one over the other in applications such as robotics, surveillance, automotive, and drones. In future articles, we'll explain the difference between rolling shutter and global shutter camera sensors and review multi-camera configurations and synchronization.


Throughout, we highlight RidgeRun’s experience in developing both kernel-level and user-space camera drivers, including multi-camera synchronization, metadata handling, and integration with GStreamer and V4L2 frameworks, as well as support for emerging interfaces like MIPI A-PHY and FPD-Link IV.


Table of Contents


Overview of Camera Interfaces Technologies

Modern embedded cameras may use a variety of physical interfaces to transmit video data. The choice of interface impacts the achievable resolution and frame rate (bandwidth), the maximum cable length between the camera and host, and the complexity of the system design. Below, we introduce the main camera interfaces and their typical characteristics:


  • MIPI CSI-2 (Camera Serial Interface 2): A widely used on-board interface for cameras, especially in mobile and embedded devices. Provides high bandwidth (up to ~2.5 Gbps per lane, or ~10 Gbps with 4 lanes) over short distances (usually <30 cm). Used for direct sensor-to-SoC connections on platforms like Jetson and i.MX8.

  • FPD-Link III: A SerDes (serializer-deserializer) interface by Texas Instruments for long-distance, high-speed video transmission (up to ~4.16 Gbps forward bandwidth). Can reach up to ~15 meters over coax or STP cable. Often used in automotive ADAS cameras, industrial, and robotics systems.

  • GMSL (GMSL2/GMSL3): A family of SerDes interfaces by Maxim Integrated (now Analog Devices) for automotive and high-end cameras. GMSL2 supports up to ~6 Gbps forward bandwidth and ~15 m cables. GMSL3 offers even higher bandwidth for next-gen systems.

  • MIPI A-PHY: A long-reach physical layer from the MIPI Alliance for transmitting CSI-2 and DSI signals over 15 meters or more. It supports up to 16 Gbps in one direction (or 32 Gbps in dual-lane setups), using coax or STP cables and error correction. It enables automotive-grade camera and display links while preserving CSI-2 compatibility at the SoC end via deserializers.

  • FPD-Link IV: The next generation of TI’s SerDes interface, offering 8 Gbps per link, better EMI resistance, and backward compatibility with FPD-Link III. Ideal for high-resolution sensors in advanced ADAS or robotics systems.

  • Thermal Camera Interfaces: Thermal infrared cameras (like FLIR Tau or Boson cores) often output video in non-standard formats. Some provide analog video (NTSC/PAL) or parallel digital output, requiring interface bridges or custom capture boards. Others use USB or SPI interfaces.


Each interface has trade-offs. Below, we examine each technology, compare them side-by-side, and discuss multi-camera setups, synchronization, and sensor shutter choices.


MIPI CSI-2 – Short-Range High-Bandwidth Camera Interface

MIPI CSI-2 (Mobile Industry Processor Interface, Camera Serial Interface 2) is the dominant interface for connecting image sensors directly to application processors in smartphones and embedded boards. It uses a D-PHY physical layer (high-speed differential pairs) with one clock lane and 1–4 data lanes per link. Key points:


  • Bandwidth: Each CSI-2 data lane can carry up to ~2–2.5 Gbps in typical implementations, scaling to ~10 Gbps with four lanes. This is sufficient for high-resolution sensors (e.g., 4K at 30 fps raw data) at short range.

  • Cable Distance: CSI-2 links are meant for short PCB traces or flex cables (often <30 cm). The high-speed signals cannot reliably drive long cables without significant signal integrity issues. In practice, MIPI camera modules are mounted close to the SoC or use board-to-board connectors.

  • Use Cases: Ideal for on-board cameras where the sensor is in the same device as the processor – for example, camera modules in smartphones, drones, or a Jetson’s dev kit camera. CSI-2 offers low latency and direct access to the SoC’s ISP (Image Signal Processor) if available.

  • Embedded Platform Compatibility: Both NVIDIA Jetson and NXP i.MX8 platforms have native CSI-2 interfaces. NVIDIA Jetson Xavier/Orin series support multiple 4-lane CSI-2 ports (e.g., Xavier AGX has 16 lanes configurable as 6×4 or other combinations) for multi-camera input. NXP i.MX8 variants (such as i.MX8M Plus) include MIPI CSI-2 interfaces (often 2 or 4 lanes per interface) for camera capture. The MIPI CSI-2 is the primary camera input on these SoCs, so connecting a MIPI camera is straightforward, though a proper driver (and possibly device tree configuration) is needed to initialize the sensor and format.


RidgeRun’s experience: RidgeRun frequently works with MIPI CSI-2 sensors on Jetson and i.MX8. Developing a driver involves writing a V4L2 subdevice driver for the sensor (configuring it via I²C), and setting up the SoC’s CSI receiver and ISP pipelines via device tree. On Jetson, this means configuring the VI (Video Input) and ISP for the sensor mode, enabling capture via V4L2, libargus, or GStreamer. On i.MX8, it means integrating with NXP’s ISI (Image Sensor Interface) or CSI bridge. RidgeRun has created drivers for numerous MIPI sensors (Sony, OmniVision, OnSemi, etc.) on these platforms, often in collaboration with sensor vendors.


FPD-Link III – Long-Distance SerDes for Cameras

FPD-Link III is a high-speed video interface from Texas Instruments, originally developed for automotive display and camera links. Its serializer compresses camera data and transmits it over a single coax or shielded twisted pair to a deserializer near the SoC. Notable features:


  • Bandwidth: Supports up to 4.16 Gbps forward-channel (video downstream) and a 50 Mbps back-channel for control. In practice, FPD-Link III can carry 1080p or higher video feeds with embedded sync signals. It uses up to 4 MIPI CSI-2 lanes (D-PHY v1.2, CSI-2 v1.3 compliant) at ~832 Mbps each.

  • Cable Distance: Up to ~15 meters over automotive-grade coax or STP cable, making it suitable for vehicles or robots where sensors are far from the processing unit. The interface is robust against EMI, and supports features like spread-spectrum clocking to reduce interference.

  • Use Cases: Automotive cameras (ADAS), surveillance systems, and industrial machines where cameras need to be off-board. FPD-Link III can also provide power over coax, simplifying cabling (power, video, control in one cable).

  • Multi-Camera Support: FPD-Link III deserializers (like TI’s DS90UB954) often have dual or quad inputs, allowing multiple cameras to feed one deserializer. With up to 4 virtual channels supported in CSI-2, a single deserializer can output multiple video streams over one CSI-2 interface. Synchronization is supported via frame sync signals: the deserializer can distribute a sync pulse or common clock to all cameras for synchronized exposure.

  • Embedded Platform Compatibility: Many off-the-shelf camera kits use FPD-Link III to interface with Jetson or i.MX8. For example, LI (Leopard Imaging) and D3 Engineering offer FPD-Link III camera modules for Jetson AGX Xavier/Orin. e-con Systems notes that their FPD-Link III cameras are readily usable with NVIDIA Jetson AGX Orin, Xavier, NX, TX2, etc., as long as the proper deserializer board and driver are in place. On NXP platforms, FPD-Link III can be used via a deserializer feeding the MIPI CSI-2 input; NXP’s driver support may require integrating the I²C control channel and virtual channel handling in the V4L2 framework.


Comparison with GMSL2: In practice, FPD-Link III and GMSL2 camera interfaces are quite similar. Both reach ~15 m, use coax cables, and support multi-camera via deserializer hubs. One difference is bandwidth – GMSL2 offers ~6 Gbps vs FPD’s ~4.16 Gbps – but both are sufficient for most 1080p/4K cameras today. FPD-Link III has the advantage of built-in support for audio and a simpler control channel (I²C), whereas GMSL can also carry UART. Both support synchronization and GPIO extension. We’ll discuss GMSL later.


FPD-Link IV – High-Bandwidth Upgrade from FPD-Link III

FPD-Link IV is Texas Instruments’ next-generation SerDes camera interface, designed to double the bandwidth of FPD-Link III while maintaining the same robust physical link characteristics. It supports resolutions up to 4K at higher frame rates or multiple HD streams simultaneously.


Bandwidth and Features: FPD-Link IV delivers up to 8 Gbps forward bandwidth per link and continues to support power-over-coax (PoC), integrated I²C tunneling, and spread-spectrum clocking for EMI compliance.

Use Cases: Ideal for newer multi-camera autonomous driving systems, robots with high-resolution vision, or AI-enabled embedded systems that demand low-latency, high-throughput video capture.

Integration with Embedded SoCs: Like its predecessor, FPD-Link IV deserializers output standard MIPI CSI-2, making it compatible with Jetson and i.MX8 platforms. RidgeRun’s prior work with FPD-Link III and GMSL carries over, especially in terms of deserializer driver development, video synchronization, and integration with V4L2 and GStreamer pipelines.


GMSL (Gigabit Multimedia Serial Link) – Extending MIPI Over Coax

GMSL is a SerDes technology developed by Maxim Integrated for high-speed multimedia links in cars. Like FPD-Link, it pairs a serializer at the camera with a deserializer at the host, carrying video, power, and control over a single cable. GMSL exists in versions (GMSL1, GMSL2, GMSL3); here we focus on GMSL2 which is widely used in current embedded designs:


  • Bandwidth: GMSL2 supports up to 6 Gbps forward channel and a 187 Mbps reverse channel. This extra bandwidth (vs. FPD-Link III) gives GMSL2 a slight edge for high-resolution or high-frame-rate cameras. GMSL3 goes further (~12 Gbps in some specs) for even more demanding systems.

  • Physical Layer: Uses either coax or shielded twisted pair (STP). The link can carry serialized MIPI CSI-2data or parallel camera data. Often, a GMSL serializer takes in a MIPI CSI-2 output from a sensor or ISP and serializes it onto the cable.

  • Cable Length: Up to ~15 m, similar to FPD-Link. These long, robust cables make GMSL ideal for cameras on a car’s exterior, a remote robot head, or any scenario with distance and noise immunity requirements.

  • Control Channel: GMSL provides an I²C control tunnel like FPD-Link, but also can emulate other protocols (UART, SPI) over the reverse channel. This flexibility can be useful if the system needs to send more than just simple register I/O to the camera (e.g., firmware updates or high-rate commands).

  • Multi-Camera & Virtual Channels: GMSL deserializers can aggregate multiple cameras. For example, Maxim’s MAX9286 deserializer can combine four camera streams. Each stream is assigned a unique virtual channel ID in the CSI-2 output. NVIDIA’s reference design uses a dual IMX390 sensor setup with a MAX9296 deserializer, sending two synchronized streams over one CSI-2 interface by using separate virtual channel IDs. GMSL2 supports up to 16 virtual channels in some configurations – more than FPD-Link’s 4 – which can benefit systems with many cameras (e.g., surround-view systems).

  • Embedded Platform Compatibility: NVIDIA Jetson platforms readily support GMSL camera kits via external boards. For instance, Connect Tech’s GMSL camera platform board allows up to 8 GMSL cameras to interface with Jetson modules. NVIDIA provides a reference driver for a dual IMX390 GMSL2 module on Xavier (serializer MAX9295, deserializer MAX9296). RidgeRun has worked on GMSL projects (e.g., supporting MAX96705/MAX9286 GMSL1 chips and newer GMSL2 SerDes) to enable long-range cameras on Jetson and i.MX processors. On NXP i.MX8, GMSL can be integrated similarly via a deserializer feeding CSI-2; NXP community resources discuss using TI’s UB953/954 (FPD-Link III), and by extension, similar principles apply to GMSL with Maxim chips.


MIPI A-PHY – Standardized Long-Range PHY for Automotive Imaging

MIPI A-PHY is a long-reach physical layer standard from the MIPI Alliance, designed to transmit CSI-2 (camera) and DSI (display) data over distances up to 15 meters using automotive-grade cables. Unlike MIPI CSI-2 camera interfaces, which are intended for short-range board-level links, A-PHY enables high-speed, point-to-point connections between sensors and processors in harsh environments like vehicles or industrial robots.


  • Bandwidth and Link Characteristics: MIPI A-PHY supports asymmetric bandwidths of up to 16 Gbps in one direction (32 Gbps in dual-lane configurations) and up to 200 Mbps in the reverse direction for control. It’s resilient against EMI, supports coax or shielded twisted pair (STP), and offers packet error correction.

  • Use Cases: A-PHY targets ADAS, LiDAR, surround-view systems, and smart camera platforms. It aims to replace proprietary SerDes solutions with a standard, multi-vendor alternative.

  • Integration: A MIPI A-PHY link involves a serializer at the sensor converting CSI-2 to A-PHY, and a deserializer near the host converting it back to CSI-2. SoC platforms like Jetson and i.MX8 receive data via standard MIPI CSI-2 interfaces, making integration straightforward once the A-PHY bridge is set up.


RidgeRun Context: While A-PHY adoption is emerging, RidgeRun’s expertise in CSI-2 pipelines and SerDes drivers (I²C config, virtual channel handling) positions it well to support customers using A-PHY-based cameras or bridges in embedded systems.


Thermal Camera Interfaces in Embedded Systems

Thermal cameras (Long-wave Infrared, typically 8-14µm spectrum) often have specialized interfaces that differ from visible-light sensors. Some common interface approaches for thermal sensors:


  • Parallel Digital Video: Many thermal cores (e.g., FLIR Tau 2) output parallel CMOS video (often 14-bit or 16-bit parallel data + sync signals). This is essentially a parallel camera bus, which some SoCs (like older NXP i.MX6 or certain FPGAs) can capture via a parallel camera interface. On modern Jetson and i.MX8, which lack a direct parallel camera port, a bridge is needed. One approach is to use an FPGA or dedicated bridge chip to convert parallel output to MIPI CSI-2 so the SoC can ingest it. RidgeRun has experience working with such bridges and has written drivers to support them as V4L2 capture devices.

  • Analog Video (NTSC/PAL): Some thermal cameras provide composite video output (e.g., analog CVBS from FLIR Tau or older Seek thermal cameras). To digitize this on an embedded system, a video decoder chip (like Analog Devices ADV7180 or Texas Instruments TVP series) converts analog to digital (usually BT.656 or CSI-2). RidgeRun’s driver portfolio includes support for various HDMI/SDI/analog decoders, which can be applied to thermal cameras with analog outputs by treating them as standard video inputs.

  • SPI or Secondary Interfaces: Small thermal modules like the FLIR Lepton communicate over SPI (for raw data) and I²C (for control). These require custom drivers to capture frames over SPI (often using Linux spidev or a custom kernel module to stream the data). This is more of a niche case; an example is the PureThermal board, which translates FLIR Lepton SPI into USB UVC video.

  • USB Interface: Higher-level thermal cameras (with onboard processing) may present as USB cameras (UVC class) or via GigE. In those cases, standard USB or network camera handling applies (outside the scope of low-level driver development).


Integration Considerations: Thermal sensors typically have lower resolutions (e.g., 320×240 or 640×480) and unique output data (16-bit temperature matrices). Drivers might need to expose not just a video stream but also radiometric data or telemetry (some FLIR cores embed metadata like sensor temperature in the video frames). Handling these might involve parsing embedded metadata lines in CSI-2 (if the thermal core inserts special lines) or out-of-band data.


Both Jetson and i.MX8 V4L2 frameworks can be extended to handle such metadata – for instance, NVIDIA’s drivers can treat certain CSI-2 data types as embedded data and not image data. If the thermal camera doesn’t match a standard input, a FPGA or microcontroller might be used to adapt it.RidgeRun has delivered drivers for FLIR Tau 320/640 cores, enabling them on NVIDIA Jetson via a custom interface board. This showcases the kernel-level work needed to support unconventional interfaces by leveraging V4L2 capture abstractions.


Comparing Bandwidth, Distance, and Use Cases

Now that we’ve outlined these camera interfaces, here’s a comparison in terms of bandwidth, cable length, use cases, and platform support:


Bandwidth: MIPI CSI-2 (on-board) provides very high bandwidth (~10 Gbps) for one camera, but distance is limited. GMSL2 offers 6 Gbps, FPD-Link III ~4 Gbps, and FPD-Link IV raises this to 8 Gbps. MIPI A-PHY supports up to 16–32 Gbps, making it the highest-bandwidth long-reach interface discussed here. In multi-link setups, multiple CSI-2 or SerDes channels can increase total throughput. Thermal camera feeds generally have much lower data rates (due to lower resolution and frame rate), so bandwidth is rarely the limiting factor in thermal imaging systems.


Cable Distance: CSI-2 is limited to tens of centimeters—essentially part of the PCB or a small interconnect. GMSL, FPD-Link III/IV, and MIPI A-PHY support cable lengths of 10–15 meters, offering robust transmission over coax or STP, even in noisy environments such as factory floors, outdoor robots, or vehicles. Thermal cameras using analog interfaces can also cover several meters over coax, while parallel digital outputs typically require short, high-density connections unless converted.


Use Cases:


  • MIPI CSI-2: Ideal for embedded vision where the camera is on the same board or inside the same device (e.g., drones, phones, compact systems). Also suitable for multi-camera rigs when sensors are close together, such as stereo or depth sensing cameras.

  • FPD-Link III: Suited for automotive and industrial applications where sensors are a few meters from the processor. EMI robustness and power-over-coax support make it attractive for harsh environments and extended sensor arrays.

  • FPD-Link IV: Designed for next-generation ADAS and high-resolution applications requiring higher data throughput. It supports multi-camera setups with improved signal integrity and increased frame rates.

  • GMSL: Commonly used in autonomous vehicles, smart cities, and robotics. Similar in capability to FPD-Link but may be preferred depending on ecosystem or feature set (e.g., virtual channels, reverse channel flexibility).

  • MIPI A-PHY: Targets automotive and industrial systems that require long-distance transmission using a standardized, multi-vendor solution. It supports high-bandwidth, low-latency vision and sensor systems with robust error correction.

  • Thermal: Employed in surveillance, robotics, and automotive systems—especially where visibility is limited (e.g., darkness or fog). Integration varies depending on sensor output type, often requiring custom bridges or capture hardware.


These camera interfaces each serve specific needs:


  • Use MIPI CSI-2 for high-bandwidth, short-distance connections on-board.

  • Use FPD-Link III or GMSL for long-distance, multi-camera setups in harsh environments—GMSL offering higher bandwidth and flexibility, while FPD-Link III provides solid performance with EMI resistance.

  • Use FPD-Link IV when you need higher resolution or frame rate over long distances with improved signal integrity and power-over-coax.

  • Use MIPI A-PHY as a standardized, high-speed solution for automotive-grade and long-range embedded vision applications that benefit from multi-vendor support.

  • Integrate thermal cameras with careful consideration of non-standard interfaces, bridge hardware, and the need for custom driver development.


Platform Compatibility: Jetson and i.MX8 platforms natively support MIPI CSI-2. GMSL and FPD-Link (III and IV) require external SerDes hardware but are otherwise compatible since their deserializers output CSI-2 to the SoC. MIPI A-PHY also integrates via deserializers that output CSI-2, making it compatible with these platforms through the same capture interfaces. Many Jetson carrier boards (from NVIDIA ecosystem partners) provide out-of-the-box support for GMSL and FPD-Link cameras. RidgeRun has developed device tree configurations and I²C drivers to enable these SerDes interfaces on Jetson platforms. On i.MX8, similar SerDes integration is possible, though it may require additional driver development due to less standardized camera stack support. RidgeRun offers custom V4L2 driver services to bridge these gaps or adapt existing solutions to new hardware.


Summary

MIPI CSI-2 is optimal for short-range, high-speed connections with minimal latency and direct ISP access. GMSL, FPD-Link III/IV, and MIPI A-PHY are critical for connecting off-board cameras over long distances in challenging environments. Thermal camera integration often requires creative engineering due to their diverse output types, but reliable solutions are achievable with proper hardware bridges and software driver support.


For more technical depth or assistance with custom drivers for camera interfaces, consult RidgeRun’s Developer Wiki or reach out to our team—we’re here to help turn cutting-edge camera technology into reality on embedded Linux platforms.


bottom of page