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 编码里隐含了时钟信息。嗯,后面会细说。
下面这张图帮你快速建立整体印象:
一句话记住: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 引脚上——电气电平都不对,板子直接不亮。后来查了三天才发现,教训深刻。