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控制器的相关寄存器

相关推荐
M78佐菲1 小时前
ARM学习笔记(10)
linux·arm开发·笔记·嵌入式硬件·学习
小程序设计1 小时前
基于STM32的智慧厨房多参数安全监测与预警系统设计
stm32·嵌入式硬件·安全
dadaobusi2 小时前
学习:PCIe原子操作
学习
半仙白桑2 小时前
内核篇第十五讲:system-V共享内存
linux·共享内存·shmget·shmat·shmdt·shmctl
李游Leo2 小时前
HarmonyOS 7 + ArkUI + RelationalStore 学习笔记:本地数据分层存储与状态持久化架构实践【鸿蒙心迹】
笔记·学习·架构·harmonyos
一条破秋裤2 小时前
Linux 线程创建:pthread_create 与基本回收
java·linux·运维
我命由我123452 小时前
经纪人的职业定义
经验分享·笔记·学习·职场和发展·求职招聘·职场发展·学习方法
小诗懂技术2 小时前
【裸机lcd】framebuffer的配置与小型图像库的移植
arm开发·单片机·嵌入式硬件·裸机
摇滚侠3 小时前
《On Java 中文版 基础卷》阅读笔记 对象无处不在 03
java·笔记·python