3、接口协议详解:MIPI DSI物理层与协议层、eDP接口特性、LVDS与RGB接口对比

各位同学,今天我们来聊聊显示驱动里最绕不开的话题——接口协议。说实话,我刚入行那会儿,被MIPI、eDP、LVDS这些缩写搞得晕头转向。后来踩了不少坑,才慢慢摸清楚它们的脾气。今天我就把这些年积累的经验,掰开了揉碎了讲给你们听。

3.1 MIPI DSI:物理层与协议层

MIPI DSI,全称是Mobile Industry Processor Interface Display Serial Interface。说白了,它就是手机、平板这类移动设备上最主流的显示接口。我个人习惯把它拆成两层来看:物理层和协议层。

3.1.1 物理层(D-PHY)

物理层用的是D-PHY标准。它由时钟通道和数据通道组成。时钟通道是差分对,数据通道可以配成1条、2条、4条,甚至更多。每条数据通道也是差分对,用两根线传数据。

为什么要用差分对?抗干扰能力强啊。我在项目中遇到过,有一次板子走线没注意等长,结果屏幕闪得跟迪斯科似的。后来查出来,就是差分对长度差太多,信号歪了。

关键参数:

  • 每通道速率:最高可达2.5 Gbps(D-PHY v1.2)
  • 工作模式:高速模式(HS)和低功耗模式(LP)
  • 电压摆幅:HS模式约200mV,LP模式约1.2V

嗯,这里要注意:HS模式用来传大量图像数据,LP模式用来传命令。两种模式切换时,有专门的时序要求。我曾经见过一个方案,LP转HS的时序没调好,导致屏幕初始化失败,折腾了两天才找到原因。

3.1.2 协议层

协议层定义了数据怎么打包、怎么传输。MIPI DSI的协议层分三层:像素打包层、低级协议层、通道管理层。听起来复杂,其实核心就两个东西:包(Packet)和命令(Command)。

包有两种:长包和短包。长包用来传图像数据,短包用来传命令。每个包都有包头、数据(可选)、包尾。包头里包含了数据类型、虚拟通道号等信息。

// 一个典型的MIPI DSI写命令序列
// 先发短包:设置列地址
0x2A  // DCS命令:Set Column Address
0x00 0x00  // 起始列
0x03 0xFF  // 结束列

// 再发长包:写入像素数据
0x2C  // DCS命令:Write Memory Start
// 后面跟着大量像素数据...

为什么会这样设计?因为显示数据量大,但控制命令量小。用两种包分开处理,效率更高。我建议你们调试时,先用逻辑分析仪抓一下包,看看命令序列对不对。很多花屏问题,其实就是命令发错了。

避坑指南:我曾经遇到一个案子,屏幕在低温下初始化失败。查了三天,发现是MIPI DSI的LP模式时序在低温下漂移了。解决办法是调整驱动能力寄存器,把LP模式的驱动电流加大一档。

3.2 eDP接口特性

eDP,全称Embedded DisplayPort。它主要用在笔记本电脑、一体机这类产品上。跟MIPI DSI比,eDP有几个明显的优势。

第一,带宽高。eDP 1.4版本,单通道速率能到8.1 Gbps。四条通道加起来,带宽超过32 Gbps。4K、8K分辨率都不在话下。

第二,支持多流传输。一条eDP线可以同时传多路视频流。比如笔记本的内屏和外接显示器,可以用同一个接口。

第三,有辅助通道。eDP的AUX通道用来传控制命令和EDID数据。这个设计很聪明,把数据和命令分开了,互不干扰。

特性 eDP 1.3 eDP 1.4 eDP 1.4a
最大速率(每通道) 5.4 Gbps 8.1 Gbps 8.1 Gbps
支持分辨率 4K@60Hz 4K@120Hz 8K@60Hz
PSR(面板自刷新) 支持 支持 支持
多流传输 不支持 支持 支持

我个人觉得,eDP最大的亮点是PSR(Panel Self Refresh)。它允许屏幕在显示静态画面时,自己刷新自己,不用主控一直发数据。你想想看,这对省电有多大帮助。笔记本的续航,就是这么一点一点抠出来的。

注意:eDP的线缆长度有限制。一般建议不超过1米。超过这个长度,信号衰减会很严重。我在项目中试过用1.5米的线,结果屏幕出现噪点,怎么调都调不好。最后换成0.8米的线,问题就解决了。

3.3 LVDS与RGB接口对比

LVDS和RGB,这两个都是老接口了。但在一些工业屏、车载屏上,它们还在用。我简单对比一下。

3.3.1 RGB接口

RGB接口是并行接口。R、G、B各8位,加上行同步、场同步、时钟、数据使能,一共需要几十根线。优点是简单直接,主控直接把像素数据往总线上放就行。缺点是线太多,走线麻烦,抗干扰差。

我记得刚毕业那会儿,做一个小尺寸LCD驱动。用的就是RGB接口。板子画完后,发现RGB走线绕了一大圈,结果屏幕显示有条纹。后来把走线等长处理了一下,条纹才消失。

3.3.2 LVDS接口

LVDS是低压差分信号。它把RGB的并行数据串行化,用差分对传输。一般4对数据线加1对时钟线,总共10根线。比RGB接口少多了。

LVDS的优势很明显:

  • 线少,走线方便
  • 差分信号,抗干扰强
  • 可以传更远的距离

但LVDS也有缺点:它需要串行化芯片,成本高一点。而且LVDS的速率上限不高,一般到1920x1080@60Hz就差不多了。再高分辨率,就得用eDP或者MIPI了。

对比项 RGB接口 LVDS接口
信号类型 单端并行 差分串行
线数 20~30根 8~10根
抗干扰能力
传输距离 短(<10cm) 中(<1m)
典型应用 小尺寸LCD、低分辨率 工业屏、车载屏
成本

选哪个接口?我的建议是:

  • 如果你做手机、平板,用MIPI DSI
  • 如果你做笔记本、一体机,用eDP
  • 如果你做工业设备、车载设备,分辨率不高,用LVDS
  • 如果你做小尺寸、低成本的方案,用RGB

总结一下:接口协议这东西,没有绝对的好坏。关键看你的应用场景。我见过有人非要在手机上用LVDS,结果走线走不开,板子画了五版才搞定。也见过有人用MIPI DSI做工业屏,结果线太长信号不行。选对接口,比什么都重要。

好了,这一章就讲到这里。下一章我们聊聊屏幕校准,那也是个坑多的地方。到时候我给你们讲讲,怎么用色度计把屏幕调准,以及那些年我调过的奇葩屏幕。