怎么自己做网站服务器linux,山东济南网网站建设,青岛宣传片制作公司,江门专业网站建设报价以下内容源于朱有鹏嵌入式课程的学习与整理#xff0c;如有侵权请告知删除。
参考博客 1、s5pv210 LCD编程原理 - biaohc - 博客园 2、LCD常用接口原理_5组信号线是几位-CSDN博客 一、LCD简介
1、LCD是什么#xff1f;
LCD#xff08;Liquid Crystal Display#xff09;…以下内容源于朱有鹏嵌入式课程的学习与整理如有侵权请告知删除。
参考博客 1、s5pv210 LCD编程原理 - biaohc - 博客园 2、LCD常用接口原理_5组信号线是几位-CSDN博客 一、LCD简介
1、LCD是什么
LCDLiquid Crystal Display俗称液晶显示。
液晶是一种材料这种材料具有一种特点在电信号的驱动下液晶分子进行旋转而旋转时会影响透光性因此我们可以在整个液晶面板后面用白光照称为背光可以通过不同电信号让液晶分子进行选择性的透光此时在液晶面板前面就可以看到各种各样的颜色白光由各种不同颜色的光组成被选择性透光之后可以产生各种不同颜色的光这就是LCD显示。
有些显示器本身会发光称为主动发光比如LED显示器有些显示器本身不会发光而只会透光需要背光的协助才能看起来是发光的称为被动发光比如LCD。
液晶多应用于电视机、电脑显示屏、手机显示屏、工业显示屏等领域。
2、有哪些显示设备
显示设备描述CRT阴极摄像管显示器等离子显示未成为主流OLED未成为主流但是很有市场潜力LED主要用在户外大屏幕LCD主流显示器
3、有哪些种类的LCD
种类描述TN出现最早但响应性不够好有拖尾现象STN是TN的升级版有效解决拖尾现象显示更清晰TFT最大特点就是超薄………… 二、LCD的接口技术
1、LCD的硬件接口采用TTL电平
SoC的LCD控制器硬件接口是TTL电平的5V表示逻辑10V表示逻辑0LCD的硬件接口也是TTL电平的因此它们可以直接对接一般使用软排线进行连接比如手机、平板、开发板内部都是这样直接对接的。
TTL电平的缺陷就是传输距离短如果LCD屏幕和主板控制器太远比如大于1米就不能直接TTL连接而要进行转换。转换方式为主机SoC(TTL) —VGA — LCD屏幕(TTL)。 其他各种接口TTL、LVDS、EDP、MIPI在传输速率、距离、适配性方面的介绍见参考博文2。 2、S5PV210的RGB接口简介
LCD的RGB接口时序图如下所示在用户手册P1207 1VD[23:0]24根并行的数据线可见LCD是并行接口用来传输图像信息。
2HSYNC水平同步信号。
3VSYNC垂直同步信号是时序信号为了让LCD能够正常显示给的控制信号。
4VCLK像素时钟LCD工作时需要主板控制器给LCD模组一个时钟信号就是VCLK。
5VDEN数据有效标志时序信号和HSYNC、VSYNC结合使用。
6LEND行结束标志时序信号是非必须的比如X210接口就没有。
3、与背光灯有关的引脚 三、LCD如何显示图像
1、像素
像素是组成图像的最基本元素在显示中可以被控制的最小单位整个图像就是由一个个的像素组成的。
像素可以被单独控制控制其亮或不亮单色屏或者控制其亮度强弱比如亮50%还是35%这样叫灰度屏以前的黑白电视机或者控制其显示一定的颜色现在最常用的彩色显示屏。
我们要在显示器上显示一个图像就是把这个图像离散化成一个个的点然后把各个点的颜色对应到显示器的像素上。
2、扫描
扫描就是依次将颜色数值放入显示器所有像素中的这个过程。
扫描这个词是由最早的CRT显示器遗留下来的到LCD显示器的年代已经失去意义但是我们还是延续着这么叫。
显示器的扫描显示原理依赖于人眼的视觉暂留。只要显示器扫描频率大于人眼的发现频率人眼看到的图像就是恒定的。如果扫描频率偏小人眼就会看到闪动。
3、LCD驱动器与LCD控制器
LCD驱动器一般和LCD显示面板集成在一起这两者本来是分开的做面板的是只做面板的比如三星、LG、台湾的友达、奇美都是做面板的驱动器也由专门的IC厂商生产集成厂商买来面板和驱动器后集成在一起做成LCD屏幕。LCD显示面板只负责液晶分子的旋转透光需要一定的模拟电信号来控制液晶分子。这模拟电信号由LCD驱动器负责提供而 LCD 驱动器的控制信号是数字信号来自LCD屏幕的外部接口第二节所讲的接口。
LCD控制器一般集成在SoC内部负责向LCD驱动器提供控制像素显示的数字信号。LCD控制器的关键在于时序它必须按照一定的时序和LCD驱动器通信。LCD控制器受到SoC控制SoC会从内存中拿像素数据给LCD控制器并最终传给LCD驱动器。
4、显示内存显存
SoC在内存中挑选一段内存程序员随便挑的但是必须符合一定规矩然后通过配置将LCD控制器和这一段内存形成一个映射关系。我们把这一段内存称为“显示内存”简称“显存”。
这个映射关系建立之后CPU不用再理会LCD控制器、LCD驱动器和LCD显示面板只要关心显存即可。因为只要把待显示的图像的像素数据丢到显存中LCD控制器就会自动从显存中读取像素数据并传输给LCD驱动器这个过程不需要CPU的参与。
也就是说LCD显示分为2个阶段第一个阶段就是CPU初始化LCD控制器使LCD控制器和某一段显存构成映射关系第二个阶段就是将待显示的图像的像素数据丢到显存中。 四、LCD的六个主要时序参数
LCD的显示单位是帧整个画面的内容为一帧显示器工作时其实是一帧一帧地在显示比如电影以每秒24帧的速度播放图片。
1、LCD显示一帧图像的过程
如下所示一帧分为多行一行分为多像素因此一帧图像其实就是多个像素组成的矩阵。 LCD显示一帧图像时先把一帧拆分为行然后再把这些行拆分为像素点。然后LCD控制器每次将一个像素点的数据传送给LCD驱动器LCD驱动器根据这个像素点的数据驱动这个像素点的液晶分子旋转从而让这个像素点显示出对应的颜色。
注意由于 LCD控制器 和 LCD驱动器 之间一次只能传送一个像素点的数据所以一帧图像在屏幕上其实是逐行逐像素点地显示的不是同一时间显示出来的。
2、六个主要时序参数
LCD的六个主要时序参数如下表所示。
时序参数含义HSPW水平同步信号脉宽HBPD水平同步信号前肩HFPD水平同步信号后肩VSPW垂直同步信号脉宽VBPD垂直同步信号前肩VFPD垂直同步信号后肩
这些信号其实是老式的CRT显示器才会用到LCD本身不需要但是出于兼容性的要求LCD选择兼容CRT显示器的这些时序要求所以理解LCD显示器时序和编程时可以用CRT的方式来理解。
一帧图像由多个行组成每行都是这个时序LCD控制器先发送一个HSYNC高电平脉冲脉冲宽度是HSPW脉冲告诉驱动器下面的信息是一行信息。然后开始这一行信息这一行信息包括3部分HBPD有效行信息HFPD。其中前肩和后肩都属于时序信息和LCD屏幕具体有关有效行信息就是横向分辨率。所以你可以认为一行总共包含4部分HSPWHBPD有效行信息HFPD。
一帧图像的通信过程是这样的整个帧图像信号分为4部分VSPWVBPD帧有效信号VFPD。VSPW是帧同步信号宽度用来告诉驱动器一帧图像要开始了VBPD和VFPD分别是垂直同步信号前后肩。
这六个时序参数本身是LCD屏幕本身的参数与LCD控制器无关。同一个主板如果接的屏幕不一样则时序参数设置也会不同。这些参数来源一般是
1厂家一般以示例代码的形式给出。比如九鼎的210裸机教程中s5pv210-fb.c文件的第774行
.h_fp 210, // 160-210-354.h_bp 38, // 46.h_sw 10, // 1-40.v_fp 22, // 7-22-147.v_fpe 1,.v_bp 18, // 23.v_bpe 1, .v_sw 7, // 1-20
注意这些数字的单位。H开头的三个单位都是DCLK像素时钟V开头的三个单位是TH。这样设置的好处是当我们改变像素时钟的设置时不用改变这里的时序参数。 如果没有设置好这些时序参数屏幕会跑偏。 2来自LCD的数据手册。比如X210光盘资料\A盘\DataSheet\AT070TN92.pdf。 五、与LCD的相关概念
1、像素pixel
见第三节提到的“像素”。 像素的中文全称为图像元素它是分辨率的尺寸单位而不是画质。
2、像素间距pitch
像素间距指的是相邻2个像素的像素中心的距离。
像素物理上一般是方形的所以横向pitch和纵向的pitch一样的当不是方形时则不一样。
像素间距会影响屏幕的最佳观看距离比如像素间距大的适合远距离看像素间距小的适合近距离看。
3、分辨率resolution
分辨率是指整个屏幕横向和纵向的像素个数比如X210V3S开发板的屏幕分辨率是1024*600。
屏幕尺寸纯屏幕对角线尺寸和分辨率无关比如X210V3S开发板的屏幕尺寸是7寸的。
屏幕尺寸、分辨率和像素间距三者之间有关联。屏幕尺寸固定时分辨率越高越低则像素间距越小越大分辨率固定时屏幕尺寸越大越小则像素间距越大越小。
分辨率分为物理分辨率、实际显示分辨率。物理分辨率是指物理屏幕像素点的真实个数。实际显示分辨率是将物理分辨率抽样之后的分辨率它小于等于物理分辨率。如何抽样呢比如物理分辨率是1600*900实际显示分辨率为1280*720比如电脑上有调节电脑屏幕的选项如何从1600变为1280呢我们可以将1600去掉一些即某些像素列不显示或者让相邻列的像素数据一样变为一个更粗的像素。
4、清晰度
清晰度是一个主观概念是人眼对显示效果是否清晰的一个主观判断。
清晰度由分辨率和像素间距共同决定。屏幕尺寸固定时分辨率越高则像素间距越小显示就越清晰分辨率越低则像素间距越大显示就越模糊。分辨率固定时屏幕尺寸越小则像素间距越小显示就越清晰屏幕尺寸越大则像素间距越大显示就越模糊。
5、像素深度
像素深度指的是每个像素用多少 bit 来表示单位是bppbits per pixel。
用来表示一个像素的数据位越多则这个像素的颜色值更加丰富、分的更细颜色深度就更深。
常见的像素深度有这么几种1bit、8bit、16bit、24bit、32bit 。
1bit用1个二进制位来表示颜色这种就叫单色显示。示例就是理发店门口的LED屏。
8bit用8个二进制位来表示颜色此时能表示256种颜色。这种叫灰度显示纯白到纯黑分别对应255到0中间的数值对应不同的灰不是彩色显示典型应用就是以前的黑白电视机。
16bit用16个二进制位表示颜色此时能表示65536种颜色。这种方式可以彩色显示一般采用RGB565的颜色分布用5bit表示红色、用6bit表示绿色、用5bit表示蓝色。因为用来表示RGB颜色的bit数目不够多导致红绿蓝三种颜色本身分得不够细致因此彩色失真比较严重。
24bit用24个二进制位来表示颜色此时能表示16777216种颜色。这种表示方式和16位色原理是一样的只是RGB三种颜色各自的精度都更高了RGB各8位叫RGB888。此时颜色比RGB565更加真实细腻虽然说比自然界无数种颜色还是少了很多但人眼几乎不能区分1677万种颜色和无数种颜色的差别因此把这种RGB888的表示方法叫做真彩色RGB565叫做假彩色。
32bit总共用32位二进制来表示颜色其中24位表示红绿蓝三元色还是RGB888分布剩下8位表示透明度。这种显色方式就叫ARGBA是阿尔法表示透明度现在PC机中一般都用ARGB表示颜色。
一般用32bit也就是4个字节来存储一个像素点信息。至于其中用多少bit来表示颜色要看具体的设置平常所见一般都是24位色真彩色此时高8位一般没用或者表示其他含义用00或者ff来填充以便内存对齐。
6、颜色序
将24bit的二进制数分为3组高8位、中间8位、低8位这三组二进制数哪个表示R哪个表示G哪个表示B呢
颜色序表述的就是这个问题。
注意颜色序一般已经在LCD驱动中设置好了我们写代码时要遵循这个设置。
7、点阵
点阵是指由像素点构成的阵列一个屏幕就是一个点阵。