第2章 MIPI D-PHY物理层架构:HS与LP模式下的信号与结构
要真正用好 D-PHY 的上升下降时间参数,你得先搞清楚物理层是怎么搭的。说白了,HS(高速)和 LP(低功耗)这两套传输方式,从引脚到电压、再到信号形态,完全是两套打法。我一个老工程师朋友经常说:“分不清这两套,写时序约束就是猜。” 嗯,今天我们就把它掰开揉碎了讲。
2.1 高速模式(HS)物理层结构
HS 模式是 D-PHY 的“跑车模式”。它用一对差分信号线(Dp/Dn)来传输数据,电压摆幅只有 200mV 左右(典型值 200mV,实际在 140~270mV 之间)。这样做的目的是:速度拉满,功耗仍然可控。
- 差分对结构:两条线一正一反,接收端看的是差值,不是对地电压。所以抗共模干扰能力很强。
- 端接电阻:HS 模式下,接收端内部有一个 100Ω 的差分端接电阻(通常集成在 PHY 里)。发送端是电流驱动,典型电流约 2.5mA~4mA。
- 共模电压:HS 信号共模电压在 200~300mV 之间,比 LP 的低得多。
关键点:HS 模式下不处理任何单端信号。所有数据、时钟都通过差分对传输。上升下降时间参数(UI 内的 Tr/Tf)就定义在这个差分摆幅的 20%~80% 之间。
我在早年做过一个 MIPI 摄像头模组项目,当时 HS 通道的上升时间偏慢,结果眼图不闭合。排查半天,发现是 PCB 走线过长,寄生电容太大。所以啊,HS 下的上升下降时间跟物理布局直接挂钩,这一点后面章节会细讲。
2.2 低功耗模式(LP)物理层结构
LP 模式正好相反。它用两根独立的单端信号线(Dp 和 Dn 各自对地传输),电压摆幅 1.2V(典型值,范围 1.1~1.3V),完全是 CMOS 电平逻辑。这里注意啊,LP 模式下 Dp 和 Dn 是独立的控制信号,不再是差分关系。
- 单端结构:每根线都是一个推挽驱动器,输出高电平约 1.2V,低电平约 0V。
- 无端接电阻:LP 模式下没有差分端接,只有高阻抗输入。
- 状态编码:LP 模式通过 Dp/Dn 的组合状态来传输 LP 指令或进入 HS 模式。比如 LP-00, LP-01, LP-10, LP-11 等。
一句话记住:HS 跑数据,LP 做握手。D-PHY 的所有控制命令(如进入 HS、转入 LP、关闭 lane)都是通过 LP 状态机来完成的。
我记得有一次在调试屏幕显示的时候,LP 模式的上升时间过慢,导致进入 HS 的请求被误判。其实这就是 LP 的 Tr > 200ns 造成的超时。你想想看,两块片子各走各的时序,不按规范来,肯定出问题。
2.3 差分对 vs 单端信号线——核心差别
我做了一个对比表,方便你一眼看清差异。这也是每次做板级设计前我必须跟硬件工程师对一遍的内容。
| 对比项目 | HS 差分对 | LP 单端信号线 |
|---|---|---|
| 传输信号 | 数据/时钟(高速串行) | 控制命令 / 状态 |
| 电压摆幅 | ~200mV(峰峰值) | 0 ~ 1.2V |
| 端接 | 100Ω 差分端接 | 无端接(高阻输入) |
| 共模电压 | 200~300mV | 不适用(单端电平) |
| 传输速率 | 80 Mbps ~ 4.5 Gbps/lane | ≤ 10 Mbps(实际常用 ~10 Mbps) |
| 上升/下降时间 | 通常 100ps ~ 300ps(UI 的 25%) | 通常 > 5ns(最大 200ns) |
| 抗干扰 | 强(差分共模抑制) | 弱(单端易受噪声影响) |
注意:千万不要把 HS 差分对的两条线当成独立信号来走。我在一个早期设计里看到有人把 Dp 和 Dn 分别打了过孔,等长也没控制,结果差分阻抗变成了 85Ω。眼图质量直接挂掉。后来我定了个规矩:差分对必须同层、同过孔、间距 5mil 以内、等长 ±1mm。
2.4 物理层整体架构——一张图看懂
下面这张 SVG 图把 HS 和 LP 两种模式对应的物理层结构画在了一起。你可以看到:同一个 Lane,通过切换驱动器和接收器的类型,在 HS 差分和 LP 单端之间来回切换。这也是 D-PHY 的精髓:用同一对引脚既跑高速数据,又做低速控制。
从上图你可以看到,发送端和接收端都同时集成了 HS 和 LP 两种驱动器/接收器。同一个 Lane 的 Dp/Dn 引脚,在 HS 模式下作为差分对工作,在 LP 模式下作为两个独立的单端信号线工作。这和很多其他串行接口(比如 LVDS)完全不同——LVDS 只能高速,没有低速控制能力。
2.5 实际项目中的避坑指南
做了这么多年接口设计,我在 D-PHY 物理层上踩过的坑不算少。这里列几条最实的建议:
- 千万不要把 HS 差分对当成两根单端线去布局。 我之前犯过设计上 Dp 和 Dn 走了不同层,结果差模阻抗飞了。后来我要求必须同层紧耦合,间距不超过 5mil。
- LP 走线虽然只是 1.2V 单端,但它的上升时间不能太慢。 规范要求 LP 上升时间小于 200ns。我见过因为线太长导致上升沿变平缓,进不了 HS 模式的——后来加了个缓冲器解决。
- HS 和 LP 的切换时序要特别留意。 你知道吗?从 LP 进入 HS 有一个“停顿时长”(LP-11 持续时间),不够长的话接收端可能还处于 LP 态。我建议至少留 50ns 的 LP-11 等待时间。
- 测试时别只看 HS 眼图。 很多人只测 HS 的眼图,LP 的上升时间、下降时间、电压幅度全放一边。结果 LP 误触发,整个控制流乱掉。我坚持 LP 参数在每一块板子上都测一遍。
一个小技巧:做 SI 仿真的时侯,HS 差分对用 100Ω 差分端接模型,LP 单端用 50Ω 对地模型(实际是开路,但看信号反射时 50Ω 更能暴露问题)。这是我之前跟一位信号完整性专家学的,屡试不爽。