MIPI DSI物理层电气设计与链路验证 - 第2节

一、DSI 物理层架构概览

DSI 物理层,说白了就是 Host 和 Device 之间那条「数据管道」。你想想看,应用层要传的图像数据、命令、状态,全得靠它跑通。MIPI 联盟给这条管道定了两种物理层方案:D‑PHY 和 C‑PHY。

两者都走串行、差分(或类差分)传输,都能在高速和低功耗模式间切换。但核心区别在哪?

  • D‑PHY: 源同步时钟 + 数据 lanes,每个 lane 用一对差分线(Dp/Dn)。
  • C‑PHY: 无独立时钟线,靠三根线(trio)的 3‑level 信号自同步。

我刚开始接触 C‑PHY 时也觉得「没时钟线怎么对齐数据?」后来调过一次 eye diagram 就明白了——3‑level 编码里隐含了时钟信息。嗯,后面会细说。

下面这张图帮你快速建立整体印象:

DSI 物理层架构:D‑PHY 与 C‑PHY 概览 D‑PHY Clock Lane 差分对 (2‑wire) Data Lane ×4 差分对 (2‑wire) C‑PHY Trio ×3 3‑wire 3‑level vs 速率等级对比 D‑PHY:80 Mbps ~ 4.5 Gbps / lane | C‑PHY:1.5 ~ 2.5 Gsym / s / trio

一句话记住:D‑PHY 靠时钟 lane 对齐数据,C‑PHY 靠 3‑level 编码自同步。选谁?看你的 BOM 成本、布线资源和速率需求。


二、D‑PHY:差分信号方案的经典

2.1 架构与工作原理

D‑PHY 的 lane 结构很直观:1 条时钟 lane + N 条数据 lane(N 通常为 1/2/4)。每条 lane 由一对差分线 Dp/Dn 组成,工作在两种模式:

  • HS(高速)模式: 差分摆幅 ~200 mV,电流型驱动,速率 80 Mbps 起步。
  • LP(低功耗)模式: 单端摆幅 1.2 V,用于控制指令、总线 Turnaround 等。

我个人习惯在原理图阶段就把 D‑PHY 的 clock lane 包地处理,两边打地过孔——这东西对 EMI 太敏感了。有次项目因为 clock lane 回流路径没处理好,ET 测试直接 Fail,后来加了地孔才过。

小建议:D‑PHY 的 Data Lane 支持双向(Bidirectional),但 Clock Lane 永远是单向的。设计时别把方向搞反了。

2.2 速率等级

D‑PHY 的速率等级随版本演进明显。下面这个表我常贴在工位上:

版本 最大 HS 速率(per lane) 典型应用场景
D‑PHY v1.0 1.0 Gbps 早期手机屏(720p)
D‑PHY v1.1 1.5 Gbps 高清面板(1080p)
D‑PHY v1.2 2.5 Gbps 2K 分辨率显示
D‑PHY v2.0+ 4.5 Gbps 4K 高刷屏、车载大屏

注意:LP 模式速率大约只有 10 Mbps,但功耗极低,适合待机状态传命令。

避坑提醒:我曾经见过有人把 4.5 Gbps 的 D‑PHY 走线拉了 20 cm 没做阻抗匹配,结果眼图全闭了。记住:每增加 1 cm PCB 走线,信号衰减约 0.3~0.5 dB @ 2 GHz。能用表层走就别走内层,能短就别长。


三、C‑PHY:三电平编码的创新

3.1 架构与工作原理

C‑PHY 没有独立的时钟线,取而代之的是 trio——每组 3 根线。它用 3‑level 信号(高、中、低)在每对线之间传递状态,每 2 根线可以表示 3 种电平组合。3 根线总共 27 种状态,其中 24 种用来传数据,剩下的用于同步和控制。

为什么会用这么复杂的编码?说白了,为了省引脚还能提速率。同样 3 根线,C‑PHY 的等效数据率比 D‑PHY 高不少。你想想看,一个 trio 就能跑到 1.5 Gsym/s,折合下来约 6.9 Gbps,而 D‑PHY 3 根线(1 clock + 1 lane)也就 2.5~4.5 Gbps。

但也有代价——接收端需要一个 3‑level 比较器,芯片面积和功耗比 D‑PHY 略高。

核心差异:C‑PHY 的 trio 是双向的,既可以发也可以收,而且不需要额外的 turn-around 信号。这在高刷新率显示的场景下很有优势。

3.2 速率等级

C‑PHY 的速率用 Gsym/s(吉符号每秒) 来表示,每个 symbol 携带约 4.58 bits 信息:

版本 最大符号率 等效数据率(per trio) 典型应用
C‑PHY v1.0 1.5 Gsym/s ~6.9 Gbps 2K 显示、中等帧率
C‑PHY v1.1 2.5 Gsym/s ~11.5 Gbps 4K 高动态显示

注意:C‑PHY 的 trio 是 半双工 的,同一时刻只能发或收。而 D‑PHY 的数据 lane 可以配置为双向,但 clock lane 是单向的。


四、D‑PHY 与 C‑PHY 的选型对比

直接看这张表,选型时逐条对照:

对比项 D‑PHY C‑PHY
时钟方案 独立 clock lane 内嵌在 trio 中
每 lane/trio 线数 2 线(差分对) 3 线(trio)
最高等效数据率 4.5 Gbps / lane ~11.5 Gbps / trio
功耗(同速率下) 较低 略高(多一个比较器)
PCB 布线难度 中等(需处理 clock 等长) 较高(3 线 self‑skew 控制)
兼容性 业界最广,几乎所有 SoC 都支持 高端 SoC 才带

选型口诀:中低速率、成熟方案选 D‑PHY;追求高数据密度、引脚受限选 C‑PHY。如果 SoC 和面板都支持 C‑PHY,我个人会优先考虑——省 lane 数就是省 BOM 成本。

嗯,最后补充一句:两种 PHY 不能混用。Host 和 Device 必须协商一致,要么都用 D‑PHY,要么都用 C‑PHY。有些 SoC 会同时集成两种 PHY 控制器,但电气接口是独立的,不能接错。

别踩这个坑:我曾经在一个项目中看到原理图把 D‑PHY 的差分对接到了 C‑PHY 的 trio 引脚上——电气电平都不对,板子直接不亮。后来查了三天才发现,教训深刻。