2. LCD接口类型概览:MCU接口(8080/6800)、RGB接口、SPI接口、LVDS接口、MIPI DSI接口
做LCD驱动这么多年,我最大的感受就是:选对接口,项目就成功了一半。不同接口就像不同的通信语言,各有各的脾气。今天咱们就把主流的几种LCD接口捋一遍,看看它们到底有什么区别,什么时候该用哪种。
核心观点:接口选型取决于三个因素——分辨率、帧率、硬件成本。低分辨率用SPI或MCU,中分辨率用RGB,高分辨率必须上LVDS或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接口的典型应用场景:
- 128×64的单色OLED屏
- 小尺寸TFT(1.44寸、1.8寸)
- 需要节省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) | 极高 | 极低 | 高 | 高 |
嗯,接口选型这块就聊到这儿。每种接口的时序细节,后面章节会逐个拆解。记住一句话:没有最好的接口,只有最合适的接口。