前言:
此篇blog从LCD原理、Display基础知识、DSI介绍、HDMI相关、display原理概念相关、安卓中的Display Graphics框架、Qcom display框架这些点给大家介绍Display。
一、Display Overview
1.显示应用领域(mobile,PC)
2.其他相关领域(投影仪、VR眼镜)
二、LCD显示原理
1.背光IC发出亮光,通过下偏光片,液晶阵,透过上偏光片,人眼接收到光源,即看到显示的图像.
2.像素点(RGB)+背光=显示屏模组
3.RGB :
RGB色彩模式是目前运用最广的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色
RGB565= 每个pixels是由2字节组成,R->5bit,G->6bit,B->5bit;
4.RGB色彩空间是是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加得到像素.
其中图像由一个个点组成,这个点叫做像素点.一个LCD上面有多少个像素点,就是组成了分辨率; 如720P,1080P
众多像素构成了我们所看到的图像内容;
三、Display基础知识
1.像素 (pixel)
图像由一个个点组成,这个点叫做像素.一个LCD上面有多少个像素点,就是分辨率(resolution). 例如:1080P、720P等。
2.位深 (bit-depth)
位”( bit )是系统存储器里的最小单元,它用来记录每一个像素颜色的值。图像的色彩越丰富,“位”就越多。每一个像素在系统中所使用的这种位数就是“位深度”。
现在一般的手机使用的都是24bit的panel,也就是说,可以显示2^(8x3)种颜色(如之前图示介绍)。
3.接口规范
–DBI:也就是通常所讲的MCU借口,俗称I 80 system接口,通过并行接口传输控制命令和数据,LCM模组自带GRAM更新数据实现屏幕的刷新(主要应用于低端的仪器仪表显示)。
– DPI :也就是通常所说的RGB并行接口,采用普通的同步、时钟、信号线来传输RGB数据,采用SPI等控制线完成命令控制。
–DSI: 也是手机上最常用的接口,是一种串行传输方式,包括数据、指令、其他信息(目前主流手接口)。
四、DSI介绍
1.MIPI-DSI 接口简介:
•MIPI:Mobile Industry Processor Interface
•DSI: Display Serial Interface
•CSI: Camer Serial Interface
•PHY:Physical Layer
•HSHigh :Speed
Fps:Frames per second
2.DSI分四层,对应D-PHY、DSI、DCS规范、分层结构如下:
•
•
•
•
3.DSI(display serial interface)
5.Command和Video模式
• DSI兼容的外设(显示设备)支持Command或Video操作模式,用哪个模式由外设的构架决定
• Command模式是指采用发送命令和数据到具有显示缓存的控制器。主机通过命令间接的控制外设。Command模式采用双向接口(data lane0)。
• Video模式是指从主机传输到外设采用时实象素流。这种模式只能以高速传输。为减少复杂性和节约成本,只采用Video模式的系统可能只有一个单向数据路径。
五、HDMI相关
1.High Definition Multimedia Interface--高清晰度多媒体接口是一种数字化视频/音频接口技术,是适合影像传输的专用型数字化接口,其可同时传送音频和影音信号,数据传输速度为5Gbps;
2.应用:手机高清视频,电视,DVD,高清摄像机,数码相机;
3.特点:HDMI不仅可以满足1080P的分辨率,还能支持DVD Audio等数字音频格式,支持八声道96kHz或立体声192kHz数码音频传送;
4.同DVI相比:接口简单,数据传输速率高;高分辨率,支持热插拔;差分传输,支持文件编码HDCP数据版权保护;
5.HDMI传输原理:
六、Display原理 概念相关
1.帧缓冲驱动
Linux是工作在保护模式下,所以用户态进程是无法象DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏,Linux抽象出FrameBuffer这个设备来供用户态进程实现直接写屏。
Framebuffer机制模仿显卡的功能,将显卡硬件结构抽象掉,可以通过Framebuffer的读写直接对显存进行操作。
Framebuffer本身不具备任何运算数据的能力, 好比是一个暂时存放水的水池.CPU将运算后的结果放到这个水池,水池再将结果流到显示器.中间不会对数据做处理.
2.DMA
APP把绘制好的显示数据放入DDR内部的显存区域(framebuffer),LCD控制器映射显存数据到DMA数据区,启动LCD内部的DMA功能,DMA就会自动不断的将显存中的数据传送到LCD的外围接口显示器来完成数据流的传输。
七、Android中Display Graphics框架
1.Display原理:Software Architecture:
2.SurfaceFlinger 服务负责绘制合成Android的UI
•APP负责draw layer,SF负责buffer申请和管理
• 绘制合成
•
•OpenGLES 应用于嵌入式的OpenGL,渲染API
•HWComposer 对Layer进行合成
八、Qcom display 框架
1.Android frameworks – Surface texture, SurfaceFlinger
2.QTI HALs – Overlay, graphics allocation, and hardware composer
3.Primary panel interfaces – MIPI DSI
4.External display – WFD
5.Snapdragon Display Manager (SDM) core – SDE drivers, pipe, configuration, and clocks/power/performance
6.Postprocessing and color management – CABL, sharpening, color, conversion, and so on.
7.Qcom Display框架
•SourceSurface Processor (ViG, RGB, DMA - SSPP) – Formatconversion and quality improvement for source surfaces (video, graphics,etc.)
•LayerMixer (LM) – Blendand mix source surface together
•DestinationSurface Processor (DSPP) – Conversion,correction, and adjustment based on panel characteristics
•Write-Back/Rotation(WB) – Writeback to memory –Performrotation if required
•Displayinterface – Timing generator and interfaceconnecting the display peripheral