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) | 串行协议 | 摄像头图像传输 |
1.2 DSI 协议分层
DSI 协议采用分层架构设计,从上到下依次为:应用层、协议层、传输层、物理层。每一层封装下层细节,向上层提供标准化服务。
| 分层 | 功能 | 关键单元 |
|---|---|---|
| 应用层 | 像素数据打包、命令封装 | DCS 命令集、像素流格式 |
| 协议层 | 数据包类型定义、CRC/ECC 校验 | 短包、长包、EoTp |
| 传输层 | Lane 分配、字节到 Lane 的映射 | Lane 分发器、合并器 |
| 物理层 | 高速差分信号、时钟恢复 | D-PHY 高速/低功耗模式 |
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 模式传输像素数据。
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 模式)。
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 像素传输并行工作。