rk3288 单片机和Linux不同接口的LCD硬件操作原理

应用中需要的LCD知识

LCD是由一个一个的像素点组成的,每行有x个像素点,每列有y个像素点,分辨率是x*y。
只要控制了任意一个像素的颜色,就可以在LCD上绘制文字、图片。
lcd

1. 像素的颜色怎么表示

用红绿蓝(RGB)三个颜色来表示,可以用24位数据来表示红绿蓝,也可以用16位等等格式,比如:

  • 24bpp1:实际上会用到32位,其中8位未使用,其余24位中分别用8位表示红(R)、绿(G)、蓝(B)
  • 16bpp:有rgb565、rgb555
    • rgb565:用5位表示红,6位表示绿,5位表示蓝
    • rgb555:用5位表示红,5位表示绿,5位表示蓝,空1位

在这里插入图片描述

2.怎么把颜色发给LCD

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

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

在这里插入图片描述

驱动中需要的LCD知识

驱动工程师对LCD的理解要深入硬件,需要回答下面几个问题:

  • Framebuffer在哪里?
  • 谁把Framebuffer中的数据发给LCD?

1.统一的LCD硬件模型

对于单片机使用的屏幕,屏幕自带LCD控制器,单片机使用内存接口控制LCD。
对于Linux的芯片,它自己就有内存,所以直接通过LCD控制器控制屏幕。
硬件模型

  • MCU常用8080接口来连接LCD模组
  • MPU常用TFT RGB接口来连接LCD

2. MIPI标准

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

  • MIPI-DBI(Display Bus Interface)
    • 既然被称作Bus(总线),就是不仅发送数据,还能发送命令,常用的8080接口就属于DBI
    • Type B(i-80 system),8- / 9- / 16- / 18- / 24- bit bus
    • Type C(Serail 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

在这里插入图片描述

参考资料

  • MIPI-DSI、MIPI-CSI、LVDS等接口解析:https://blog.csdn.net/u014470361/article/details/88891255
  • ILI9488驱动芯片数据手册.pdf

  1. bpp: bit per pixel,每个像素用多少位来表示 ↩︎


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部