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 是“乐手”。鼓手给出节拍,乐手按节拍演奏。节奏乱了,整首曲子就完蛋。
高速模式(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 结束。
核心知识结构
下面这张图总结了本章的知识要点,你可以一眼看清 D-PHY 的全貌:
总结要点
这一章的核心就三件事:
- D-PHY 的物理构成:时钟 Lane + 数据 Lane,差分传输。
- 两种模式的本质差异:HS 快且单向,LP 慢且双向。
- 模式切换时序:进入/退出序列是硬条件,跳过就翻车。