1. MIPI DSI 概述

MIPI DSI(Display Serial Interface)是移动设备与嵌入式系统中应用最广泛的显示串行接口标准。本章从 MIPI 联盟组织、DSI 协议分层结构、D-PHY 物理层特性以及 DSI 与 DPI/DBI 的差异四个维度展开,为后续驱动调试打下基础。

1.1 MIPI 联盟与 DSI 标准定位

MIPI(Mobile Industry Processor Interface)联盟成立于 2003 年,由 ARM、Intel、Nokia、ST、TI 等公司发起,旨在制定移动设备内部芯片间接口的开放标准。DSI 是 MIPI 联盟定义的显示串行接口规范,属于 MIPI 显示工作组(Display Working Group)的核心成果。

关键定位:DSI 是面向显示控制器与显示模组之间高速串行数据传输的协议层标准,物理层依赖 MIPI D-PHY 或 C-PHY。
MIPI 显示接口标准 类型 典型应用
DSI (Display Serial Interface) 串行协议 智能手机、平板、车载显示
DPI (Display Pixel Interface) 并行像素接口 RGB 直连显示、低端 MCU
DBI (Display Bus Interface) 并行总线接口 MCU 8080/6800 协议
CSI (Camera Serial Interface) 串行协议 摄像头图像传输
MIPI 联盟显示接口标准体系 MIPI 联盟 DSI 显示串行接口 DPI 像素接口 DBI 总线接口 D-PHY / C-PHY 并行 GPIO / RGB 并行总线 8080/6800 DSI 是当前移动与嵌入式显示的主流串行接口,DPI/DBI 多用于低分辨率或 MCU 场景 物理层 D-PHY 提供高速差分信号传输,C-PHY 为 3 线嵌入式时钟方案

1.2 DSI 协议分层

DSI 协议采用分层架构设计,从上到下依次为:应用层、协议层、传输层、物理层。每一层封装下层细节,向上层提供标准化服务。

分层 功能 关键单元
应用层 像素数据打包、命令封装 DCS 命令集、像素流格式
协议层 数据包类型定义、CRC/ECC 校验 短包、长包、EoTp
传输层 Lane 分配、字节到 Lane 的映射 Lane 分发器、合并器
物理层 高速差分信号、时钟恢复 D-PHY 高速/低功耗模式
DSI 协议分层架构 应用层 (Application Layer) DCS 命令 · 像素流格式 · 显示刷新控制 协议层 (Protocol Layer) 短包/长包 · CRC · ECC · EoTp 传输层 (Transport Layer) Lane 分发 · 字节映射 · 多 Lane 合并 物理层 (D-PHY / C-PHY) 高速差分信号 · LP 模式 · 时钟 Lane 驱动开发重点关注协议层(包结构)和物理层(时序配置), 传输层由 DSI 控制器硬件自动完成,应用层由显示框架管理

1.3 D-PHY 物理层

D-PHY 是 DSI 最常用的物理层实现,采用差分信号对(Data Lane 和 Clock Lane)进行高速传输。D-PHY 支持两种工作模式:高速模式(HS) 和 低功耗模式(LP)。

  • 高速模式(HS): 差分信号传输,电压摆幅约 200mV,速率可达 80 Mbps ~ 4.5 Gbps per Lane。
  • 低功耗模式(LP): 单端信号传输,电压 1.2V,速率约 10 Mbps,用于控制命令和总线空闲。
  • 时钟 Lane: 提供 DDR 时钟,数据 Lane 在时钟上升沿和下降沿各采样一次。
  • Lane 配置: 1 Clock Lane + 1~4 Data Lane,典型配置为 1C4D。
调试要点:D-PHY 的 HS 模式需要精确匹配阻抗(100Ω 差分阻抗),LP 模式对时序要求较宽松。驱动调试时,先确保 LP 模式通信正常,再切换到 HS 模式传输像素数据。
D-PHY 物理层连接拓扑 SoC DSI 主机 显示模组 Clock Lane (CLK+) CLK- (差分对) Data Lane 0 (D0+) D0- (差分对) Data Lane 1 (D1+) D1- (差分对) HS 模式:差分信号,200mV 摆幅,80Mbps~4.5Gbps per Lane LP 模式:单端信号,1.2V 摆幅,~10Mbps,用于命令和总线控制

1.4 DSI 与 DPI / DBI 的区别

DSI、DPI、DBI 是三种完全不同的显示接口,在信号线数量、传输方式、适用场景上有显著差异。理解这些差异有助于在驱动开发中正确选择接口模式和配置。

对比维度 DSI DPI (RGB) DBI (8080/6800)
信号线数量 2~10 根(差分对) 20~28 根(并行) 16~24 根(并行)
传输方式 串行差分 并行同步 并行异步
时钟 DDR 时钟 Lane 独立像素时钟 写使能/读使能
最大速率 ~4.5 Gbps/Lane ~150 MHz 像素时钟 ~50 MHz 总线时钟
分辨率支持 4K 及以上 1080p 以内 480p 以内
命令支持 内嵌 DCS 命令 无命令通道 并行命令/数据
典型应用 智能手机、平板 低端 RGB 屏 MCU 小屏、段码屏
常见误区:DSI 不是 DPI 的升级版,而是完全不同的协议栈。DPI 是纯像素流接口,没有命令通道;DBI 是并行总线接口,适合 MCU 直接控制。DSI 通过串行差分线同时传输命令和像素数据,且支持双向通信(BTA 模式)。
DSI vs DPI vs DBI 接口对比 DSI 串行差分 · 2~10 线 命令+像素混合传输 支持 BTA 双向通信 DPI (RGB) 并行同步 · 20~28 线 纯像素流,无命令通道 需要独立 VSYNC/HSYNC DBI (8080/6800) 并行异步 · 16~24 线 命令/数据分时复用 MCU 直接控制显示 RAM DSI 通过串行差分线实现高速传输,线数最少但协议最复杂 DPI 适合无命令需求的纯显示场景,DBI 适合 MCU 直接控制的小尺寸屏 适用场景 智能手机 · 平板 · 车载 高分辨率 > 720p 适用场景 低端 RGB 屏 · 工控显示 分辨率 ≤ 1080p 适用场景 MCU 小屏 · 段码屏 分辨率 ≤ 480p

1.5 本章小结

MIPI DSI 是当前嵌入式 Linux 显示驱动中最核心的串行接口标准。理解 DSI 在 MIPI 联盟中的定位、四层协议架构、D-PHY 物理层特性以及 DSI 与 DPI/DBI 的本质区别,是后续配置 DSI 控制器时序、调试背光调节、分析显示异常的基础。

驱动开发提示:在 Linux 内核中,DSI 驱动通常位于 drivers/gpu/drm/ 或 drivers/video/fbdev/ 目录下,通过 DSI 主机控制器驱动与面板驱动配合完成显示初始化与刷新。背光调节则通过 PWM 或 DCS 命令独立控制,与 DSI 像素传输并行工作。