1. LCD 与 OLED 技术原理对比:发光机制、像素结构、驱动方式差异
做显示驱动这些年,我接触过从单色 STN 到 4K OLED 的各种面板。说实话,LCD 和 OLED 虽然都是显示,但底层逻辑完全不同。今天咱们就把这两兄弟拆开看看,到底差在哪。
1.1 发光机制:一个靠背光,一个自发光
这是最根本的区别。LCD 自己不发光,它就是个光阀。OLED 每个像素自己就是个小灯泡。
核心差异一句话:LCD 需要背光模组照亮液晶层,OLED 每个像素独立发光。
LCD 的发光路径
背光 LED → 导光板 → 下偏光片 → TFT 阵列 → 液晶层 → 彩色滤光片 → 上偏光片 → 你的眼睛。
光在路上要穿过七八层材料,每层都会损失一部分。我记得刚入行时算过,背光利用率通常不到 5%。也就是说,你看到 100 尼特的亮度,背光其实已经开到 2000 尼特以上了。
OLED 的发光路径
阳极 → 空穴传输层 → 发光层 → 电子传输层 → 阴极 → 你的眼睛。
路径短得多。有机材料在电场作用下直接发光,不需要偏光片、液晶、彩色滤光片这些中间商。效率自然高。
| 对比项 | LCD | OLED |
|---|---|---|
| 光源类型 | 背光 LED(被动发光) | 有机材料(主动发光) |
| 光路层数 | 7-9 层 | 4-5 层 |
| 黑色表现 | 漏光,黑不彻底 | 像素关闭,纯黑 |
| 对比度 | 1000:1 ~ 5000:1 | 100000:1 以上 |
| 功耗(亮画面) | 基本恒定 | 随亮度变化 |
| 功耗(暗画面) | 不变 | 极低 |
避坑指南:我曾经在调试一款 OLED 手表时,发现息屏显示功耗比预期高 3 倍。查了半天,原来是驱动 IC 没进入低功耗模式,像素虽然关了但扫描还在跑。嗯,驱动层面的坑往往比面板本身多。
1.2 像素结构:LCD 三层夹心 vs OLED 单层薄膜
你想想看,LCD 的像素结构像不像一个三明治?上下两层玻璃夹着液晶,中间还有 TFT、彩色滤光片、配向膜……层数多了,厚度和重量自然下不来。
OLED 就简单多了。玻璃基板上直接蒸镀有机发光层,上面再盖一层封装薄膜。整个结构可以做到 0.5mm 以下。这也是为什么折叠屏只能用 OLED——LCD 那玻璃夹心结构根本折不了。
LCD 像素结构(以 IPS 为例)
- 上基板:彩色滤光片 + 黑色矩阵 + 公共电极
- 中间层:液晶分子(水平排列)+ 配向膜
- 下基板:TFT 阵列 + 像素电极 + 存储电容
- 外围:上下偏光片(正交方向)
OLED 像素结构(以顶发射为例)
- 基板:TFT 背板(LTPS 或 IGZO)
- 阳极:反射电极(Ag 或 Al)
- 有机层:空穴注入/传输层 → 发光层(R/G/B)→ 电子注入/传输层
- 阴极:半透明电极(Mg:Ag 合金)
- 封装:薄膜封装(TFE)或玻璃盖板
注意:OLED 的有机层对水氧极其敏感。我曾经见过一批面板在产线上放了一周,边缘就出现了黑斑——封装没做好,水汽从边角渗进去了。所以 OLED 的封装工艺比 LCD 严格得多。
1.3 驱动方式:电压驱动 vs 电流驱动
这是驱动工程师最需要关注的部分。LCD 和 OLED 的驱动方式完全不同,直接决定了驱动 IC 的设计思路。
LCD 驱动:电压控制,交流驱动
LCD 靠电压控制液晶分子的扭转角度。电压越高,扭转越大,透光率就越高。但液晶有个毛病——长时间加直流电压会极化,导致残影。所以必须用交流驱动,每隔一段时间反转极性。
我习惯把 LCD 驱动总结为三步:
- 给像素电容充电到目标电压
- 保持电压直到下一帧(靠存储电容)
- 每帧反转极性(防止液晶极化)
// LCD 驱动时序示意(伪代码)
void lcd_drive_frame() {
for (int row = 0; row < ROWS; row++) {
gate_on(row); // 打开该行 TFT
for (int col = 0; col < COLS; col++) {
set_source(col, v_com + v_data); // 写入电压
}
gate_off(row); // 关闭 TFT,保持电压
}
v_com = -v_com; // 反转公共电极极性
}
OLED 驱动:电流控制,直流驱动
OLED 是电流型器件。亮度与电流成正比,不是电压。所以驱动电路需要把输入电压转换成精确的电流。
这里有个经典问题:OLED 像素的 TFT 阈值电压会漂移。用久了,同样栅极电压下电流会变小,亮度就降了。这就是 OLED 烧屏的根本原因。
解决方案?加补偿电路。我参与过一个项目,用了内部补偿 + 外部检测的双重方案:
- 内部补偿:像素内集成检测 TFT,实时感知阈值电压
- 外部补偿:驱动 IC 检测流过 OLED 的电流,动态调整数据电压
// OLED 像素补偿驱动示意(伪代码)
void oled_drive_pixel(int row, int col, int brightness) {
int vth = sense_vth(row, col); // 检测阈值漂移
int vdata = lookup_vdata(brightness); // 查表得到基础电压
int vcomp = vdata + vth; // 补偿后的电压
gate_on(row);
set_source(col, vcomp);
gate_off(row);
}
个人经验:做 LCD 驱动时,我最头疼的是极性反转引起的闪烁。做 OLED 驱动时,最头疼的是亮度均匀性。两种面板的调试重点完全不同。如果你从 LCD 转 OLED,建议先把电流镜和补偿算法吃透。
1.4 知识体系总览
下面这张图把 LCD 和 OLED 的核心差异梳理了一遍。我建议你把它存下来,后面每章都会用到这些基础概念。
1.5 驱动工程师的视角差异
从驱动 IC 设计的角度看,LCD 和 OLED 有几个关键不同点:
| 设计维度 | LCD 驱动 IC | OLED 驱动 IC |
|---|---|---|
| 输出类型 | 电压输出(0~Vmax) | 电流输出或电压转电流 |
| 精度要求 | ±10mV 以内 | ±1% 电流匹配 |
| 补偿需求 | 无(或简单伽马校正) | 必须(Vth 补偿 + IR Drop 补偿) |
| 刷新率 | 60Hz 足够 | 需要 120Hz 以上(PWM 调光) |
| 功耗优化 | 降低背光功耗 | 降低像素驱动功耗 |
| 老化处理 | 背光 LED 老化(整体均匀) | 像素老化(不均匀,需补偿) |
实战提醒:我见过不少从 LCD 转 OLED 的团队,第一个坑就是拿 LCD 的电压驱动思路去调 OLED。结果画面亮度不均匀得一塌糊涂。记住,OLED 是电流器件,驱动 IC 的核心指标是电流匹配精度,不是电压精度。
好了,这一章把 LCD 和 OLED 的底层差异讲清楚了。发光机制决定了系统架构,像素结构决定了工艺难度,驱动方式决定了 IC 设计思路。后面我们会一步步深入,看看这些差异在实际项目中怎么处理。