LCD相关一些硬件概念

一般display cpu端都会有Video Output Processor (VOP)和Display Serial Interface (DSI)两部分。
VOP:
以某一平台为例,VOP feature如下:
• Parallel RGB LCD Interface: 24-bit/18-bit/15-bit
• eDPI interface for MIPI_DSI
• Interlace output (480i/576i/1080i)
• Max output resolution: 1920x1080
• Background layer: programmable 24-bit color
• Win0 layer:
– RGB888, ARGB888, RGB565, YCbCr422, YCbCr420, YCbCr444
– 1/8 to 8 scaling-down and scaling-up engine
– Support interlace de-flicker
– Support virtual display
• Win1 layer:
– RGB888, ARGB888, RGB565
– Support virtual display
• Hardware cursor:
– 8bpp color palette
– Support two size: 32x32 and 64x64
• Win0 layer and Win1 layer overlay exchangeable
• Color space conversion(YCbCr2RGB/RGB2YCbCr)
• Transparency color key for win0 and win1
• Alpha blending
– Normal alpha
– Pre-multiplied alpha
– Global alpha, per-pixel alpha
• Brightness, contrast, saturation, hue adjustment
• 3x 256 x 8 bits Gamma LUTs
• 24-bit to 16-bit/18-bit dithering operation
• Output signal polarity configurable
• Blank output, black display output
• Standby mode
• DMA stop operation
• Support MMU
• Support bus QoS and hurry operation
• Level trigger interrupt with 7 interrupt sources

VOP主要是处理framebuffer中的数据,surfaceflinger的hwcomposer功能,硬件上的实现就是VOP。
VOP Block Diagram如下:
LCD相关一些硬件概念_第1张图片
VOP中可以实现overlay功能,此平台中有描述Only one overlay is enabled in the HWC, i.e., HWC can compose one
RGB plane + one YUV plane without scaling/rotation.
如下图:
LCD相关一些硬件概念_第2张图片

  1. 此HWC支持一个overlay plane和一个RGB plane(背景)。
  2. overlay plane可以是YUV格式。

DSI:
DSI是display cpu端的接口部分,它主要实现了MIPI接口部分,把经过VOP处理的数据,放到FIFO中,最后按照mipi协议通过D-PHY,把数据发送到display端。当然mipi协议的打包,以及各个时间参数等不需要自己实现,我们只需要设置cpu端的寄存器即可,比如传输过程中的LP,HS模式,DCS command模式,TO_LP_EOT,TO_HS_ZERO寄存器可以设置需要的值,EOT(End of transmission packet)可以选择使能和禁止,另外HBP,HFP,HSA也是会设置到这里的寄存器中。
在软件中都有相应的接口来通过mipi协议发送DCS command数据,其实就是设置相关的寄存器就可以了。
video mode的数据发送(也就是framebuffer中图像数据的发送),设置好相应的寄存器后,数据会自动从FIFO中取出,然后按照mipi协议通过MIPI信号线发送出去,不要调用相应的软件api发送。当然成功发送出去的关键是要提前设置好mipi相关的寄存器。
DSI Block Diagram如下:
LCD相关一些硬件概念_第3张图片

某一平台GPU的一些featrue:
1. GPU consists of the following devices: pixel processor, geometry
processor, L2 cache (64 KB), MMU, and PMU
2. Software API: OpenGL ES 2.0, OpenGL ES 1.1, and OpenVG 1.1
Extensions:GL_OES_texture_external,EGL_ANDROID_image_native_buff
e r, a n dEGL_ANDROID_recordable, EGL_ANDROID_blob_cacheand
EGL_KHR_fence_sync

从GPU的featrue也可以看出,GPU可以实现像素处理和几何结构的处理。
GPU在上层的软件中一般都是实现OpenGL的标准接口,这样当上层使用OpenGL画图的时候就会使用到GPU的功能,当使用GPU的时候就是硬件加速。另外android还有一套纯软件实现的OpenGL。

你可能感兴趣的:(LCD相关一些硬件概念)