NuAxi

TI AUTOMOTIVE · interfaces

FPD-Link camera bandwidth: from input lanes to line deadlines and DMA

Use the actual DS90UB935/936/962/913A interfaces and a DS90UB960 line-level example to check CSI-2 lanes, forwarding, virtual channels, blanking and memory traffic instead of approving a design from average pixel rate.

Sources reviewed 2026-11-06 · NuAxi technical editorial · source facts and engineering interpretation distinguished

Key answer

A camera path must pass at least four checks: instantaneous sensor-to-serializer CSI input, each FPD-Link's mode and clock, the aggregate output's service capacity within a line interval, and SoC reception/DMA. Four 1080p30 RAW12 streams contain only 2.985984 Gbps of active pixels, yet under the specified DS90UB960 default timing at 800 Mbps/lane, four lanes, continuous clock and separate line-packet forwarding, four packets take at least 32.52 µs versus a 29.6296 µs line interval at Vtotal=1125. Passing an average-bandwidth check does not prevent line-buffer backlog.

1. Give every port an explicit interface contract

For each sensor, record active dimensions, frame rate, bit depth, actual CSI data type, packets per line, embedded data, lane count and HS rate, then Htotal/Vtotal, continuous or discontinuous clock and synchronization. RAW12 is a pixel-packing format, not a guarantee of continuous transmission at twelve times the pixel clock. Establish the actual burst pattern from the sensor mode table or captures.

The pairs below have explicit TI documentation, but do not approve arbitrary resolutions, clocks or cables. In particular, the 962's four RX inputs and single CSI output, and the 936's two RX inputs with replication, must not be mistaken for the 960's two independently routable outputs because of similar names or packages.

Scroll wide tables horizontally; column headers remain visible within the table.

Explicit pairs and output topology; not a drop-in replacement table
Data pathAggregation and outputDesign constraint
DS90UB935-Q1 → DS90UB936-Q1936 has two FPD-Link RX inputs; CSI output supports 1/2/4 data lanes2×2 mode duplicates the stream; it is not two independently routed ports
DS90UB935-Q1 → DS90UB962-Q1962 has four RX inputs and one CSI-2 port supporting 1/2/3/4 lanesEnabled RX inputs share the output; four receivers do not create four outputs
DS90UB913A-Q1 → DS90UB962-Q1Parallel LVCMOS is converted to CSI-2 through RAW modeCheck 10/12-bit mode, PCLK, sync and back-channel setup; 913A does not take CSI input
DS90UB953-Q1 → DS90UB954-Q1 / DS90UB960-Q1954 has two RX inputs; 960 has four RX inputs and two CSI-2 outputs960 supports configured routing or replication; 954 two-lane replication is not independent routing

2. Pass each input's limits before considering aggregation

DS90UB935-Q1 datasheet section 5.3, footnote 4, specifies up to 832 Mbps per CSI-2 data lane with one or two lanes, and up to 632 Mbps per lane with four lanes, for 2.528 Gbps combined. Two 800 Mbps lanes therefore provide 1.6 Gbps of input line capacity, not a shared 832 Mbps limit. Conversely, four 800 Mbps lanes do not meet the 935 four-lane condition. A low average payload does not excuse an excessive instantaneous HS lane rate.

Do not turn the 935's '3 Gbps' title into an exact encoded line rate. Section 6.3.2 describes a forward transmitter capable of up to 4.16 Gbps; actual line rate also depends on synchronous/asynchronous operation and reference clock. Aggregate CSI input bandwidth, the serial rate including encoding/control information, and usable video payload are different quantities. Apply the datasheet relationships for the same clock configuration rather than substituting one for another.

DS90UB913A-Q1 receives parallel LVCMOS, not MIPI CSI-2: PCLK is up to 100 MHz for a 10-bit payload and 75 MHz for 12-bit. With the 962, use a compatible RAW mode and verify that mode's PCLK subrange, HS/VS restrictions and 2.5 Mbps back channel. Do not borrow the 962's 12-bit 100 MHz condition for other serializers and apply it to 913A. The 935, 962, 913A and 936 are AEC-Q100 Grade 2, −40 to +105°C ambient. The reviewed material explicitly lists Functional Safety-Capable for 935 and 962; this classification is not established here for 913A/936 and is not system ASIL certification.

3. Find backlog along the pipeline rather than adding Gbps

The deserializer decodes each FPD-Link input into its RX buffer, then the CSI aggregator reads and transmits according to the forwarding mode. Best-effort round robin services buffers with valid data; synchronized forwarding imposes synchronization requirements on enabled inputs. Do not assume that a busy output automatically pauses a remote sensor or that an RX buffer can store a whole frame without a capacity specification.

Active-pixel rate W×H×fps×bpp describes average useful image data. Htotal/Vtotal describe sensor timing; they do not imply that every blanking pixel is sent as RAW data on CSI. For each active line, calculate the arrival interval, actual long/short packets and HS/LP overhead. Vertical blanking can lower average traffic, but if every active line adds backlog, prove that the buffer can hold the accumulated data instead of assuming a safe drain at frame end.

A virtual channel identifies a stream; it adds no physical bandwidth and does not synchronize exposures. Identical VC-IDs from multiple sensors need supported deserializer remapping that agrees with the SoC's VC/data-type filters. Synchronized forwarding also requires checking line cadence, format and behavior when an input disappears, not merely connecting frame-sync signals.

4. Example: why a 3.2 Gbps output can fail a 2.986 Gbps average load

Assume four identical synchronized 1920×1080, 30 fps RAW12 sensors, one long packet per active line and Vtotal=1125. Each uses a DS90UB953-Q1 with separately checked input conditions into a DS90UB960-Q1, and all four are routed to one CSI output with four lanes at 800 Mbps/lane. This is a 960 example, not a forced claim that the 962 supports this 1080p configuration. Each stream contains 0.746496 Gbps, or 2.985984 Gbps total active pixels, apparently below the 3.2 Gbps output.

TI SDAA236B, revised July 2026, section 5.2 Table 5-1 gives 0.93 µs of default DS90UB960 CSI transmitter overhead at 800 Mbps/lane with continuous CSI clock, 0x33[1]=1. With separate long packets for each input line and LP/HS transitions between packets, the four-packet lower bound is 4×(23040/(3.2×10⁹) seconds + 0.93 µs)=32.52 µs. Long-packet headers/CRC, short packets and metadata are still excluded, yet this already exceeds the 1/(30×1125)=29.6296 µs line interval.

The 0.93 µs value is not universal to FPD-Link or CSI-2 transmitters, nor does it describe discontinuous clock; the same table gives 2.06 µs at 800 Mbps with discontinuous clock. The result rejects this line-service contract and rules out approval from the average ratio alone. It is not a measured claim that every buffer depth, arrival phase or register configuration must lose frames.

Scroll wide tables horizontally; column headers remain visible within the table.

Reproducible lower bounds under one assumption set; decimal Gbps
QuantityCalculationResult and meaning
Four-stream active-pixel rate4×1920×1080×30×122.985984 Gbps; excludes packet/timing overhead
Line arrival interval1/(30×1125)29.6296 µs
Pixel bits per line per stream1920×1223040 bits = 2880 bytes
One line packet's pixel serialization time23040/(4×800×10⁶)7.2 µs; protocol overhead excluded
Four separately transmitted packets4×(7.2+0.93)32.52 µs > 29.6296 µs
Pixel demand during active lines4×23040/29.6296 µsAbout 3.1104 Gbps; closer to the bottleneck than frame average

5. Faster lanes, routing or concatenation each change the contract

Do not begin by blindly shortening D-PHY timing. Check whether the SoC accepts a higher lane rate, whether the 960's second independently routable output is available, and whether a sensor mode can reduce line-arrival load. Under the same four-lane, 800 Mbps/lane, default continuous-clock conditions, two streams per output reduce the pixel-plus-transition lower bound to 16.26 µs per port. Add packet overhead and verify the second CSI receiver and concurrent DMA before approving it.

Line concatenation can combine four symmetric video lines into one long packet, paying the corresponding transition overhead once. In this example its pixel-plus-transition lower bound is 28.8+0.93=29.73 µs, still slightly above 29.6296 µs; concatenation is not an automatic fix. It also changes the line width/frame layout seen by the receiver, requires synchronization and symmetric formats, and needs a driver that understands the result. Replication adds receivers for the same data and cannot substitute for routing independent traffic.

If adjusting TLPX, THS-PREPARE, THS-ZERO or related parameters, meet both transmitter and target-SoC receiver requirements and validate voltage, temperature, channel length and errors. A temporary image is not production margin. Recompute overhead and buffering after changing clock mode, embedded lines or forwarding.

6. After CSI reception, budget unpacking and DMA

For the same four-stream example, storing packed RAW12 active pixels requires at least 2.985984/8=373.248 MB/s of writes. If the CSI receiver expands every pixel to 16 bits, this becomes 4×1920×1080×30×2=497.664 MB/s. These are decimal MB/s, excluding stride alignment, metadata, cache maintenance, display and ISP traffic. A full-image memory copy that reads and writes the expanded frame adds two image streams of memory traffic beyond capture writes.

These figures are general system arithmetic, not a throughput guarantee for a particular SoC. Budget each queue from actual stride×stored lines×fps, and verify VC-to-DMA context mapping, separate handling of embedded lines, buffer ownership and drop policy. Adequate total memory bandwidth does not prove that an individual CSI FIFO survives short arbitration stalls; observe overflow, frame sequence and timestamps with concurrent ISP, CPU and display traffic.

7. Freeze the mode table and end-to-end acceptance checklist

Version the calculation inputs, register readbacks and capture results together. This is an engineering acceptance plan, not TI certification of an untested sensor/SoC combination; physical-link LOCK is only the first layer of status.

  • Record active pixels, Vtotal, line/short/embedded packets and actual HS lane rate; check 935 limits separately: 832 Mbps per lane for 1/2 lanes, 632 Mbps for 4 lanes.
  • Save full serializer/deserializer identifiers and clock modes; match 913A parallel PCLK/width to the 962 RAW configuration.
  • Calculate each input and each CSI output's line-service time; identify default/tuned timing, clock mode and forwarding, without transferring 0.93 µs across devices.
  • Read back the actual 962 single-port, 936 replication or 960 routing configuration; do not count copies as new useful throughput.
  • Check VC/data type, received dimensions, RAW packing and stride; verify exposure timing after synchronization, not just matching frame rates.
  • Count frames, CRC/ECC errors, FIFO overflows and application timestamps under full DMA/ISP/memory load; validate counters and image content together.
  • Exercise one-link loss, one-sensor restart, asynchronous phase drift and supply disturbances; define dropped-frame flags, resynchronization deadlines and whether other cameras continue.

Frequently asked questions

Is the 935 two-lane limit 832 Mbps per lane or in total?

Up to 832 Mbps per lane applies to one or two lanes. Four lanes are limited to 632 Mbps each, 2.528 Gbps combined. Check the sensor's HS burst rate, not only its average pixel load.

Can the 962 split four inputs across two independent CSI receivers?

The 962 has one CSI-2 output port with 1/2/3/4 data lanes. It does not inherit the 960 dual-port routing capability; the 936's 2×2 mode also only replicates a stream. Independent routing requires a different topology and separate output budgets.

Why are four 1080p30 RAW12 streams risky below 3.2 Gbps?

2.985984 Gbps averages active pixels over a full frame. With the specified default 960 timing, four separate line packets already need 32.52 µs for pixels plus LP/HS overhead, exceeding the example's 29.6296 µs line interval. Packet overhead and actual buffering still need review; frame-average bandwidth cannot replace line-service analysis.

Does connecting 913A to a CSI-output deserializer make its sensor input CSI?

No. The 913A input remains parallel LVCMOS: up to 100 MHz at 10 bits or 75 MHz at 12 bits. The 962 forms CSI-2 output in RAW mode; width, PCLK, synchronization and back-channel settings must still agree.

Are continuous clock or line concatenation guaranteed fixes for frame loss?

No. Continuous clock reduces certain transition overheads but requires receiver support. Concatenation needs compatible synchronization/formats and changes the received layout. Even one 0.93 µs overhead leaves this example at 29.73 µs, above the line interval. Neither fixes wrong VC mapping, DMA stalls or an excessive serializer input rate.

Related parts and complete OPNs

Continue reading

NuAxi is independent of TI. This guide organizes official evidence and engineering checks; it is not substitution approval, system certification, procurement assurance or completed design validation. Review the exact OPN, datasheet revision and project requirements.