LCD 硬件操作原理
本文参考自百问网-韦东山驱动大全,旨在探讨当前手机中常见的lcd屏幕。

LCD与OLED的区别
关于LCD和OLED的区别,可以参考以下链接:
https://www.zhihu.com/question/22263252/answer/410201820
不同接口的LCD硬件操作原理
应用工程师眼中的LCD
LCD由一个个像素组成,每行有xres个像素,共有yres行,其分辨率为xres * yres。

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

颜色数据的传输
假设每个像素的颜色用16位来表示,那么一个LCD的所有像素点需要的内存为:xres yres 16 / 8。这块内存称为framebuffer:
- Framebuffer中每块数据对应一个像素。
- 每块数据的大小可能是16位、32位,这取决于LCD上像素的颜色格式。
- 设置好LCD硬件后,只需将颜色数据写入Framebuffer即可。

驱动工程师眼中的LCD
统一的LCD硬件模型

MCU常用的8080接口LCD模组
单片机性能较弱,通常外接一个统一的模组。模组包括Framebuffer、LCD控制器和LCD屏幕。
单片机和模组间的接口包括CS片选信号、RD读、WR写、data bus、cmd/data标记线。标记线用于区分data bus上传输的是数据还是命令。

这种方法的限制是屏幕像素不能太大,因为模组的Framebuffer是SRAM,成本较高,不适合做太大。
MPU常用的TFT RGB接口
嵌入式Linux通常使用TFT RGB接口,内存和LCD控制器集成在SoC内,外部连接一个LCD屏幕。
信号线包括DCLK、RGB数据线、HSYNC、VSYNC、DE:
1、横向移动像素点:DCLK 2、从最右移动到下一行最左:HSYNC 3、从右下角移动到左上角:VSYNC 4、RGB 是数据线 5、DE:data enable

MIPI标准
MIPI表示Mobile Industry Processor Interface,即移动产业处理器接口,是由MIPI联盟发起,为移动应用处理器制定的开放标准和规范。主要用于手机内部接口的标准化,以减少接口复杂性并增加设计的灵活性。
对于LCD,MIPI接口可以分为三类:
-
MIPI-DBI (Display Bus Interface):总线接口,既能发送数据,也能发送命令,常用的8080接口属于DBI接口。
- Type B (i-80 system), 8-/9-/16-/18-/24-bit bus
- Type C (Serial data transfer interface, 3/4-line SPI)
-
MIPI-DPI (Display Pixel Interface):像素接口,强调操作单个像素。
- Supports 24 bit/pixel (R: 8-bit, G: 8-bit, B: 8-bit)
- Supports 18 bit/pixel (R: 6-bit, G: 6-bit, B: 6-bit)
- Supports 16 bit/pixel (R: 5-bit, G: 6-bit, B: 5-bit)
-
MIPI-DSI (Display Serial Interface):串行接口,相较于DBI和DPI,DSI需要的接口线大为减少。
- Supports one data lane/maximum speed 500Mbps
- Supports DSI version 1.01
- Supports D-PHY version 1.00

<< 上一篇
下一篇 >>
网友留言(0 条)