一、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背光要打开;

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

  1. TFT LCD显示原理详解

    <什么是液晶> 我们一般认为物体有三态:固态.液态.气态,其实这只是针对水而言,有一些有机化和物 还有介于固态和液态中间的状态 就是液晶态,如下图(一):                 ...

  2. 【转】Android LCD(二):LCD常用接口原理篇

    关键词:android LCD TFT TTL(RGB)  LVDS  EDP MIPI  TTL-LVDS  TTL-EDP 平台信息:内核:linux2.6/linux3.0系统:android/ ...

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

    关键词:android LCD TFT TTL(RGB)  LVDS  EDP MIPI  TTL-LVDS  TTL-EDP平台信息:内核:linux2.6/linux3.0系统:android/a ...

  4. LCD常用接口原理【转】

    转自:http://blog.csdn.net/wocao1226/article/details/23870149 LCD常用接口原理 点击打开链接 点击打开链接 点击打开链接 点击打开链接 点击打 ...

  5. jquery ajax json简单的分页,模拟数据,没有封装,只显示原理

    简单的分页,模拟数据,没有封装,显示原理,大家有兴趣可以自己封装,这里只是个原理过程,真正的分页也差不多是这个原理,只是请求数据不太一样,html部分: <!TOCTYPE HTML> & ...

  6. Android 显示原理简介

    作者:yearzhu,2011年进入腾讯公司,从事过Web端及移动端的测试工作,喜爱新鲜事物及新技术,目前在SNG开放平台测试组负责的移动互联SDK的测试工作. 现在越来越多的应用开始重视流畅度方面的 ...

  7. Android View绘制和显示原理简介

    现在越来越多的应用开始重视流畅度方面的测试,了解Android应用程序是如何在屏幕上显示的则是基础中的基础,就让我们一起看看小小屏幕中大大的学问.这也是我下篇文章--<Android应用流畅度测 ...

  8. Android系统显示原理

    Android的显示过程可以概括为:Android应用程序把经过测量.布局.绘制后的surface缓存数据,通过SurfaceFlinger把数据渲染到屏幕上,通过Android的刷新机制来刷新数据. ...

  9. Android LCD(二):LCD常用接口原理篇(转)

    源: Android LCD(二):LCD常用接口原理篇

随机推荐

  1. django中的跨表查询梳理

    1.前言 最近在写一个小项目,里面主要涉及的就是表与表之间复杂的关系.当真正开发起来的时候,才发现自己对复杂的表关系间的查询有点混乱,趁着这几天的时间,重新梳理了一下. 2.概念 在开始之前,先明确几 ...

  2. Ubuntu终端常用快捷键(精简)

    Ubuntu中的许多操作在终端(Terminal)中十分的快捷,记住一些快捷键的操作更得心应手.在Ubuntu中打开终端的快捷键是Ctrl+Alt+T.其他的一些常用的快捷键如下: 快捷键与功能 Ta ...

  3. CMake根据平台移植检查设置文件编译选项

    #添加函数检查功能 include(CheckFunctionExists) //检查系统是否支持accpet4,将检查结果设置至HAVE_ACCEPT4 check_function_exists( ...

  4. 是程序员,就用python导出pdf

    这两天一直在做课件,我个人一直不太喜欢PPT这个东西--能不用就不用,我个人特别崇尚极简风. 谁让我们是程序员呢,所以就爱上了Jupyter写课件,讲道理markdown也是个非常不错的写书格式啊. ...

  5. ASP.Net Core项目在Mac上使用Entity Framework Core 2.0进行迁移可能会遇到的一个问题.

    在ASP.Net Core 2.0的项目里, 我使用Entity Framework Core 2.0 作为ORM. 有人习惯把数据库的连接字符串写在appSettings.json里面, 有的习惯写 ...

  6. ASP.NET Core 四种方式绑定枚举值

    前言 本节我们来讲讲在ASP.NET Core MVC又为我们提供了哪些方便,之前我们探讨过在ASP.NET MVC中下拉框绑定方式,这节我们来再来重点看看枚举绑定的方式,充分实现你所能想到的场景,满 ...

  7. 说一说MVC的CompressActionFilterAttrubute(五)

    通过action对文件流压缩,提高带宽速度!!! 引用using System.IO.Compression; public override void OnActionExecuting(Actio ...

  8. .NET Core中的数据保护组件

    原文地址: PREVENTING INSECURE OBJECT REFERENCES IN ASP.NET CORE 2.0 作者: Tahir Naushad 背景介绍 在 OWASP(开放式 W ...

  9. ES 01 - Elasticsearch入门 + 基础概念学习

    目录 1 Elasticsearch概述 1.1 Elasticsearch是什么 1.2 Elasticsearch的优点 1.3 Elasticsearch的相关产品 1.4 Elasticsea ...

  10. Spring系列之手写一个SpringMVC

    目录 Spring系列之IOC的原理及手动实现 Spring系列之DI的原理及手动实现 Spring系列之AOP的原理及手动实现 Spring系列之手写注解与配置文件的解析 引言 在前面的几个章节中我 ...