1. MIPI DSI简介:从物理层到协议层概述

各位同学好,我是你们的讲师。今天咱们聊聊MIPI DSI。说实在的,这些年我在硬件调试室里,至少有一半的屏闪问题,最后都跟DSI的物理层电压没调对有关。

MIPI DSI,全称是Mobile Industry Processor Interface Display Serial Interface。说白了,就是要解决显示接口的通信问题。我刚开始接触这个协议时,第一反应是——为什么不用现成的LVDS或者RGB接口?其实答案很简单:高速、低功耗、少引脚。这三条,在手机和平板里是刚需。

DSI是一个分层协议。我个人习惯把它分成三层来看:物理层、通道管理层、协议层。当然,更细分的还有应用层,但咱们做硬件的,抓住这三层就够了。

1.1 物理层:最底下那层,也是最容易出问题的

物理层负责把0和1变成电信号传出去。DSI用的物理层是MIPI D-PHY。D-PHY有两种工作模式:

  • HS模式(High-Speed):高速传输,一般80Mbps到2.5Gbps。这时候电压摆幅很小,只有200mV左右。
  • LP模式(Low-Power):低速传输,但省电。电压摆幅大一些,约1.2V。

一个小经验:我刚工作时,有一次焊了一块板子,DSI信号线走线长了15cm。低压测波形发现HS模式下的摆幅直接掉到150mV,屏就是闪。后来加了一个端接电阻才解决。

D-PHY的物理连接也很简单。一组差分对加一根地线就够了。但如果有多个数据通道,每个通道需要独立的差分对。常用的配置是1个时钟通道+1~4个数剧通道。

参数 HS模式 LP模式
差分电压摆幅 140~270 mV 1.0~1.3 V
速率范围 80 Mbps ~ 2.5 Gbps ≤ 10 Mbps
功耗 高(但传输时间短) 低
时钟模式 连续差分时钟 非连续/门控时钟
端接 100Ω差分端接 高阻抗(无需端接)

这张表我建议你记一下。我在项目中遇到过至少三次,有人拿LP模式的设计照搬到HS模式,结果高速信号反射得一塌糊涂。

1.2 通道管理层:怎么把数据拆开再拼回去

通道管理层解决一个问题:数据怎么在通道上传播?

DSI最多支持4个数据通道。每个通道可以传独立的数据包,也可以并起来变成一个宽总线。举个例子,如果你用4个通道,每个跑1Gbps,那么总带宽就是4Gbps。——当然,你要确保每个通道的长度匹配,至少时序上要差不多。

为什么会这样分层?你想想看,如果芯片和屏幕之间的距离很远,或者引脚数有限制,只用1个通道也能工作,只是慢一点。

在通道管理层,还有几个关键概念:

  • Lane Distribution:数据如何在通道间分配。比如一个8位像素,可以拆成2个4位放到两个通道上。
  • Deskew:因为走线长度、PCB工艺的差异,不同通道的信号会有时延差。接收端需要做去偏斜。这在我们做高速设计时尤其要注意。

特别注意:我之前在一个4K屏幕项目里,4个通道的走线长度差只有2mm,但240MHz时钟下,依然出现了通道间偏移导致花屏。DSI规范要求通道间skew不能超过±0.1UI,这个值很苛刻。

1.3 协议层:数据包里的门道

协议层负责定义数据包里装的是什么。DSI的数据包分为两类:

  • 包长包(Long Packet):用于传输大块数据,比如图像帧数据。有包头、负载、校验码。
  • 短包(Short Packet):用于传输命令或状态,比如刷新开始、垂直同步。只有包头,没有负载。

我建议新手先理解短包结构。它只有16个字节:前8字节是包头(包含数据类型、虚拟通道号、命令),后8字节是错误校验。简单明了。

长包的结构稍复杂:

[包头 - 4字节] [数据负载 - 0~65535字节] [校验码 - 2字节]

这里面数据类型字段很关键。比如0x29表示RGB888像素数据,0x3C表示DCS长写命令。我在调试时会用逻辑分析仪抓这个字段,基本上去看手册确认两三次就能找到问题。

1.4 DSI系统的整体框架

一套典型的DSI系统由三部分组成:

  1. 主机(Host):通常是应用处理器或显示控制器,负责发起发送。
  2. 链路(Link):D-PHY物理层+通道管理层,实现信号传输。
  3. 外设(Peripheral):屏幕模组,负责接收并解释数据。

配合下面这张图,能更清晰地看到各层的关系:

MIPI DSI 三层架构概览 应用层(图像/命令) 协议层(打包/解包) 通道管理层(Lane分配) 物理层 D-PHY(电信号) 主机侧(Application Processor) 外设侧(显示模组) 差分D-PHY总线(Clock + N条Data Lane) 关键设计考量 • HS模式电压摆幅140~270mV,受端接、走线阻抗、电源噪声影响 • 通道间skew < 0.1UI,长走线需加deskew训练

1.5 HS模式:为什么电压摆幅这么重要

好了,咱们回到课程标题的核心。HS模式下的电压摆幅,就是我们说的差分信号幅度,通常在140~270mV之间。这个值看着小,但恰恰是高速信号传输的关键。为什么?

我总结了几点:

  • 摆幅太小(<140mV):信号容易被噪声淹没,接收端无法正确采样。我之前调一个项目,电源纹波40mVP-P,直接把摆幅压到120mV,屏幕间歇性闪白条。
  • 摆幅太大(>300mV):虽然信号质量好了,但功耗增加,还可能产生EMI问题。而且对于100Ω差分阻抗来说,过大摆幅可能导致接收端输入过载。

所以,MIPI DSI物理层的设计要求,就是在信号质量和功耗之间找到一个平衡点。这个平衡点,就是电压摆幅的精准控制。后面的章节里,我们会详细讨论如何测量、仿真和调试这个摆幅。

一句话总结本章:MIPI DSI从应用层的图像数据,经过协议层打包、通道层分配,最终在物理层通过D-PHY以差分电信号发送出去。HS模式下的电压摆幅是物理层设计的关键指标,直接决定了通信的可靠性。