DSI物理层:D-PHY基本特性,高速与低功耗模式

这一章我们聊聊 D-PHY。说白了,它就是 MIPI DSI 的物理层,负责把协议包里的 0 和 1 变成差分线上的高低电平。我最早接触 D-PHY 的时候,觉得这东西不就是个 SerDes 吗?后来踩了坑才知道,它的时序细节比想象中多得多。

D-PHY 的物理结构

D-PHY 是一种源同步的差分串行接口。每个通道(Lane)由一对差分线构成:Dp(正极)和 Dn(负极)。差分信号的好处很明显——抗共模干扰强,信号质量好。我自己做项目时,经常看到同事把差分线走成等长,却忽略了阻抗匹配,结果眼图惨不忍睹。

一个 D-PHY 链路可以包含:

  • 1 条时钟 Lane:差分对,始终以高速模式运行或处于低功耗停顿时停止。
  • 1~4 条数据 Lane:每条 Lane 独立双向传输,但同一时刻只能朝一个方向。

我个人习惯把时钟 Lane 看作是“鼓手”,数据 Lane 是“乐手”。鼓手给出节拍,乐手按节拍演奏。节奏乱了,整首曲子就完蛋。

经验提示:走时钟差分线时,尽量包地并保持与其他信号线间距 3W 以上。我曾经因为时钟线和数据线间距太近,导致串扰严重,差分摆幅都变了形。

高速模式(HS)与低功耗模式(LP)

D-PHY 最重要的特性就是双模式运行:高速模式(HS)和低功耗模式(LP)。为什么要搞两套?原因很简单——你要又想传得快,又想省电。高速模式下数据传输速率高(理论可达 2.5 Gbps/Lane),但功耗也高;低功耗模式传输速率低(约 10 Mbps),但功耗极低。

下面是两种模式的对比:

特性高速模式(HS)低功耗模式(LP)
信号电平差分,200mV 摆幅单端,1.2V 摆幅
传输速率80 Mbps ~ 2.5 Gbps约 10 Mbps
功耗高极低
传输方向单向(主机→设备)双向(可仲裁)
适用场景大数据量图像数据命令、状态、BIST、空闲

嗯,你可以这么理解:高速模式像是高速公路上的卡车,你只管往前冲,别管油耗;低功耗模式像是小区里骑自行车,省油还灵活,随时可以调头。

状态机与电压电平

D-PHY 的每条数据 Lane 在 LP 模式下有四种状态:

  • LP-00:Dp = 0V, Dn = 0V(桥接)
  • LP-01:Dp = 0V, Dn = 1.2V
  • LP-10:Dp = 1.2V, Dn = 0V
  • LP-11:Dp = 1.2V, Dn = 1.2V(停止状态)

进入高速模式前,数据 Lane 必须经过一个“进入序列”:LP-11 → LP-01 → LP-00 → 然后使能终端电阻,拉高差分对进入 HS 模式。退出时反向:先回到 LP-00,再回到 LP-11。

千万别踩的坑:高速模式开始前如果没有正确走完进入序列,接收端的锁相环会失锁。我曾经为了省几个时钟周期,跳过了一个步骤,结果整批板子都出现画面闪屏。老老实实按规范做,别偷懒。

高速数据传输时序

HS 模式下,时钟 Lane 提供 DDR(双数据率)时钟:时钟的每个边沿(上升沿和下降沿)都作为数据采样点。数据 Lane 在时钟的边沿上对齐。

数据 Lane 在 HS 模式下传输的是经过 8B/9B 编码(或更准确说是 CIL 编码)的串行数据。每个包以 SoT(Start of Transmission)开始,以 EoT(End of Transmission)结束。SoT 序列为:LP-11→LP-01→LP-00→HS-0(差分 0)→HS-1(差分 1)→... 随后正式数据。

我个人觉得理解时序的关键是记住:先建立时钟同步(时钟 Lane 一直跑),等数据 Lane 完成 HS 进入序列后,再开始传数据。接收端必须检测到 SoT 才认为有效数据开始。

低功耗模式下的通信

LP 模式下,数据 Lane 可以是双向的。主机和设备可以“争夺”总线的控制权。D-PHY 规定:谁先把 Lane 拉成 LP-00,谁就获得权限。这就是“仲裁”。

LP 模式下的命令通常用“LP-00, LP-01, LP-10, LP-11”的组合来表示不同的指令(如进入 HS 模式、关闭时钟等)。每个命令以 LP-11 开始,以 LP-11 结束。

实际应用:很多低功耗场景会频繁切换 HS/LP 模式。比如手机看静态图片时只发一帧 HS,然后整个链路进入 LP 省电;触摸时再唤醒到 HS。设计不到位的话,切换延迟会导致帧率不稳定。

核心知识结构

下面这张图总结了本章的知识要点,你可以一眼看清 D-PHY 的全貌:

D-PHY 物理层核心知识结构 D-PHY 物理层 物理结构 双模式运行 差分对:Dp/Dn 时钟 Lane + 数据 Lane 高速模式 (HS) 低功耗模式 (LP) DDR 时钟采样 单端电平状态机 熟练掌握双模式切换时序是调试的关键

总结要点

这一章的核心就三件事:

  1. D-PHY 的物理构成:时钟 Lane + 数据 Lane,差分传输。
  2. 两种模式的本质差异:HS 快且单向,LP 慢且双向。
  3. 模式切换时序:进入/退出序列是硬条件,跳过就翻车。
工程师笔记:如果你在调试时发现图像有随机水波纹,大概率是数据 Lane 的 HS 进入序列没对齐。用示波器抓 Dp 和 Dn 的波形,看看 SoT 前面是不是干净的地——我抓过一次,发现电源噪声耦合进了进入序列,调整供电电容后问题消失。