• LCD显示屏原理与应用


    1、什么是LCD?

    (1)LCD(Liquid Crystal Display)俗称液晶.
    (2)液晶是一种材料,液晶这种材料具有一种特点:可以在电信号的驱动下液晶分子进行旋转,旋转时会影响透光性,因此我们可以在整个液晶面板后面用白光照(称为背光),可以通过不同电信号让液晶分子进行选择性的透光,此时在液晶面板前面看到的就是各种各样不同的颜色,这就是LCD显示。
    (3)被动发光和主动发光。有些显示器(譬如LED显示器、CRT显示器)自己本身会发光称为主动发光,有些(LCD)本身不会发光只会透光,需要背光的协助才能看起来是发光的,称为被动发光。
    (4)液晶应用领域:电视机、电脑显示屏、手机显示屏、工业显示屏等····

    2、LCD显示单位:帧(frame)


    (1)显示器上一整个画面的内容成为一个帧(frame),整个显示器工作时是一帧一帧的在显示。
    (2)电影实际就是以每秒种24帧的速度在播放图片。
    (3)帧内数据:一帧分为多行,一行分为多像素,因此一帧图像其实就是多个像素组成的矩阵。
    (4)帧外数据:整个视频由很多个帧构成,最终播放视频时逐个播放各个图像帧即可。

    3、为了向前兼容出现的六个时序参数

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

    (1)一行的通信过程是这样的:LCD控制器先发送一个HSYNC高电平脉冲(脉冲宽度是HSPW),脉冲告诉驱动器下面的信息是一行信息。然后开始这一行信息,这一行信息包括3部分:HBPD+有效行信息+HFPD。其中前肩和后肩都属于时序信息(和LCD屏幕具体有关),有效行信息就是横向分辨率。所以你可以认为一行总共包含4部分:HSPW+HBPD+有效行信息+HFPD。
    (2)一帧图像其实就是一列,一列图像由多个行组成,每行都是上面讲的这个时序。
    (3)一帧图像的通信过程是这样的:整个帧图像信号分为4部分:VSPW+VBPD+帧有效信号+VFPD。VSPW是帧同步信号宽度,用来告诉驱动器一帧图像要开始了;VBPD和VFPD分别是垂直同步信号前后肩。
    (4)必须说明:这6个参数对于LCD显示器其实本来是没用的,这些信号其实是老式的CRT显示器才需要的,LCD本身不需要,但是出于历史兼容性要求,LCD选择了兼容CRT显示器的这些时序要求,所以理解LCD显示器时序和编程时,用CRT的方式来理解不会错。
    (5)要注意,这几个时序参数本身是LCD屏幕本身的参数,与LCD控制器无关。所以同一个主板如果接的屏幕不一样则时序参数设置也会不同。这些参数的来源一般是:第一,厂家会直接给出,一般以实例代码的形式给出;第二,来自于LCD的数据手册。
    第一种方式,查看九鼎的210裸机教程(x210v3裸机开发教程src emplate-framebuffer-fontsourcehardwares5pv210-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
    第二种方式,查看LCD数据手册(X210光盘资料A盘DataSheetAT070TN92.pdf)

    LCD显示的主要相关概念
    1、像素(pixel)
      (1)整个图像是由一个个的像素组成的,像素就是一个显示点。
    2、像素间距(pitch)
      (1)pitch是连续2个像素的像素中心的距离。一般的像素是方形的,所以横向pitch和纵向的pitch一样的。但是也有不一样的。
      (2)像素间距会影响屏幕的最佳观看距离。像素间距大的适合远距离看,像素间距小的适合近距离看。

    3、分辨率(resolution)
      (1)整个屏幕的横向和纵向的像素个数就叫分辨率,譬如X210开发板用的屏幕是800×480.
      (2)屏幕尺寸和分辨率无关的,像开发板的屏幕尺寸是7寸的(纯屏幕对角线尺寸是7英寸)。
      (3)屏幕尺寸和分辨率和像素间距三者之间有关联。

    4、清晰度
      (1)清晰度是一个主观概念,是人眼对显示效果的一个主观判断。说白了就是人看起来感觉清晰不清晰。
      (2)客观来讲,清晰度由分辨率和像素间距共同决定。一般的,屏幕尺寸固定时分辨率越高越清晰,分辨率越低就越不清晰;分辨率固定下,屏幕尺寸越小越清晰,越大越不清晰。
      (3)清晰度还由其他很多因素共同决定。

    5、像素深度(bits per pixel,简称bpp)
      (1)一个像素在计算机中由多少个字节数据来描述。
      (2)计算机中用二进制位来表示一个像素的数据,用来表示一个像素的数据位越多,则这个像素的颜色值更加丰富、分的更细,颜色深度就更深。
      (3)一般来说像素深度有这么几种:1位、8位、16位、24位、32位。

    应用

      要想LCD工作,必须给LCD屏幕和显存之间建立一个映射(映射是在CPU初始化LCD控制器来完成的)。(这也是LCD显示的2个阶段的第一阶段,第二阶段中我们只需要给显存中丢入相应的数据,LCD屏幕就会自动显示相应内容)

    #define FB_ADDR            (0x23000000)
    #define ROW                (600)
    #define COL                (1024)
    #define HOZVAL            (COL-1)
    #define LINEVAL            (ROW-1)
    
    #define XSIZE            COL
    #define YSIZE            ROW
    u32 *pfd = (u32 *)FB_ADDR;
    void draw_xy(u32 x,u32 y, u32 color)
    {
    *(pfd + COL * y + x) = color;
    }

    绘制点函数,通过初始化将内存中一段地址作为显存。向显存中地址写入相应值,就会让相应点显示颜色。

      

  • 相关阅读:
    ORACLE的专用模式和共享模式(转)
    用TSQL修改数据库的恢复模型
    Python中的数组
    hotmail是如何被劫持的?
    [收藏] vss自动备份
    在Oracle中模拟ms Sql 中的自动增加字段
    Oracle重建所有表和索引
    CentOS6.0安装PostgreSQL9.1
    linux查找文件命令find
    Linux修改网络配置
  • 原文地址:https://www.cnblogs.com/PengfeiSong/p/6380453.html
Copyright © 2020-2023  润新知