1. 背光系统概述
1.1 背光在显示系统中的作用
在绝大多数非自发光显示技术中,背光系统是决定可视性与画质的关键组件。背光模块(Backlight Unit, BLU)为液晶显示器(LCD)提供均匀的面光源,使液晶层能够通过电压控制像素的透光率,从而呈现图像。没有背光,LCD 屏幕将完全不可见。
背光系统在显示链路中承担以下核心职责:
- 亮度供给:提供足够的光通量,使屏幕在环境光下可读。
- 均匀性控制:通过导光板或直下式布局,消除亮斑与暗区。
- 色域支撑:背光光谱(如白光 LED、RGB LED、Mini-LED)直接影响显示色域覆盖。
- 功耗管理:背光通常占整机功耗的 30%~60%,是电源管理的重点。
- 动态对比度:通过局部调光(Local Dimming)实现高动态范围(HDR)效果。
嵌入式视角:在 Linux 驱动中,背光控制通常由 PWM 定时器或专用背光 IC 驱动实现,属于
backlight 子系统,与 pwm 和 regulator 框架紧密耦合。
1.2 LCD 与 OLED 背光差异
LCD 与 OLED 在发光原理上存在根本差异,这直接决定了背光系统的设计思路与驱动方式。下表从关键维度进行对比:
| 对比维度 | LCD(液晶显示器) | OLED(有机发光二极管) |
|---|---|---|
| 发光方式 | 需要独立背光源(LED/CCFL) | 每个像素自发光,无需背光 |
| 黑色表现 | 背光常亮,黑色有漏光(对比度约 1000:1~5000:1) | 像素可完全关闭,黑色为纯黑(对比度 ∞) |
| 调光方式 | PWM 调光为主,可配合 DC 调光 | PWM 调光或 DC 调光,低频 PWM 易引起视觉疲劳 |
| 功耗特性 | 背光功耗基本恒定,与显示内容无关 | 功耗随显示内容动态变化(亮色区域越多越耗电) |
| 响应时间 | 毫秒级(液晶翻转速度限制) | 微秒级,适合高刷新率 |
| 驱动复杂度 | 背光驱动 + 液晶驱动(两层控制) | 像素级电流/电压驱动(单层控制) |
| 典型应用 | 笔记本、显示器、电视、车载屏 | 手机、高端电视、可穿戴设备 |
驱动开发注意:OLED 虽然不需要传统背光模块,但在嵌入式 Linux 中,其亮度调节仍通过
backlight 类驱动抽象,底层操作的是 OLED 面板的亮度寄存器或 PWM 输入,而非 LED 背光电流。
1.3 PWM 调光基本原理
PWM(Pulse Width Modulation,脉冲宽度调制)是当前最主流的背光亮度调节方式。其核心思想是:通过固定频率的方波信号,改变高电平占空比(Duty Cycle),从而控制 LED 的平均电流,实现亮度调节。
PWM 调光的关键参数包括:
- 频率(Frequency, f):PWM 信号的周期 T = 1/f。人眼对低频闪烁敏感,通常要求 f ≥ 1 kHz(理想 ≥ 20 kHz 以避免可闻噪声)。
- 占空比(Duty Cycle, D):高电平时间占整个周期的比例,范围 0%~100%。占空比越高,平均电流越大,背光越亮。
- 分辨率(Resolution):占空比的调节步数,通常由 PWM 定时器的计数器位宽决定(如 8-bit → 256 级,16-bit → 65536 级)。
下图展示了 PWM 信号在不同占空比下的波形对比:
PWM 调光的物理过程可概括为:
- 定时器生成方波:嵌入式 SoC 的 PWM 定时器输出固定频率的方波信号。
- 驱动 LED 电流:方波高电平期间,LED 驱动 IC 导通,LED 点亮;低电平期间关断。
- 人眼视觉暂留:当 PWM 频率足够高(通常 > 60 Hz),人眼无法感知闪烁,感受到的是平均亮度。
- 亮度与占空比线性关系:平均亮度 L = L_max × D,其中 D 为占空比(0~1)。
关键公式:平均电流 I_avg = I_peak × D,其中 I_peak 为 LED 额定峰值电流。实际亮度与占空比近似线性,但需考虑 LED 的非线性光效。
下图展示了 PWM 调光在嵌入式系统中的典型硬件链路:
1.4 调光方式对比:PWM vs DC
除 PWM 调光外,DC(直流)调光也是一种常见方案。下表对比两种调光方式在嵌入式驱动开发中的关键差异:
| 对比项 | PWM 调光 | DC 调光 |
|---|---|---|
| 控制原理 | 固定电流峰值,改变导通时间比例 | 直接改变 LED 驱动电流大小 |
| 亮度线性度 | 占空比与亮度近似线性 | 电流与亮度非线性(需 Gamma 校正) |
| 色温偏移 | 占空比变化不影响 LED 色温 | 电流降低时 LED 色温会偏移(偏黄) |
| 闪烁风险 | 低频时人眼可感知闪烁 | 无闪烁,对视觉更友好 |
| 驱动 IC 成本 | 较低,通用 PWM 接口 | 较高,需线性恒流控制 |
| 嵌入式实现 | PWM 定时器 + GPIO | DAC + 运放 或 I²C 控制寄存器 |
| 典型场景 | 笔记本、显示器、车载屏 | 高端手机、OLED 面板 |
驱动开发建议:在 Linux backlight 驱动中,优先使用 PWM 调光方式,因为
pwm_bl 驱动框架成熟、接口统一。若硬件支持 DC 调光,可通过 regulator 或自定义 backlight_ops 实现,但需注意亮度曲线的非线性补偿。