【篇十二】LCD显示图像技术

本章总结点如下

  • LCD简介
  • LCD接口技术
  • LCD显示图像原理
  • RGB接口

LCD简介

▶ 俗称液晶,是一种材料,这种液晶材料有一种特点:可以在电信号的驱动下液晶分子进行旋转,旋转时会影响透光性,因此我们可以在整个液晶面板后面用白光照(背光),
    可以通过不同电信号让液晶分子进行选择性透光,此时在液晶面板前看到各种各样的不同颜色,这就是LCD显示。
▶ 被动发光和主动发光:有些显示器(LED显示器,CRT显示器)自己本身会发光成为主动发光,有些(LCD)本身不会发光只会透光,需要背光的协助才能看起来是发光的,
  称为被动发光。
▶ 应用领域:电视机,电脑显示屏,手机显示屏,工业显示屏等。 
▶ 其他主流显示器:LED,CRT,等离子,OLED
    • CRT:阴极摄像管显示器,笨重和后,已过时,如老式电视机。
    • 等离子:曾今出现过,后来被淘汰了
    • OLED:技术原因,曾今出现过,没做好,基于橡胶原理,比较柔性,但是很有市场潜力
    • LED:主要用在户外,一个个小的LED灯组成
    • LCD:目前主流,种类有(TN/STN/TFT),
        TN最早,坏处是响应不够好,有拖尾现象(老实电视机)
        STN是TN的升级版,有效解决拖尾现象,显示更清晰
        TFT的最大特点是超博,现在的手机,电脑屏幕
▶ LCD显示的相关术语
    • 像素(pixel):整个图片是由一个个的像素构成的,像素就是一个显示点
    • 像素间距(pitch):连续2个像素点的中心距离,一般横向和纵向都是一样的,也有不一样的,像素间距影响屏幕的最佳观看距离,像素间距大适合远距离看。
    • 分辨率(resolution):整个屏幕的横向和纵向的总像素个数叫做分辨率,屏幕尺寸和分辨率无关,屏幕尺寸 = 分辨率 * 像素间距
    • 清晰度:主管概念,客观来讲:清晰度有分辨率和像素间距来决定的
    • 像素深度(bits per pixel,简称bpp):一个像素在计算机中由多少个字节数据来描述,
        (1)在计算机中用二进制来表示一个像素的数据,用来表示一个像素的数据位越多,则这个像素的颜色值更加丰富,分的更细,颜色深度更深,
        (2)一般来说,像素深度有 1位,8位,16位,24位,32位。
▶ 计算机的颜色
    • 颜色是主管存在的,颜色是自然光在人的眼睛中和大脑中产生的一种映像
    • 颜色的本质决定于光的波长
    • 大自然的颜色是连续的,也就是说光的波长是连续的,在真实的大自然中由无数的颜色
    • 计算机中的颜色是离散的,计算机中不可能存储无数种颜色,所以将颜色有限化,所以用有限中颜色代替自然中无限种颜色,这个类似于AD转化(
      大自然模拟的转为计算机中数字的),这种离散化的缺点是不够真实,流掉了很多颜色,因此没有大自然的真实
    • 计算机能表达的颜色种类个数叫做 像素深度bpp(1位,8位,16位,24位,32位).
      (1) 1位:用1个二进制位来表示颜色,这种叫单色显示,示例是小饭店,理发店门口的LED屏
      (2) 8位:用8个二进制来表示颜色,此时能表达256种颜色,这种叫灰度显示,这时候是黑白的,没有彩色
      (3) 16位:用16个二进制位表示,能表示65536中颜色,这时候可以彩色显示了,一般是RGB565的颜色分布,(用5中二进制位分别表示红,绿,蓝),
           三元色(三基色)就是RGB,所有的自然界的颜色都可以用红绿蓝三种颜色组成,但是每种颜色位数不够长,显示的颜色还不够真实和细腻
      (4) 24位:此时能表示16777216中颜色,原理和12位一样,表示RGB888,但是能保证RGB的精度更高了,人们把这种RGB888的叫做真彩色。
      (5) 32位:其中24位表示红绿蓝三元色,还是RGB888分布,剩下8位表示透明度,这种显示方式叫做ARGB(A表示透明度),现在pc机都用这种

LCD接口技术

▶ 本质上是使用的TTL信号的(+5V表示逻辑1,0表示逻辑0)
▶ SoC的LCD控制器硬件接口是TTL电平的,LCD这边硬件接口也是TTL电平的,所以它们两本来是可以直接对接的,手机,平板,开发板都是这样对接的(一般用软排线连接)
▶ TTL电平不能传输太远,如果LCD屏幕和主板太远,就不能直接连接,需要转换,方式是:主机SoC(TTL) ->VGA -> LCD屏幕(TTL)
▶ 各种接口(TTL,LVDS,EDP,MIPI)在传输速率,距离,适配性方面不同,参考资料:http://blog.csdn.net/wocao1226/article/details/23870149
▶ RGB接口(SoC端)


 (1)VD[23:0]:24根数据线,用来传输图像信息,可知LCD是并行接口,速率才够快,通信非常复杂
  (2)HSYNC:水平同步信号
  (3)VSYNC:垂直同步信号,时序信号,为了让LCD能够正常显示给的控制信号
  (4) VCLK:像素时钟:CLD工作时需要主板控制器给LCD模组一个工作时钟
  (5) VDEN:时序有效标志,也是一个时序信号
  (5) LEND:行结束标志,210非必须,时序信号

LCD显示图像原理

▶ 像素:
    • 像素是组成图像的最基本元素,也可以说是可以被控制的最小单元,整个图片由很多个像素组成的
    • 像素可以被单独控制,控制其亮或者不亮(单色屏)
                       控制其亮度的强弱(比如亮度的50%,这种叫灰度屏,以前的黑白电视机)
                       控制其显示一定的颜色(现在常用的彩色显示屏)
▶ 扫描:
    • 扫描是一个动作,而不是一个名字,扫描是依次(从左到右,从上往下)把颜色数值放入屏幕中的所有的像素的这个过程,
    • 扫描是由最早的CRT显示器遗留下来的,到LcD显示器的年代已经失去了意义,但是我们还是延续的这样叫
    • 显示器的扫描显示原理依赖于人眼的视觉暂留,只要显示器扫描频率大于人眼的发现频率,人眼看到的图像就是恒定的,如果扫描频率小于人眼就会看到闪动(扫描频率
        的概念叫做刷新率)

▶ LCD驱动器,如图


    • LCD驱动器一般和LCD显示面板集成在一起(本来是分开的,面板的只做面板,比如三星,LG,驱动器也是由专门的IC厂商生产,集成厂商买来面板和驱动器后集成在
      一起做成LCD屏幕),面板只负责里面的液晶分子旋转透光,面板需要一定的模拟电信号来控制液晶分子;LCD驱动器芯片负责给面板提供控制液晶分子的模拟信号,驱动
      器的控制信号(数字信号)来自于自己的数字接口,这个接口就是LCD屏幕的外部接口(RGB接口(SoC端))
▶ LCD控制器
    • LCD控制器一般集成在SoC内部,它负责通过数字接口向远端的LCD驱动器提供控制像素显示的数字信号,LCD控制器的关键在于时序,它必须按照一定的时序和LCD驱动通信
        ;LCD控制器受SoC控制,SoC会从内存中拿像素数据给LCD控制器并最终传给LCD驱动器
▶ 显示内存(显存)
    • SoC在内存中挑选一段内存(一般来说是程序员挑选的,但是挑选时必须符合一定规则),然后通过配置将LCD控制器和这段内存(也就是显存)连接起来构成一个映射关系
        ,一旦这个关系建立之后,LCD控制器就会自动从显存中读取像素数据传输给LCD驱动器,这个现实过程不需要CPU的参与
    • 现实体系建立起来后,CPU就不用管LCD控制器,驱动器,面板这些了,以后CPU就只需要输出图片的像素数据到显存,硬件就会自动响应,屏幕自己显示了
▶ 总结:LCD显示分为两个阶段,第一阶段建立显示体系的过程,目的就是CPU初始化LCD控制器,使其和显存联系起来构成映射,第二阶段就是映射建立之后,此阶段主要任务是
    将图像丢到显存中去

RGB接口

▶ LCD显示单位:帧(frame);显示器上一整个画面的内容成为一个帧,整个显示工作时一帧一帧的在显示,电影显示就是以24帧的速度在播放图片
▶ 六个主要的时序参数,如图


  • HSPW 水平同步信号脉宽
  • HBPD 水平同步信号前肩
  • HFPD 水平同步信号后肩
  • VSPW 垂直同步信号脉宽
  • VBPD 垂直同步信号前肩
  • VFPD 垂直同步信号后肩

  (1)一行的通信过程说明:LCD控制器先发送一个HSYNC高电平脉冲(脉冲宽度是HSPW),脉冲告诉驱动器下面的的信息是一行信息,然后开始这一行信息,
  这一行信息包括四部分:HSPW+HBPD+有效行信息+HFPD。 其中前肩(HBPD)和后肩(HFPD。)都属于时序信息(和LCD屏幕有关)。有效行信息(HOZVAL)就是横向分辨率。
  (2)一帧图像其实是一列,一列图像由多行组成,每行都是一个个的RGB接口时序完成的
  (3)一帧图像分为四部分:VSPW+VBPD+帧有效信号+VFPD, VSPW是帧的同步信号宽度,用来告诉驱动器一帧图像要开始了,VBPD和VFPD分别的垂直同步信号前后肩,用来缓冲
       下一帧的开始
  (4)注意:这6个参数对应LCD显示器其实是没用的,这些信号其实是老式的CRT显示器才需要的,LCD本身不需要,但是由于历史兼容性要求,LCD选择了兼容CRT显示器的这些时序
     要求,所以理解LCD显示器时序和编程时,用CRT的方式来理解不会错
 (5)注意:这几个时序参数本身是LCD屏幕本身的参数,与LCD控制器无关,所以同一个主板如果接的屏幕不一样则时序参数设置也会不同,这些参数来源一般是:厂商,已示例代码
    的形式,或者来自LCD的数据手册,如图 


  (6)单位:H开头的三个单位都是DCLK(像素时钟),V开头的三个单位都是TH,这样设置好处是改变了像素时钟后,不用改变这里的时序参数

LCD控制器FIMD 结构框图


    ▶ FIMD在内部与AHB总线等相连接,再外部提供RGB接口,I80接口,YUV接口与外部相连接,我们210使用的是RGB

虚拟屏幕叠加
    (1) 虚拟屏幕:多个屏幕显示叠加在一起的效果,比如电视台图标,下方飘动的字幕
    (2) 210的LCD控制器有5个虚拟屏幕window[4-0],虚拟屏幕不存在于真实而存在于内存中,虚拟屏幕其实就是一个内存中的显示区域,有几个显存区域就有几个虚拟屏幕,
        但是这些虚拟屏幕都被映射到了一个真实的显示屏上面,(叠加时注意上面一层会覆盖下面一层,所以在设置寄存器选项时要注意)
    (3) 好处:1、可以保证不污染图像,方便程序处理 2、减少屏幕刷新,提高效率,减少CPu工作量

虚拟显示
    (1) 解决问题:小分辨率的屏幕上,显示大分辨率的图像
    (2) 实现细节:我们在屏幕上看到不同图像时,需要对显存区域进行刷新,即是屏幕移动一点点,真个屏幕也需要从新刷新,工作量和完全重新显示是一样的,
        这样CPU刷新工作量大
   (3) 减少CPU工作量办法:使用虚拟显示;在内存中建立显示缓存的时候实际建立一个很大的区域,然后让LCD去对应其中的一部分区域,作为有效的显示区域,将来要显示
       大图像时,直接将大图像全部一次性的加载入显示缓存区,然后通过移动显示区域就可以实现大图像的不同区域了。

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

源14

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值