Lcd(一)显示原理

一、LCD控制原理

S5PV210处理器中自带LCD控制器,控制LCD的显示,把 LCD 图像数据从一个位于系统内存的 video buffer 传送到一个外部的 LCD 驱动器接口。

类型:

  1. STN(超扭曲向列),它的特点是功耗低,但亮度不足,响应时间长;(1602那种类型的)
  2. TFT(薄膜晶体管),它的特点是响应时间短,画面清晰,但功耗稍高,(自己实验用的应该是这个类型的,这个类型当作计算机液晶显示设备)。
  3. LTPS(低温多晶硅),各方面性能优越,但技术要求高;
  4. OLED(有机发光二极管),各方面性能优越,但技术要求高。

LCD驱动接口支持 3 种接口:

  • RGB 接口:((并行 24 位,串行 8 位)自己用的使这种)
  • indirect-i80 接口
  • UV 接口

SoC如何控制LCD显示原理:

LCD驱动器:LCD驱动器一般与LCD面板集成在一起,面板需要一定的模拟电信号来控制液晶分子,LCD驱动器芯片负责给面板提供控制液晶分子的模拟电信号,驱动器的控制信号(数字信号)来自于LCD控制器的提供的接口。

  LCD控制器:LCD控制器集成在SoC内部,它负责通过数字接口向外部的LCD驱动器提供要显示的像素数字信号。它必须按照一定的时序和LCD驱动器通信,LCD控制器受SoC控制,SoC会从内存中拿出像素数据给LCD控制器并最终传给LCD驱动器。

  显存:SoC在内存中选一段内存,用来存放颜色数据,然后通过配置将LCD控制器和这一段内存连接起来,构成一个映射关系,一旦这个关系建立以后,LCD控制器就会自动从显存中读取像素数据传给LCD驱动器,LCD驱动器会自动的控制每个像素点的液晶分子,以形成最终的图像,建立这个映射以后就不需要SoC在来参与任何行为了。

总结一下:SoC控制LCD液晶显示的过程分为两个部分:

(1) SoC的LCD控制器引出一定的引脚与LCD驱动器连接,按照标准设置一定的时序;

(2) 把LCD要显示的像素信息放入内存中,在通过设置LCD控制器中的寄存器,与LCD控制器建立映射;之后过程就是LCD控制器芯片与驱动器芯片自动完成的事情了,整个LCD图像的显示过程就是这样。

S5PV210 的 LCD 控制器支持多种颜色格式,例如

  • RGB (1BPP 到 24BPP)
  • YCbCr 4:4:4 (只有本地总线)

1:显示屏跟内存的关系。

我们都买过显卡,知道买独立显卡的好,那么为什么独显好?

独显跟集显的区别又在哪里?

独显的特点:有独立内存

  • 可以独立复制内容(DMA控制器)

集显的特点:跟主板共用内存

  • 可以独立复制内容(DMA控制器)

2:屏幕为什么能显示?(集显)

  1. 在初始化的时候,在内存开辟的一片空间作为显存
  2. 将要显示的内容写到显存上
  3. lcd控制器对显存进行读取,然后写入显示屏里。

A DMA完成显示数据的传输,不需要CPU执行COPY函数

B LCD控制器向显示屏提供时序信号、视频数据、.....

二、LCD显示原理

如果需要显示一满屏的数据,则数据的大小:80048024bits

  1. 帧同步信号:液晶屏的刷新频率、垂直同步信号的频率、场频率

    帧同步信号= 50Hz~70Hz,典型值:60Hz

  2. 行同步信号的频率:一帧中有多少行?

行同步信号的频率 = ( 480 +回扫的行数(45) )* 帧同步信号的频率

  1. 像素时钟的频率:扫描像素点的频率

像素时钟频率 = (800+一行中回扫的像素点(256))*行同步信号的频率

注意:

  1. 液晶屏的分频率越大,则VCLK的频率越高
  2. VCLK的频率的最大上限:HCLK_DSYS=166MHz
  3. 思考:S5PV210最大可以接多大的液晶屏?

计算:
在800*480的LCD中,VCLK的频率值:

VCLK = (800+256)(480+45) 60Hz = 33.264MHz

三、LCD的描述参数(液晶屏的选型)

  1. 分辨率

    行和列像素点的个数

  2. 尺寸

    有效的显示区对角线的长度,单位英寸。

  3. 色位

    一个像素点用多少位数据来描述----24bits

  4. 响应时间

    刷新时间---->60Hz(16ms)

    响应时间---->几ms

  5. 亮度????????cd/m**2

    高亮屏:600
    一般屏:250

  6. 对比度????

    白色的亮度/黑色的亮度。
    ?

  7. 寿命????????

    单位:小时 ?? 5万小时

    当液晶屏的亮度降低到出厂亮度的一半的时候,认为寿命到了。
    ?

  8. 可视角度

    四个方向的可视角度是不对称的,一般有一个方向是比较差的

四、硬件的设计接口

1、S5PV210 LCD控制器的接口

看一下核心板原理图:LCD接线为24条VD数据输出线,用来传输RGB888 24位颜色数据,VCLK时钟线,HSYNC:水平同步信号线;VSYNC:垂直同步信号线,VDEN:数据使能线;

RGB接口信号:

LCD_HSYNC:

行同步信号,表示一行数据的开始,LCD控制器在整个水平线(整行)数据移入LCD驱动器后,

插入一个LCD_HSYNC信号;

LCD_VSYNC:

帧同步信号,表示一帧数据的开始,LCD控制器在一个完整帧显示完成后立即插入一个LCD_VSYNC信号,

开始新一帧的显示;VSYNC信号出现的频率表示一秒钟内能显示多少帧图像,称为“显示器的频率”

LCD_VCLK:

像素时钟信号,表示正在传输一个像素的数据;

LCD_VDEN: 数据使能信号;

LCD_VD[23:0]: LCD像素数据输出端口

五、英寸液晶屏接口

0xffff

1-11位是功能 剩下的每八位 分别是蓝绿红

八、LCD的驱动主要做什么?

  1. 根据液晶屏的特定参数来设置LCD控制器(接口、bpp、......)
  2. 设置液晶屏的同步信号的频率(VCLK、VSYNC、HSYNC.....)
  3. 设置液晶屏的时序参数(帧的回扫时间、行的回扫时间、同步信号的极性.....)
  4. 设置显存的位置和大小

九、LCD的时序图

1、LCD控制器的输出时序

(1)帧的传输过程

1)VSYNC信号有效时,表示一帧数据的开始, 信号宽度为 (VSPW + 1)个HSYNC信号周期,即(VSPW + 1)个无效行;

2)VSYNC信号脉冲之后,总共还要经过(VBPD + 1)个HSYNC信号周期,有效的行数据才出现; 所以,在VSYNC信号有效之后,还要经过(VSPW + 1 + VBPD + 1)个无效的行;

3)随即发出(LINEVAL + 1)行的有效数据;

4)最后是(VFPD + 1)个无效的行;

(2)行中像素数据的传输过程

1)HSYNC信号有效时,表示一行数据的开始,信号宽度为(HSPW + 1)个VCLK信号周期,即(HSPW + 1)个无效像素;

2)HSYNC信号脉冲之后,还要经过(HBPD + 1)个VCLK信号周期,有效的像素数据才出现;

3)随后发出(HOZVAL + 1)个像素的有效数据;?????????

4)最后是(HFPD + 1)个无效的像素;

(3)将VSYNC、HSYNC、VCLK等信号的时间参数

并将帧内存的地址告诉LCD控制器,它即可自动地发起DMA传输从帧内存中得到图像数据,最终在上述信号的控制下出现在数据总线VD[23:0]上。用户只需要把要显示的图像数据写入帧内存中。

2、LCD液晶屏输入时序

十、相关寄存器

寄存器:DISPLAY_CONTROL 设置为10或11;RGB模式可行即可;

VIDCON0:Video Main Control 0 Register

bit28-26视频输出格式,设为RGB模式

bit18:设置RGB数据传输方式为并行还是串行,因为有24根数据线所以为并行;

bit2选择时钟源,选HCLK 连的是HCLC_DSYS 为166MHz

bit4:开启分频;

bit13-6设置时钟大小,时钟频率要小于控制器的最大时钟,也要小于LCD驱动器的最大时钟。

bit0 bit1为使能控制信号都使能

VIDCON1寄存器 Video Main Control 1 Register

bit5 bit6设置HSYNC和VSYNC的极性,如果LCD的高低电平脉冲是相同的话,则Normal,如果极性相反则Invert。

VIDTCON0:设置时序,根据LCD数据手册中的时序来设置,结合“LCD控制器的输出时序”

VIDTCON1

VIDTCON2

WINCON0寄存器

bit1:使能window0

bit5-2选择RGB888模式 1011

bit15:设置输出顺序为 red green blue还是 blue green red  设置为1:BGR 设置为0:RGB

VIDOSD0A VIDOSD0B这两个寄存器是用来设置内存中window0大小;

比如设置为LCD屏幕的尺寸(即左上坐标为(0, 0) 右下坐标为(799, 479))

VIDOSD0C也是设置内存中window0的大小

比如设置为LCD屏幕的尺寸=800*480

VIDW0xADD0Bx设置内存中window0的起始地址的

VIDW0xADD1Bx设置内存中window0的结束地址的

SHODOWCON寄存器来设置虚拟windows显示的;

以下位可以分别设置哪个windows显示;

补充:看核心板、地板原理图相应引脚要设置为LCD的引脚模式,LCD背光要打开;

原文地址:https://www.cnblogs.com/linhaostudy/p/10467249.html

时间: 2024-10-20 02:27:14

Lcd(一)显示原理的相关文章

(转)LCD:LCD常用接口原理篇

关键词:android LCD TFT TTL(RGB)  LVDS  EDP MIPI  TTL-LVDS  TTL-EDP平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:samsung exynos 4210.exynos 4412 .exynos 5250 作者:xubin341719(欢迎转载,请注明作者)欢迎指正错误,共同学习.共同进步! 下载链接:LCD规格书(404份),之前工作用用到的 . LCD规格书00  . LCD规格书0

Android 显示原理简介

转:http://djt.qq.com/article/view/987 作者:yearzhu,2011年进入腾讯公司,从事过Web端及移动端的测试工作,喜爱新鲜事物及新技术,目前在SNG开放平台测试组负责的移动互联SDK的测试工作. 现在越来越多的应用开始重视流畅度方面的测试,了解Android应用程序是如何在屏幕上显示的则是基础中的基础,就让我们一起看看小小屏幕中大大的学问.这也是我下篇文章——<Android应用流畅度测试分析>的基础. 首先,用一句话来概括一下Android应用程序显示

(七)WebGIS中的栅格图层和矢量图层的显示原理

1.何为栅格数据,何为矢量数据? 在GIS中,对于数据格式的分类,我们一般会将其分为栅格数据和矢量数据两种类型.栅格数据是将空间看做离散的像元,由二维数组或者其他数据组织方式来进行表达.矢量数据恰恰相反,它将空间看成是连续的,用要素(点.线.面)来进行表达. 我们把栅格数据和矢量数据的特点归纳如下: (1)栅格数据是离散的,矢量数据是连续的.所以栅格数据多用二维数组(行.列)的方式组织.而矢量数据可以理解为一种向量,它用平面坐标(X.Y)的有序几何来组织. (2)栅格数据的最小单位是像素,矢量数

(转载)Android显示原理简介

Android应用程序显示的过程:Android应用程序调用SurfaceFlinger服务把经过测量.布局和绘制后的Surface渲染到显示屏幕上. 名词解释 SurfaceFlinger:Android系统服务,负责管理Android系统的帧缓冲区,即显示屏幕. Surface:Android应用的每个窗口对应一个画布(Canvas),即Surface,可以理解为Android应用程序的一个窗口. Android应用程序的显示过程包含了两个部分(应用侧绘制.系统侧渲染).两个机制(进程间通讯

(六)WebGIS中地图瓦片在Canvas上的拼接显示原理

1.前言 在之前的五个章节中,我们在第一章节里介绍了WebGIS的基本框架和技术,第二章节里介绍了什么是瓦片行列号以及计算它的原因,第三章节里介绍了如何通过地理范围计算出这个范围内瓦片的行列号,第四和第五章节里介绍了在得到瓦片行列号后如何获得离线和在线地图的URL,这个章节里,我们将介绍在通过URL得到瓦片后,如何将其显示在浏览器相对应的地方,拼接出整块地图. 2.左上角瓦片起始点屏幕坐标的计算 在第三章节中,我介绍了对于左上角瓦片起始点屏幕坐标的换算原理和方法,这里我再次给出这个公式: off

【转】Android 显示原理简介

作者:yearzhu,2011年进入腾讯公司,从事过Web端及移动端的测试工作,喜爱新鲜事物及新技术,目前在SNG开放平台测试组负责的移动互联SDK的测试工作. 原文链接 现在越来越多的应用开始重视流畅度方面的测试,了解Android应用程序是如何在屏幕上显示的则是基础中的基础,就让我们一起看看小小屏幕中大大的学问.这也是我下篇文章——<Android应用流畅度测试分析>的基础. 首先,用一句话来概括一下Android应用程序显示的过程:Android应用程序调用SurfaceFlinger服

UIView显示原理和过程

一.UIView显示原理 一个控件,UIView之所以可以显示,是因为内部在UIView的内部有一个layer属性作为根图层,根图层上可以放其他子图层,在UIView中所有能够看到的内容都包含在layer中,当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己的图层上,绘图完毕后,系统会将图层拷贝到屏幕上,于是就完成了UIView的显示出来. 二.UIView显示过程 2.1..view.layer会准备一个Layer Graphics Contex

[转]安卓显示原理介绍

转自:http://djt.qq.com/article/view/987 作者:yearzhu,2011年进入腾讯公司,从事过Web端及移动端的测试工作,喜爱新鲜事物及新技术,目前在SNG开放平台测试组负责的移动互联SDK的测试工作. 现在越来越多的应用开始重视流畅度方面的测试,了解Android应用程序是如何在屏幕上显示的则是基础中的基础,就让我们一起看看小小屏幕中大大的学问.这也是我下篇文章——<Android应用流畅度测试分析>的基础. 首先,用一句话来概括一下Android应用程序显

8位灰度图在LCD上显示

一.概述 1.灰度 灰度使用黑色调表示物体,即用黑色为基准色,不同的饱和度的黑色来显示图像.每个灰度对象都具有从 0%(白色)到灰度条100%(黑色)的亮度值. 使用黑白或灰度扫描仪生成的图像通常以灰度显示. 像素值量化后用一个字节(8 bits)来表示.如把有黑-灰-白连续变化的灰度值量化为256个灰度级,灰度值的范围为0~255,表示亮度从深到浅,对应图像中的颜色为从黑到白.黑白照片包含了黑白之间的所有的灰度色调,每个像素值都是介于黑色和白色之间的256种灰度中的一种. 2.灰度图bmp文件