2. LCD接口类型概览:MCU接口(8080/6800)、RGB接口、SPI接口、LVDS接口、MIPI DSI接口

做LCD驱动这么多年,我最大的感受就是:选对接口,项目就成功了一半。不同接口就像不同的通信语言,各有各的脾气。今天咱们就把主流的几种LCD接口捋一遍,看看它们到底有什么区别,什么时候该用哪种。

核心观点:接口选型取决于三个因素——分辨率、帧率、硬件成本。低分辨率用SPI或MCU,中分辨率用RGB,高分辨率必须上LVDS或MIPI DSI。

LCD 接口类型总览 LCD 接口 MCU 接口 8080 / 6800 模式 RGB 接口 并行数据 + 同步信号 SPI 接口 3线 / 4线模式 LVDS 接口 差分信号传输 MIPI DSI 接口 高速串行差分 选型建议 低分辨率 → SPI / MCU 中分辨率 → RGB 高分辨率 → LVDS / MIPI 移动设备 → MIPI DSI

2.1 MCU接口(8080 / 6800)

MCU接口是最早出现的LCD并行接口。说白了,就是把LCD当成一块SRAM来操作。你往哪个地址写数据,屏幕上对应的像素就亮起来。

8080模式和6800模式的区别在哪?我刚开始也搞混过。其实就一句话:时序控制信号不同。

特性 8080模式(Intel) 6800模式(Motorola)
控制信号 RD#、WR# 独立 E(使能)、R/W#
数据方向 由RD#/WR#决定 由R/W#决定
典型应用 STM32、NXP等ARM MCU 飞思卡尔、老式MCU
速度上限 约 10~15 MHz 约 8~12 MHz

我的经验:8080模式现在更常见。我做过一个项目,客户非要6800模式,结果驱动芯片选型就折腾了两周。除非有特殊要求,否则直接选8080模式,省心。

MCU接口的优点是控制简单,MCU直接操作寄存器就能刷屏。但缺点也很明显——占用IO多。8位数据线加控制信号,至少11个GPIO就没了。而且刷新率上不去,QVGA(320×240)以上就吃力了。

避坑指南:我曾经在一个项目里用MCU接口驱动480×320的屏,结果刷一帧要20ms,动画效果惨不忍睹。后来换成RGB接口才解决问题。记住:MCU接口只适合320×240以下的小屏。

2.2 RGB接口

RGB接口,也叫直接驱动接口。它跟MCU接口最大的区别是:不需要显存。数据直接通过并行总线送到LCD驱动IC,MCU只管往总线扔数据就行。

RGB接口的信号线包括:

  • 数据线:R[7:0]、G[7:0]、B[7:0](24位真彩色)或R[5:0]、G[5:0]、B[5:0](16位)
  • 同步信号:VSYNC(帧同步)、HSYNC(行同步)、DE(数据使能)
  • 时钟:PCLK(像素时钟)

为什么RGB接口能跑高分辨率?因为它把刷新工作交给了硬件。你想想看,MCU接口每刷一个像素都要CPU参与,而RGB接口只要配置好时序参数,DMA自动搬运数据就行。

关键参数:RGB接口的像素时钟PCLK = 分辨率宽度 × 高度 × 帧率 × 1.2(消隐区系数)。比如800×480@60fps,PCLK ≈ 800×480×60×1.2 ≈ 27.6 MHz。

我做过一个7寸屏的项目,800×480分辨率,用RGB接口配合STM32的LTDC外设,刷屏流畅得很。但要注意——RGB接口的走线要等长,不然数据会歪。这个坑我踩过,后面时序分析章节会细讲。

2.3 SPI接口

SPI接口,说白了就是串行通信。它用线少,但速度慢。适合小尺寸、低成本的场景。

SPI接口有两种模式:

  • 3线模式:SCLK、MOSI、CS(没有MISO,因为LCD不需要回传数据)
  • 4线模式:SCLK、MOSI、MISO、CS(带数据回读,用于读取状态寄存器)

SPI接口的典型应用场景:

  1. 128×64的单色OLED屏
  2. 小尺寸TFT(1.44寸、1.8寸)
  3. 需要节省IO的低成本方案

我的习惯:SPI接口我一般只用在2寸以下的屏。超过这个尺寸,刷新率就成瓶颈了。有一次客户非要SPI驱动2.4寸屏,结果刷一帧要200ms,最后只能妥协加外部SRAM做显存。

2.4 LVDS接口

LVDS(Low-Voltage Differential Signaling)是差分信号传输。它用一对差分线传数据,抗干扰能力强,能跑很高频率。

LVDS接口的特点:

  • 差分传输:一对线传一个信号,共模噪声被抵消
  • 低电压摆幅:约350mV,功耗低
  • 高速:单通道可达1Gbps以上
  • 线数少:4对差分线就能传24位RGB数据

LVDS接口常见于:

  • 10.1寸以上的工业屏
  • 车载显示屏
  • 医疗设备显示器

避坑指南:LVDS的PCB走线要求很严格。我曾经在一个项目中,LVDS线走了过孔,结果屏幕出现水波纹。后来改成同一层走线、等长、包地,问题才解决。差分对之间的间距要控制在5~10mil,阻抗100Ω±10%。

2.5 MIPI DSI接口

MIPI DSI(Display Serial Interface)是移动设备的主流接口。手机、平板、笔记本的屏幕,几乎全是MIPI DSI。

MIPI DSI也是差分串行接口,但它比LVDS更灵活:

  • 支持多通道:1~4 Lane,每个Lane一对差分线
  • 两种模式:高速模式(HS)传数据,低功耗模式(LP)传命令
  • 协议层:支持长包、短包、EoT等
  • 双向通信:可以通过BI(Bus Turnaround)读回数据

MIPI DSI的典型配置:

分辨率 推荐Lane数 每Lane速率 总带宽
480×854 1 Lane 500 Mbps 500 Mbps
720×1280 2 Lane 800 Mbps 1.6 Gbps
1080×1920 4 Lane 1 Gbps 4 Gbps
4K(3840×2160) 4 Lane 1.5 Gbps 6 Gbps

我的建议:如果你做消费电子或移动设备,直接学MIPI DSI。现在连工业屏都开始用MIPI了。但要注意,MIPI的PHY层设计比LVDS更复杂,需要专门的PHY芯片或MCU内置MIPI控制器。

2.6 接口对比总结

最后,我把这五种接口放在一起对比,方便你选型时参考:

接口类型 线数 最大分辨率 刷新率 功耗 抗干扰 典型成本
MCU(8080) 11~18 QVGA(320×240) 中 中 中 低
RGB 20~28 XGA(1024×768) 高 中 中 中
SPI 3~4 QCIF(176×144) 低 低 低 极低
LVDS 8~10 WUXGA(1920×1200) 高 低 高 中高
MIPI DSI 4~10 4K(3840×2160) 极高 极低 高 高

嗯,接口选型这块就聊到这儿。每种接口的时序细节,后面章节会逐个拆解。记住一句话:没有最好的接口,只有最合适的接口。