嵌入式硬件第十弹——ARM(6)

8. LCD

8.1 LCD概念

LCD(Liquid Crystal Display,液晶显示屏)是嵌入式系统中最常用的显示设备之一,核心参数与硬件连接逻辑如下:

  • 分辨率 :指屏幕像素矩阵的行列数,常见规格包括 800480、1080 720、19201080(1K/720p/1080p)、25601440(2K)、4K 等,分辨率越高,画面细节越丰富。

  • 色彩格式:决定了屏幕能显示的颜色数量,主流格式分为两类:

  1. RGB888:R/G/B 各 8 位(0-255),共 24 位,可显示约 1670 万种颜色,色彩还原度高;
  2. RGB565:R5/G6/B5,共 16 位,可显示 65536 种颜色,占用带宽更低,适合低资源场景。
  • 硬件连接:以 i.MX6ULL 为例,处理器内部的 LCD 控制器通过以下信号与屏幕交互:
  1. 24 根 RGB 数据总线(R (8)、G (8)、B (8)),传输像素颜色数据;
  2. 4 根控制信号:PCLK(像素时钟)、HSYNC(行同步)、VSYNC(场同步)、DE(数据使能),用于同步数据传输;
  3. 背光控制信号:配合 PWM 模块调节屏幕背光亮度。

8.2 LCD 显示时序解析

LCD 的逐行扫描显示逻辑由行时序 与场时序共同控制,是驱动配置的核心依据:

  • 行时序(Horizontal):控制一行像素的传输周期,公式为:有效显示像素数(水平前肩)(行同步)(水平后肩)以 800*480 分辨率为例,一行总周期TH=800PCLK+HFP+HSYNC+HBP,其中 PCLK 为像素时钟,是驱动数据传输的基础节拍。
  • 场时序(Vertical):控制一整帧图像的传输周期,公式为:有效显示行数(垂直前肩)(场同步)(垂直后肩)以 800*480 分辨率为例,一帧总周期FH=480×TH+VFP+VSYNC+VBP。

8.3 LCD 驱动开发步骤

在嵌入式 Linux 中,LCD 驱动开发遵循以下流程:

  1. 引脚配置:将处理器的 LCD 接口引脚复用为 LCD 功能模式,配置电气属性(如上下拉、驱动能力);
  2. 时钟配置:配置 LCD 控制器的像素时钟 PCLK,以 800*480 分辨率为例,通常设置为 31MHz,需满足时序要求;
  3. ELCDIF 控制器配置:配置时序参数(HFP/HSYNC/HBP、VFP/VSYNC/VBP)、色彩格式、数据位宽等;
  4. 移植 GUI 库:如 Qt、LVGL 等,实现图形界面显示与交互。

9. PWM

9.1 PWM概念

PWM(Pulse Width Modulation,脉冲宽度调制)是一种通过调节方波信号占空比,实现等效电压 / 功率控制的技术,核心参数包括:

  • 占空比:高电平持续时间占一个信号周期的比例,直接决定等效输出电压;
  • 频率:方波信号的周期数,常见背光控制场景使用 1kHz 频率,避免人眼感知到闪烁。

9.2 PWM 控制背光的原理

LED 背光的亮度与供电功率直接相关,而通过电阻分压或线性调压的方式,会导致功耗高、效率低,且无法实现平滑亮度调节。PWM 通过快速开关 LED 供电信号,利用人眼的视觉暂留效应,让 LED 呈现不同亮度:

  • 高占空比:高电平时间长,LED 平均导通时间长,亮度高;
  • 低占空比:高电平时间短,LED 平均导通时间短,亮度低。

9.3 PWM 背光控制的实现逻辑

在嵌入式系统中,PWM 背光控制的实现分为硬件与软件两部分:

  • 硬件连接:处理器的 PWM 输出引脚连接 LCD 背光电路的控制端,通过调节 PWM 信号的占空比,控制背光电路的导通功率;

  • 软件配置:配置 PWM 控制器的周期、占空比,实现亮度调节:

  1. 配置 PWM 时钟源与分频系数,生成目标频率(如 1kHz);
  2. 配置占空比寄存器,根据用户需求或环境光传感器数据,动态调整占空比,实现亮度调节;
  3. 部分平台支持 PWM 的硬件调光模式,无需 CPU 干预,降低系统负载。
相关推荐
Good白10191 小时前
嵌入式:1.嵌入式入门|初识嵌入式、处理器、ARM与STM32
arm开发·stm32·嵌入式硬件
小李不想当小白1 小时前
HAL库之UART(STM32 HAL库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
Dev_XH2 小时前
【成品设计】基于物联网的旅游生态农业互动系统
stm32·单片机·嵌入式硬件·物联网·旅游
Industio_触觉智能15 小时前
RK3506 Buildroot系统目录地图-上|7个关键符号链接与构建产物全解析
嵌入式硬件·sdk·智能硬件·固件·瑞芯微·系统编译·rk3506
lzj_pxxw18 小时前
STM32移植FreeRTOS(Cmake+CubeMX)
vscode·stm32·嵌入式硬件
lisw0519 小时前
用于医疗的磁驱动柔性微机器人研究进展!
机器人·自动化·硬件工程
물の韜19 小时前
ZYNQ/FMQL系列Linux之I2C开发实战
linux·arm开发·嵌入式硬件·设备树·iic·zynq
Zw-awa20 小时前
屏幕不止一种:OLED、LCD1602字符屏、TFT/IPS图形屏和串口屏怎么用,这与TTY和PTY又有什么关系
stm32
无敌贵点大王1 天前
从寄存器层面重学STM32(7)——定时器
stm32·单片机·嵌入式硬件
碧海银沙音频科技研究院1 天前
粉色笔记本电脑每次要等把电池电耗尽才能开机问题解决方法
嵌入式硬件