1. LCD简介
1.1 LCD屏幕
LCD由一个一个像素组成:每行有xres个像素,有yres行,它的分辨率是:xres * yres。

只要我们能控制任意一个像素的颜色,就可以在LCD上绘制文字、图片。
1.2 像素的颜色表示
用红绿蓝三颜色来表示,可以用24位数据来表示红绿蓝,也可以用16位等等格式,比如:
-
bpp:bits per pixel,每个像素用多少位来表示
-
24bpp:实际上会用到32位,其中8位未使用,其余24位中分别用8位表示红(R)、绿(G)、蓝(B)
-
16bpp:有rbg565,rgb555
-
rgb565:用5位表示红、6位表示绿、5位表示蓝
-
rgb555:16位数据中用5位表示红、5位表示绿、5位表示蓝,浪费一位
-

发送颜色过程:假设每个像素的颜色用16位来表示,那么一个LCD的所有像素点假设有xres * y res个, 需要的内存为:xres * yres * 16 / 8,也就是要设置所有像素的颜色,需要这么大小的内存。 这块内存就被称为framebuffer:
-
Framebuffer中每块数据对应一个像素
-
每块数据的大小可能是16位、32位,这跟LCD上像素的颜色格式有关
-
设置好LCD硬件后,只需要把颜色数据写入Framebuffer即可

1.3 从驱动角度理解LCD
驱动工程师对LCD的理解要深入硬件,比如要回答这几个问题:
-
Framebuffer在哪里?
-
谁把Framebuffer中的数据发给LCD?
统一的LCD硬件模型:

有一个MIPI标准:
MIPI表示Mobile Industry Processor Interface,即移动产业处理器接口。是MIPI联盟发起的为移动应用处理器制定的开放标准和一个规范。主要是手机内部的接口(摄像头、显示屏接口、射频/基带接口)等标准化,从而减少手机内部接口的复杂程度及增加设计的灵活性。
对于LCD,MIPI接口可以分为3类:
-
MIPI-DBI (Display Bus Interface):
- 这种接口是一种并行接口,能够同时发送数据和命令。
- 它通常用于传统的LCD显示技术,与8080、6800等并行接口类似。
- DBI接口支持多种数据宽度,包括8位、9位、16位、18位和24位,以适应不同的颜色深度和显示需求。
-
MIPI-DPI (Di

5866

被折叠的 条评论
为什么被折叠?



