Page 4 · Choosing a PHY

D-PHY vs C-PHY

CSI-2 packets are the same on either PHY. What changes is how bits become voltages: D-PHY sends one bit per unit interval on differential pairs with a forwarded clock; C-PHY sends 3-phase symbols on wire trios with the clock embedded in the symbol transitions.

C-PHY in one picture

Wire AHMLWire BHMLWire CHML+x+yrotate-yflip+zrotate-xrotate+xflip-zrotatewire state
In every symbol one wire is high, one is low and one is at mid level, which gives six wire states (±x, ±y, ±z). The state must change every symbol, either by rotating which wire is high or by flipping polarity, so the receiver recovers the clock from the transitions themselves.

A C-PHY trio is three wires, A, B and C. At any instant one wire is driven high, one low, and one to the midpoint, so the sum of the three is constant and the common mode stays fixed. That gives six possible wire states. Each wire is terminated with 50 Ω to a common node, so any two wires see 100 Ω between them.

The receiver has three differential comparators: A−B, B−C and C−A. Because one wire is always at mid level, each comparator sees either a strong difference (high vs low, about two units) or a weak one (high or low vs mid, one unit). It never sees zero, so every comparator always resolves to 1 or 0.

How bits become symbols

Side by side

D-PHYC-PHY
Wires per data channel2 (lane) + a shared 2-wire clock lane3 (trio), no clock lane
ClockingForwarded DDR clock, source-synchronousEmbedded; clock recovered from symbol transitions
CodingNone (1 bit per UI, NRZ)3-phase, 16 bits → 7 symbols, 2.28 bits/symbol
Rate per channel2.5 Gb/s (v1.2), 4.5 Gb/s (v2.x)2.5 Gsym/s = 5.7 Gb/s (v1.0); about 6 Gsym/s ≈ 13.7 Gb/s (v2.0)
Typical configClock + 4 lanes = 10 wires3 trios = 9 wires
Skew budgetEvery data pair matched to the clock pairOnly the three wires inside a trio matched; trios independent
HS termination100 Ω differential, switched50 Ω per wire to a common node, switched
LP signaling1.2 V LP states on Dp/DnSame 1.2 V LP states, reused
Receiver complexityLow; capture with the forwarded clockHigher; clock recovery, symbol decoder, demapper
Where it's usedMost industrial, automotive, embedded and FPGA designs; radar front endsHigh-resolution phone cameras, some displays
FPGA supportHard PHY on newer families; resistor-network workaround on older onesNeeds a native PHY or a bridge chip; no practical resistor-network solution

Pin budget

D-PHY, 4 lanes: 10 wiresCLKD0D1D2D34 × 2.5 Gb/s = 10 Gb/s(D-PHY v1.2 rate per lane)C-PHY, 3 trios: 9 wiresT0T1T23 × 2.5 Gsym/s × 16/7 = 17.1 Gb/s(C-PHY v1.0; no clock wires)
Same connector budget, different outcome. D-PHY spends two wires on a forwarded clock and gets one bit per UI per pair. C-PHY embeds the clock and gets about 2.28 bits per symbol per trio.

The headline advantage of C-PHY is bandwidth per pin. At the same symbol rate as a D-PHY bit rate, three trios carry about 70% more than four D-PHY lanes on one fewer wire. Phone SoCs often use combo PHYs: the same 10 or so pads can be configured as a 4-lane D-PHY or a 3-trio C-PHY, which lets one camera port accept either kind of sensor.

Choosing between them

Questions to expect

How does C-PHY get more than 2 bits per symbol?

Six wire states, and the rule that the state must change every symbol leaves five choices per symbol. log₂5 is 2.32 bits. The 16-bit-to-7-symbol mapper captures 2.28 of that because 5⁷ just exceeds 2¹⁶.

Why doesn't C-PHY need a clock lane?

Because the state always changes, every symbol boundary has at least one comparator transition. The receiver ORs the three comparator outputs to generate a symbol clock, then masks the spread between comparator edges.

Which is better for EMI?

Both keep a constant common mode in HS. D-PHY pairs are classic differential and couple well to tightly matched routing. C-PHY trios don't form a clean differential pair, so their near-field is less symmetric, but they also have no continuously running clock lane radiating a single tone. In practice both rely on the scrambling option and good layout. On a radar board the bigger concern is keeping any of this away from the RF and LO routing.

← PreviousD-PHY signaling