1. MIPI DSI 协议基础

1.1 MIPI 联盟介绍

MIPI(Mobile Industry Processor Interface,移动行业处理器接口)联盟成立于 2003 年,是一个全球性的开放标准制定组织,致力于为移动和物联网设备定义接口规范。其成员涵盖全球领先的半导体、手机、平板、汽车电子及物联网厂商。

MIPI 联盟制定的规范覆盖了移动设备内部几乎所有关键接口,包括摄像头(CSI)、显示(DSI/CSI-2)、射频(RFFE)、I/O(I3C/I2C)、电池管理(BIF)等。其中,DSI(Display Serial Interface) 是面向显示面板的高速串行接口标准,已成为当前智能手机、平板、车载显示及嵌入式 Linux 设备中最主流的显示接口。

开发提示: 在嵌入式 Linux 显示驱动开发中,MIPI DSI 是连接 SoC 显示控制器与 LCD/OLED 面板的核心桥梁。理解 DSI 协议是进行屏幕移植、时序配置和显示异常排查的前提。

1.2 DSI 协议分层架构

MIPI DSI 协议采用分层设计,从物理信号到应用数据共分为三层:物理层(Physical Layer)、协议层(Protocol Layer) 和 应用层(Application Layer)。各层职责清晰,便于驱动开发和调试。

DSI 协议分层架构图
MIPI DSI 协议分层架构 应用层(Application Layer) 像素数据打包 / 命令集解析 / 显示控制指令 协议层(Protocol Layer) 数据包封装 / 长包与短包 / CRC / ECC / 虚拟通道 物理层(Physical Layer) D-PHY / C-PHY 差分信号 / 时钟 Lane / 数据 Lane 数据流向:应用层 → 协议层 → 物理层 → 显示面板

1.2.1 应用层(Application Layer)

应用层是 DSI 协议栈的最上层,负责将显示控制器生成的像素数据(RGB/YUV)打包成 DSI 可识别的格式,并处理显示面板的控制指令。该层定义了两种主要操作模式:

  • 视频模式(Video Mode):实时传输像素流,适用于无帧缓冲的显示面板,需严格匹配时序。
  • 命令模式(Command Mode):通过帧缓冲发送显示数据,支持局部刷新和低功耗,常用于智能手表等小尺寸 OLED 屏。

1.2.2 协议层(Protocol Layer)

协议层负责数据包的封装与解析。DSI 数据包分为两种类型:

包类型 长度 用途 示例
短包(Short Packet) 4 字节 命令、状态查询、同步信号 DCS 写命令、TE 触发
长包(Long Packet) 可变(≤65541 字节) 像素数据、大块参数配置 RGB 像素流、初始化序列

协议层还负责 虚拟通道(Virtual Channel, VC) 管理,允许在同一个 DSI 链路上复用最多 4 个独立的显示数据流(VC0~VC3),适用于多屏或画中画场景。

1.2.3 物理层(Physical Layer)

物理层定义了 DSI 链路的电气特性、时钟同步和信号编码方式。MIPI 物理层标准包括 D-PHY 和 C-PHY 两种,二者在信号线数量、传输速率和编码方式上有显著差异。

1.3 D-PHY 与 C-PHY 的区别

D-PHY 和 C-PHY 是 MIPI 联盟定义的两套物理层标准,分别适用于不同带宽和引脚数需求的应用场景。下表从多个维度对比二者的核心差异:

对比维度 D-PHY C-PHY
信号线结构 差分对(Dp/Dn),每 Lane 2 根线 三线差分(A/B/C),每 Lane 3 根线
时钟传输 独立时钟 Lane(DDR 双边沿采样) 时钟嵌入数据线(无独立时钟 Lane)
每 Lane 峰值速率 最高 4.5 Gbps(D-PHY v2.0) 最高 6.0 Gbps(C-PHY v2.0)
编码方式 NRZ(不归零码),无额外编码开销 3b/6b 编码,每 3 位数据编码为 6 位三线符号
功耗 较低,适合电池供电设备 略高,但带宽密度更高
引脚数(4 Lane 配置) 4×2(数据)+ 1×2(时钟)= 10 根 4×3(数据,无时钟)= 12 根
典型应用 智能手机、平板、车载显示 高分辨率/高刷新率旗舰手机、VR/AR
D-PHY 与 C-PHY 物理层结构对比图
D-PHY 与 C-PHY 物理层结构对比 D-PHY 结构 时钟 Lane(CLK+ / CLK-) 数据 Lane 0(D0+ / D0-) 数据 Lane 1(D1+ / D1-) 数据 Lane 2(D2+ / D2-) C-PHY 结构 数据 Lane 0(A0 / B0 / C0) 数据 Lane 1(A1 / B1 / C1) 数据 Lane 2(A2 / B2 / C2) 时钟嵌入数据线,无独立时钟 D-PHY 每 Lane 2 线 + 独立时钟;C-PHY 每 Lane 3 线,时钟嵌入数据,带宽密度更高

1.3.1 D-PHY 详解

D-PHY 是目前最广泛使用的 MIPI 物理层标准,采用差分信号传输,每个数据 Lane 由一对差分线(Dp/Dn)组成,时钟 Lane 独立传输 DDR(Double Data Rate)时钟。D-PHY 支持两种工作模式:

  • 高速模式(HS, High Speed):用于传输像素数据和同步信号,电压摆幅约 200mV,速率可达 Gbps 级别。
  • 低功耗模式(LP, Low Power):用于传输控制命令和总线初始化,电压摆幅约 1.2V,速率较低但功耗极低。

1.3.2 C-PHY 详解

C-PHY 是 MIPI 联盟为应对更高带宽需求而推出的物理层标准。它采用三线差分编码(A/B/C 三根线),通过 3b/6b 编码将每 3 位数据映射为 6 位三线符号,从而在相同引脚数下获得更高的带宽密度。C-PHY 的主要特点包括:

  • 无独立时钟 Lane:时钟信息嵌入数据线,通过三线状态跳变恢复时钟,节省引脚。
  • 更高带宽:每 Lane 峰值速率可达 6.0 Gbps(C-PHY v2.0),适合 4K/8K 高分辨率显示。
  • 编码开销:3b/6b 编码带来约 50% 的编码开销,但整体带宽仍优于 D-PHY。
驱动开发注意: 在移植 DSI 屏幕时,必须确认 SoC 的 DSI 控制器和面板物理层类型(D-PHY 或 C-PHY)。两者在驱动初始化序列、时序参数配置和寄存器设置上完全不同,混用会导致屏幕无显示或花屏。

1.4 本章小结