ARM学习笔记(11)

LCD驱动核心基础

这段时间梳理LCD驱动的入门知识点,把核心内容整理出来。

屏幕参数基础

屏幕分辨率是横向像素点个数 × 纵向像素点个数,常见规格有800×480、1920×1080(1080P)、2560×1440(2K)。

屏幕尺寸以英寸为单位,指的是屏幕左上角到右下角的对角线长度,1英寸等于2.54厘米。显示效果遵循两个规律:分辨率相同时,屏幕尺寸越小显示越细腻;尺寸相同时,分辨率越高显示效果越好。

像素颜色格式

像素颜色由RGB三通道构成,每个通道取值范围0~255,不同格式的存储占用不同:

  • RGB888:每个像素占3字节,8bit面板,支持1670万色

  • RGB565:每个像素占2字节,R、G、B分别占5位、6位、5位

  • ARGB:每个像素占4字节,包含透明通道

  • RGB101010:10bit面板,支持10亿色,成本更高,多用于专业视频剪辑

显存与像素读写

显存是专门存放图像数据的内存空间,这里用到的显存起始地址为0x89000000。

以800×480分辨率、ARGB格式计算,一帧画面需要的显存容量约为 800 × 480 × 4 = 1.5MB。

想要在指定坐标(x,y)绘制颜色,直接通过指针操作显存地址即可:

unsigned int *p = 0x89000000;

*(p + 800 * y + x) = col;

本质上和二维数组是对应的,相当于 unsigned int a480800 ,a00就对应屏幕左上角的第一个像素。

接口信号线

LCD接口一共有四根核心信号线:PCLK、HSYNC、VSYNC、DE。

每根线的分工很明确:

  • PCLK(Pixel Clock):像素时钟信号线,用来同步每个像素点发送的时间间隔

  • HSYNC(Horizontal Sync):行同步时钟信号线,同步每一行像素的发送时间间隔

  • VSYNC(Vertical Sync):帧同步时钟信号线,同步每一整帧图像的发送时间间隔

  • DE(Data Enable):数据使能信号线

屏幕刷新率就是每秒能够刷新的图像帧数,常用的规格是60Hz。

驱动配置流程

LCD驱动的配置主要分三步完成:

  1. 配置引脚的复用功能,同时设置引脚的电气属性

  2. 配置LCD时钟,当前屏幕的时钟参数为31MHz

  3. 配置LCD控制器的相关寄存器

相关推荐
djjjx.5 分钟前
Linux进程篇(四):内核托底与生死交错 ,深度硬核剖析“僵尸”与“孤儿”进程
linux·运维·服务器
为思念酝酿的痛15 分钟前
Reactor反应堆模式
linux·服务器·网络
沫璃染墨16 分钟前
从零入门计算机网络系列(六):TCP套接字编程实战——从listen监听到客户端与服务器通信
linux·服务器·c++·tcp/ip·计算机网络·tcp
笨笨饿20 分钟前
#142_VS Code.map文件插件的用法
git·python·stm32·单片机·嵌入式硬件·物联网·vim
三佛科技-1873661339722 分钟前
HN62512是什么芯片?HN62512多规格5V/12V500mA,24V350mA芯片解析
单片机·嵌入式硬件
2401_8724187826 分钟前
把 Ubuntu 服务器变成 AI Agent 终端:用自然语言或语音管理 Linux,任何命令都先审批(附完整 Python 源码)
linux·服务器·ubuntu·agent
早八晚十啊44 分钟前
双MCU架构:基于视觉反馈的简易自行瞄准装置(激光云台控制)
单片机·嵌入式硬件
coderSong25681 小时前
【Ubuntu】ctrl+shift+f 繁体中文切换、VScode全集搜索
linux·vscode·ubuntu
AR-26710-1 小时前
Linux Day22——复习第三部分
linux·运维
迪康coolmu1 小时前
基于迪康端点安全一体化管理系统的公用终端上机与信创补丁实战
linux·运维·服务器·网络·安全·电脑