前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LCD 硬件操作原理

LCD 硬件操作原理

作者头像
Jasonangel
发布2024-01-15 12:14:08
1940
发布2024-01-15 12:14:08
举报
文章被收录于专栏:嵌入式Linux系统开发

本文参考百问网-韦东山驱动大全

现在的手机有 LCD 和 OLED 两种屏幕,本文探讨 LCD 屏幕。

LCD 和 OLED 有什么区别?参考

代码语言:javascript
复制
https://www.zhihu.com/question/22263252/answer/410201820

不同接口的 LCD 硬件操作原理

1. 应用工程师眼里看到的 LCD

LCD 由一个一个像素组成:每行有 xres 个像素,有 yres 行,它的分辨率是:xres * yres。

只要我们能控制任意一个像素的颜色,就可以在 LCD 上绘制文字、图片。

1.1 像素的颜色怎么表示

用红绿蓝三颜色来表示,可以用 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 位表示蓝,浪费一位
1.2 怎么把颜色发给 LCD

假设每个像素的颜色用 16 位来表示,那么一个 LCD 的所有像素点假设有 xres * yres个,需要的内存为:xres * yres * 16 / 8,也就是要设置所有像素的颜色,需要这么大小的内存。这块内存就被称为 framebuffer:

  • Framebuffer 中每块数据对应一个像素
  • 每块数据的大小可能是 16 位、3 2位,这跟 LCD 上像素的颜色格式有关
  • 设置好 LCD 硬件后,只需要把颜色数据写入 Framebuffer 即可

2. 驱动工程师眼里看到的 LCD

2.1 统一的 LCD 硬件模型
2.2 MCU 常用的 8080 接口 LCD 模组

单片机性能较弱,外接一个统一的模组。模组包括了 Framebuffer、LCD 控制器、LCD 屏幕。

单片机和模组间的接口有 CS 片选信号、RD 读、WR 写、data bus、cmd/data 标记线。标记线用来区分 data bus 上传输的是 data 还是 cmd。

这种做法的限制是屏幕像素不能太大,因为模组的 Framebuffer 是 SRAM,很贵,做不了太大。

2.3 MPU 常用的 TFT RGB 接口

嵌入式 Linux 则使用 TFT RGB 接口,内存和 LCD 控制器集成在 Soc 里面,外部接一个 LCD 屏幕。

信号线有 DCLK、RGB 数据线、HSYNC、VSYNC、DE

代码语言:javascript
复制
1、横向移动像素点:DCLK
2、从最右移动到下一行最左:HSYNC
3、从右下角移动到左上角:VSYNC
4、RGB 是数据线
5、DE:data enable
2.4 MIPI 标准

MIPI 表示Mobile Industry Processor Interface,即移动产业处理器接口。是 MIPI 联盟发起的为移动应用处理器制定的开放标准和一个规范。主要是手机内部的接口(摄像头、显示屏接口、射频/基带接口)等标准化,从而减少手机内部接口的复杂程度及增加设计的灵活性。

对于 LCD,MIPI 接口可以分为 3 类:

  • MIPI-DBI (Display Bus Interface)
    • 既然是 Bus(总线),就是既能发送数据,也能发送命令,常用的 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)
    • Pixel(像素),强调的是操作单个像素,在 MPU 上的 LCD 控制器就是这种接口
    • 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)
    • Serial,相比于 DBI、DPI 需要使用很多接口线,DSI 需要的接口线大为减少
    • Supports one data lane/maximum speed 500Mbps
    • Supports DSI version 1.01
    • Supports D-PHY version 1.00
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-01-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式Linux系统开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 不同接口的 LCD 硬件操作原理
    • 1. 应用工程师眼里看到的 LCD
      • 1.1 像素的颜色怎么表示
      • 1.2 怎么把颜色发给 LCD
    • 2. 驱动工程师眼里看到的 LCD
      • 2.1 统一的 LCD 硬件模型
      • 2.2 MCU 常用的 8080 接口 LCD 模组
      • 2.3 MPU 常用的 TFT RGB 接口
      • 2.4 MIPI 标准
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档