3. D-PHY 物理层入门:电气特性、HS 与 LP 模式、电压摆幅
各位工程师好。从这一章开始,我们真正进入 D-PHY 物理层的细节。我个人觉得,物理层是 MIPI 调试中最容易出问题的环节——很多信号完整性故障其实都卡在电平规范上。你想想看,如果连 1.2V 和 1.8V 都分不清,后面谈协议解析就是空谈。
好,咱们直接切入正题。
3.1 D-PHY 的两种工作模式:HS 与 LP
D-PHY 物理层支持两种信号模式,分别是高速模式(HS)和低功耗模式(LP)。本质上,它们是两套完全不同的电压摆幅和驱动策略。
| 特性 | 高速模式(HS) | 低功耗模式(LP) |
|---|---|---|
| 电压摆幅 | 差分 200mV(典型) | 单端 0~1.2V |
| 共模电压 | 200mV(典型) | 无严格共模要求 |
| 传输方式 | 差分对(DP/DN) | 单端线,独立驱动 |
| 功耗 | 高(几 mW 级) | 极低(几十 µW) |
| 数据速率 | 最高 2.5 Gbps/通道(D-PHY v2.5) | 最高 10 Mbps |
| 应用场景 | 像素数据传输 | 控制 / 状态 / 初始化 |
为什么要有两套模式?因为摄像头需要省电。平时不传图时,LP 模式电流很小;一帧数据来了,瞬间切换到 HS 模式爆发传输。我在某平板项目中就遇到过:LP 转 HS 时锁相环没锁住,导致第一行图像花掉。说白了就是模式切换时序没调好。
3.2 电气特性详解:电压摆幅与共模
先看 HS 模式。D-PHY 的 HS 差分信号以一对线(DP、DN)传输,典型差分摆幅 200 mV,共模电压固定在 200 mV。也就是说,DP 的电压在 200 ± 100 mV,DN 在 200 ∓ 100 mV。
核心参数:
HS 差分摆幅:140~270 mV(规范范围)
HS 共模电压:150~250 mV
终端阻抗:100 Ω 差分(两端匹配)
LP 模式就简单多了。每条信号线独立驱动,电压摆幅 0~1.2V(实际典型 1.2V 逻辑)。LP-00、LP-01、LP-10、LP-11 这四个状态分别对应不同的总线控制权。
实战提醒: 我在调试一个 4K60 摄像头时,发现 LP 信号线上有 0.8V 的残余电压。测了半天,原来是 sensor 的 LP 驱动器内部上拉没关干净。用示波器量一下 LP 电平,低于 0.5V 才算干净。
3.3 模式切换:HS 与 LP 之间的“桥接”
D-PHY 不能直接从 LP 跳到 HS 数据流。中间有一个 高速传输开始(SoT) 序列,包含 LP-11 → LP-01 → LP-00 → HS-0。嗯,这是规范定的,最好背下来。
LP-11:总线空闲(两条线都是高)
LP-01:准备进入 HS(DP 低,DN 高)
LP-00:桥接间隙(两条线都低)
HS-0:差分进入高速(DP > DN)
我自己的经验是:很多 FPGA 实现 D-PHY Master 时,这个 SoT 序列如果时序偏一点点(比如 LP-00 保持时间不足 100 ns),接收端就检测不到有效同步头,整包丢弃。浪费了我整整两天。你多留点余量。
反过来,从 HS 切回 LP 需要 高速传输结束(EoT) 序列:HS-0 → LP-00 → LP-11。这里要注意 EoT 的 LP-00 不能长于 150 ns,否则有些 PHY 会误判为 LP 状态。
3.4 关键硬件指标与测试要点
日常调试中,我最关注下面这几个参数。你拿示波器测差分信号时,可以对着这个清单逐条确认。
- 差分电压 VOD:理想 200 mV,允许 ±35%。太小抵抗不了噪声,太大功耗上升。
- 共模电压 VCM:理想 200 mV,波动要小于 50 mV。共模偏差会使接收端共模抑制失效。
- 上升/下降时间:HS 模式下典型 150 ps,不得超过 0.3 UI。我见过某款 SoC 由于 PCB 走线过长导致上升沿变缓,眼图直接闭合。
- 信号间偏差(Skew):DP 与 DN 之间的时序偏差 < 100 ps。如果布线不匹配,会吃掉时序余量。
避坑指南: 我曾经在一个项目中,MIPI 走线绕了 2000 mil 的等长蛇形线。你以为很安全?实际上过孔换层三四处,每换一次层引入 2~5 ps 的额外偏差。最后眼图测试发现最大歪斜 120 ps,把 MIPI 接收端逼到了极限。所以 少换层、短走线、对称过孔 才是正道。
3.5 D-PHY 物理层知识体系总览
咱们把这一章的核心内容用一张图串起来。下面这张结构图帮你理清 D-PHY 物理层的模块、模式、关键规范与调试要点。
这张图把模式、电压、切换、测试用一根线串起来了。每次调不通时我就对着这图,看看是卡在了模式切换还是电压规范上。
3.6 一点实测建议
最后给刚入门的同行一个实测建议:调试时先测 LP 电平——最简单。用示波器钩子接在 DP 或 DN 上,看空闲时是不是 1.2V。如果偏低,查上拉电源;如果偏高,查下拉是否漏电。
测 HS 信号时,务必用差分探头,别用两个单端探头然后做减法。我在某项目上吃过亏,两个单端探头延迟不一致,测出来的波形全是假的。后来换了 TDP 探头,眼图瞬间清楚了。
嗯,这一章内容就是这些。记住两套电压、两套模式、一套切换序列。你亲手用示波器抓一次 SoT 波形,印象会比看十页书深得多。