Lcd(一)显示原理
一、LCD控制原理
S5PV210处理器中自带LCD控制器,控制LCD的显示,把 LCD 图像数据从一个位于系统内存的 video buffer 传送到一个外部的 LCD 驱动器接口。
类型:
- STN(超扭曲向列),它的特点是功耗低,但亮度不足,响应时间长;(1602那种类型的)
- TFT(薄膜晶体管),它的特点是响应时间短,画面清晰,但功耗稍高,(自己实验用的应该是这个类型的,这个类型当作计算机液晶显示设备)。
- LTPS(低温多晶硅),各方面性能优越,但技术要求高;
- 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:屏幕为什么能显示?(集显)
- 在初始化的时候,在内存开辟的一片空间作为显存
- 将要显示的内容写到显存上
- lcd控制器对显存进行读取,然后写入显示屏里。
A DMA完成显示数据的传输,不需要CPU执行COPY函数
B LCD控制器向显示屏提供时序信号、视频数据、.....

二、LCD显示原理

如果需要显示一满屏的数据,则数据的大小:80048024bits
帧同步信号:液晶屏的刷新频率、垂直同步信号的频率、场频率
帧同步信号= 50Hz~70Hz,典型值:60Hz
行同步信号的频率:一帧中有多少行?
行同步信号的频率 = ( 480 +回扫的行数(45) )* 帧同步信号的频率
- 像素时钟的频率:扫描像素点的频率
像素时钟频率 = (800+一行中回扫的像素点(256))*行同步信号的频率
注意:
- 液晶屏的分频率越大,则VCLK的频率越高
- VCLK的频率的最大上限:HCLK_DSYS=166MHz
- 思考:S5PV210最大可以接多大的液晶屏?
计算:
在800*480的LCD中,VCLK的频率值:
VCLK = (800+256)(480+45) 60Hz = 33.264MHz
三、LCD的描述参数(液晶屏的选型)
分辨率
行和列像素点的个数
尺寸
有效的显示区对角线的长度,单位英寸。
色位
一个像素点用多少位数据来描述----24bits
响应时间
刷新时间---->60Hz(16ms)
响应时间---->几ms亮度 cd/m**2
高亮屏:600
一般屏:250对比度
白色的亮度/黑色的亮度。
寿命
单位:小时 5万小时
当液晶屏的亮度降低到出厂亮度的一半的时候,认为寿命到了。
可视角度
四个方向的可视角度是不对称的,一般有一个方向是比较差的
四、硬件的设计接口
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的驱动主要做什么?
- 根据液晶屏的特定参数来设置LCD控制器(接口、bpp、......)
- 设置液晶屏的同步信号的频率(VCLK、VSYNC、HSYNC.....)
- 设置液晶屏的时序参数(帧的回扫时间、行的回扫时间、同步信号的极性.....)
- 设置显存的位置和大小
九、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(一)显示原理的更多相关文章
- TFT LCD显示原理详解
<什么是液晶> 我们一般认为物体有三态:固态.液态.气态,其实这只是针对水而言,有一些有机化和物 还有介于固态和液态中间的状态 就是液晶态,如下图(一): ...
- 【转】Android LCD(二):LCD常用接口原理篇
关键词:android LCD TFT TTL(RGB) LVDS EDP MIPI TTL-LVDS TTL-EDP 平台信息:内核:linux2.6/linux3.0系统:android/ ...
- (转)LCD:LCD常用接口原理篇
关键词:android LCD TFT TTL(RGB) LVDS EDP MIPI TTL-LVDS TTL-EDP平台信息:内核:linux2.6/linux3.0系统:android/a ...
- LCD常用接口原理【转】
转自:http://blog.csdn.net/wocao1226/article/details/23870149 LCD常用接口原理 点击打开链接 点击打开链接 点击打开链接 点击打开链接 点击打 ...
- jquery ajax json简单的分页,模拟数据,没有封装,只显示原理
简单的分页,模拟数据,没有封装,显示原理,大家有兴趣可以自己封装,这里只是个原理过程,真正的分页也差不多是这个原理,只是请求数据不太一样,html部分: <!TOCTYPE HTML> & ...
- Android 显示原理简介
作者:yearzhu,2011年进入腾讯公司,从事过Web端及移动端的测试工作,喜爱新鲜事物及新技术,目前在SNG开放平台测试组负责的移动互联SDK的测试工作. 现在越来越多的应用开始重视流畅度方面的 ...
- Android View绘制和显示原理简介
现在越来越多的应用开始重视流畅度方面的测试,了解Android应用程序是如何在屏幕上显示的则是基础中的基础,就让我们一起看看小小屏幕中大大的学问.这也是我下篇文章--<Android应用流畅度测 ...
- Android系统显示原理
Android的显示过程可以概括为:Android应用程序把经过测量.布局.绘制后的surface缓存数据,通过SurfaceFlinger把数据渲染到屏幕上,通过Android的刷新机制来刷新数据. ...
- Android LCD(二):LCD常用接口原理篇(转)
源: Android LCD(二):LCD常用接口原理篇
随机推荐
- 深度学习笔记(七)SSD 论文阅读笔记简化
一. 算法概述 本文提出的SSD算法是一种直接预测目标类别和bounding box的多目标检测算法.与faster rcnn相比,该算法没有生成 proposal 的过程,这就极大提高了检测速度.针 ...
- Java基础--Eclipse使用
Eclipse是JavaWeb开发最常用的工具,下面详细介绍一下如何下载安装最新版Eclipse.本文eclipse的使用是在JDK安装配置完成的基础上进行的,否则Eclipse安装后可能无法运行程序 ...
- 14.Git分支-rebase有趣的例子、变基带来的问题及解决方案
1.有趣的变基例子 如下图所示,你创建了一个特性分支server,然后进行了一些提交(C3和C4),然后又从C3上创建了特性分支client,提交了C8和C9,最后你又回到了server,提交了C10 ...
- 【Impala篇】---Hue从初始到安装应用
一.前述 Cloudera公司推出,提供对HDFS.Hbase数据的高性能.低延迟的交互式SQL查询功能.基于Hive使用内存计算,兼顾数据仓库.具有实时.批处理.多并发等优点 是CDH平台首选的PB ...
- 『追捕盗贼 Tarjan算法』
追捕盗贼(COCI2007) Description 为了帮助警察抓住在逃的罪犯,你发明了一个新的计算机系统.警察控制的区域有N个城市,城市之间有E条双向边连接,城市编号为1到N. 警察经常想在罪犯从 ...
- Python爬虫入门教程 11-100 行行网电子书多线程爬取
行行网电子书多线程爬取-写在前面 最近想找几本电子书看看,就翻啊翻,然后呢,找到了一个 叫做 周读的网站 ,网站特别好,简单清爽,书籍很多,而且打开都是百度网盘可以直接下载,更新速度也还可以,于是乎, ...
- 华为oj之字符串分割
题目: 字符串分隔 热度指数:6139 时间限制:1秒 空间限制:32768K 本题知识点: 字符串 题目描述 •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组: •连续输入字符串, ...
- IntelliJ IDEA上操作GitHub
IntelliJ IDEA集成了对GitHub的支持,使上传代码到GitHub和从GitHub下载代码更加方便快捷. 一. 分享代码到GitHub 1.首先需要在IntelliJ配置Git,如果没有正 ...
- Koa 框架常用知识点整理
简介 Koa 就是一种简单好用的 Web 框架.它的特点是优雅.简洁.表达力强.自由度高.本身代码只有1000多行,所有功能都通过插件实现. 学前准备 检查Nodejs版本 打开cmd命令行窗口nod ...
- 日志服务Python消费组实战(三):实时跨域监测多日志库数据
解决问题 使用日志服务进行数据处理与传递的过程中,你是否遇到如下监测场景不能很好的解决: 特定数据上传到日志服务中需要检查数据内的异常情况,而没有现成监控工具? 需要检索数据里面的关键字,但数据没有建 ...