MIPI DSI 显示接口:D-PHY、Lane、命令模式与视频模式
更新时间:2026-09-19。前置:SPI TFT ST7789 驱动、SerDes 与 8b/10b。SPI 屏适合小尺寸低分辨率,手机/平板级大屏走 MIPI DSI(Display Serial Interface),用差分高速串行 lane 传输。
本文要回答的问题
- DSI 有哪些 lane,D-PHY 的 LP/HS 两种模式怎么配合?
- 命令模式和视频模式差别,何时各用哪个?
- 像素数据怎么打成 packet,ECC/CRC 在哪?
- BTA、lane 数配置和上电初始化有哪些坑?
一、物理层 D-PHY
DSI 物理层通常是 D-PHY:
- 一个 CLK lane + 1~4 个 DATA lane,每条 lane 是一对差分线(Dp/Dn),单向(主→屏),data lane 可在 BTA 时临时反向。
- 两种工作电平/速率:
- HS(High Speed)差分低摆幅:~200mV,传输大块像素,速率每 lane 常见 80Mbps~2.5Gbps。
- LP(Low Power)单端正摆幅:用 Dp/Dn 两根线组合出 00/01/10/11 四态,传低速命令、状态和 lane 状态切换握手,抗噪且省功耗。
- lane 上电从 LP-11(停止态)开始,进 HS 前有固定的 LP 握手序列(SoT 起始),传完回 LP;这与 8b/10b 类恒流 SerDes 不同,D-PHY 是源同步、带显式 LP/HS 切换的非恒流接口。
二、命令模式 vs 视频模式
| 模式 | 数据来源 | 特点 |
|---|---|---|
| 视频模式 Video Mode | 主机持续实时送帧 | 用非突发同步脉冲/同步事件、突发(burst)三种时序,屏 GRAM 小或无、边收边刷,省屏端 RAM 但要求主机持续供流 |
| 命令模式 Command Mode | 屏内部 GRAM | 主机把帧写进屏 GRAM 后可停,屏自己刷新;省电、抗撕裂,类似 SPI 屏模型,需屏带 GRAM |
视频模式分:Non-Burst Sync Pulse(每帧带完整同步脉冲)、Non-Burst Sync Event(只用同步事件)、Burst(传完一行数据后 lane 进低功耗,最省 EMC/功耗)。命令模式还支持 TE(tearing effect)信号回传做双缓冲同步。
三、包结构与 ECC/CRC
DSI 数据打成短包/长包:
- 短包(4 字节):Data ID(虚拟通道+数据类型)+ 2 字节参数 + ECC。命令、读写寄存器多用短包。
- 长包:Data ID + Word Count(长度)+ ECC(包头)+ payload(像素/命令参数)+ 16 位 CRC(包尾)。
- 数据类型(DT) 区分内容:RGB565/RGB666/RGB888 打包/松散像素、命令(DCS long/short write/read)、VS/HS 同步包等。
- 多屏/复用用虚拟通道(VC,2 位)。
- ECC 纠正包头单 bit、检测双 bit;CRC 保护长包 payload。接收端检测错误可触发重传请求或报错(DSI 有错误上报包)。
四、BTA 与读操作
正常方向是主机→屏。需要读屏 ID/状态时主机发 BTA(Bus Turn Around):在 LP 模式下协商把某条 data lane 反向,屏把应答送出后再转回。BTA 慢、要严格按 LP 时序,多数系统初始化时读一次 ID/校准,运行中尽量只读(或不读)以避免反向切换开销。
五、典型初始化流程
上电: IOVCC/模拟电、复位(RESET#)时序、背光(常在最后开)
LP-11 停止态 → 初始化 lane(D-PHY 校准/ULPS 退出)
LP 发送初始化命令序列(DCS/厂家命令): 电源、伽马、MIPI 参数、像素格式
发命令设置 lane 数/速率(须与屏 GRAM/PHY 一致)
进入视频模式: 发 VS/HS 同步 + 连续像素流;或命令模式写 GRAM
开显示(DCS 0x29)、开背光很多屏在上电后还要先经一段厂家规定的延时和命令(与 ST7789 init 的命令序列同理,只是通道从 SPI 换成 DSI LP/HS)。控制器(如 MIPI DSI host IP)通常把命令 FIFO 和视频数据通路分开,视频用 DMA 连续喂(见 DMA 描述符环)。
六、常见的坑
- lane 数/速率两端不一致:主机配 4 lane、屏只支持 2,或速率超 PHY,直接花屏/无显。
- LP/HS 切换序列错:没有正确 SoT/EoT 握手或停在非 LP-11,PHY 起不来。
- 视频模式时序参数错:HSA/HBP/HFP/VSA 等 porch 配错,画面错位、抖动或不亮。
- 上电/复位/背光时序错:电源斜坡、复位宽度、先送命令后开背光的顺序不符屏规格。
- 像素格式不匹配:主机 RGB888、屏按 RGB565 解,颜色错乱/错位。
- 命令模式当视频模式:屏无 GRAM 却停止供流,画面冻结。
- BTA 时序不规范:读操作频繁或反向恢复不对,lane 卡死。
- ECC/CRC 错误未处理:高速误码时不重传/不报错,偶发花屏难定位(查 SI)。
- ULPS(超低功耗态)退出不完整:唤醒后 PHY 未重新校准。
- CLK lane 停/续策略错:非连续时钟配置与屏不支持,命令通道失效。
- D-PHY 走线/端接差:高速差分对不等长、阻抗不连续导致误码(见 片上信号完整性)。
- 初始化命令遗漏厂家专用序列:标准 DCS 之外的电源/伽马命令缺失,显示异常。
相关与延伸
小屏 SPI 模型与 DCS 命令基础见 ST7789 驱动;高速串行基础见 SerDes/8b10b;视频帧搬运见 显示控制器帧缓冲;校验见 CRC/LFSR。
总结
MIPI DSI 在一条 CLK lane 加 1~4 条差分 DATA lane 上用 D-PHY 的两种模式工作——低速单端正摆幅 LP 传命令/状态和 LP-11→HS 的 SoT/EoT 握手,高速低摆幅 HS 连续传像素;应用可走命令模式(写屏内 GRAM 后停、省电抗撕裂)或视频模式(主机按带 porch 的同步时序实时供流,分同步脉冲/事件/突发),数据用短包(带包头 ECC)和长包(包头 ECC+payload+CRC)按 RGB 数据类型打包,反向读屏要经 LP 下的 BTA 翻转 lane——lane 数/速率不一致、porch 时序错、上电复位背光顺序错和高速 SI 不良是四大花屏/不亮根因。