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系统由三部分组成:
- 主机(Host):通常是应用处理器或显示控制器,负责发起发送。
- 链路(Link):D-PHY物理层+通道管理层,实现信号传输。
- 外设(Peripheral):屏幕模组,负责接收并解释数据。
配合下面这张图,能更清晰地看到各层的关系:
1.5 HS模式:为什么电压摆幅这么重要
好了,咱们回到课程标题的核心。HS模式下的电压摆幅,就是我们说的差分信号幅度,通常在140~270mV之间。这个值看着小,但恰恰是高速信号传输的关键。为什么?
我总结了几点:
- 摆幅太小(<140mV):信号容易被噪声淹没,接收端无法正确采样。我之前调一个项目,电源纹波40mVP-P,直接把摆幅压到120mV,屏幕间歇性闪白条。
- 摆幅太大(>300mV):虽然信号质量好了,但功耗增加,还可能产生EMI问题。而且对于100Ω差分阻抗来说,过大摆幅可能导致接收端输入过载。
所以,MIPI DSI物理层的设计要求,就是在信号质量和功耗之间找到一个平衡点。这个平衡点,就是电压摆幅的精准控制。后面的章节里,我们会详细讨论如何测量、仿真和调试这个摆幅。
一句话总结本章:MIPI DSI从应用层的图像数据,经过协议层打包、通道层分配,最终在物理层通过D-PHY以差分电信号发送出去。HS模式下的电压摆幅是物理层设计的关键指标,直接决定了通信的可靠性。