嵌入式Linux裸机开发(十五)——LCD

一、LCD简介

LCD(Liquid Crystal Display)是液晶显示器简称。LCD的构造是在两片平行的玻璃基板当中放置液晶盒,下基板玻璃上设置TFT(薄膜晶体管),上基板玻璃上设置彩色滤光片,通过TFT上的信号与电压改变来控制液晶分子的转动方向,从而达到控制每个像素点偏振光出射与否而达到显示目的。

1、LCD类型

按照背光源的不同,LCD可以分为CCFL和LED两种。

A、CCFL

指用CCFL(冷阴极荧光灯管)作为背光光源的液晶显示器(LCD)。CCFL 的优势是色彩表现好,不足在于功耗较高。

B、LED

指用LED(发光二极管)作为背光光源的液晶显示器(LCD),通常意义上说WLED(白光LED)。

LED的优势是体积小、功耗低,因此用 LED作为背光源,可以在兼顾轻薄的同时达到较高的亮度。其不足主要是色彩表现比 CCFL差,所以专业绘图LCD大都仍采用传统的CCFL作为背光光源。

2、技术参数

A、对比度

LCD制造时选用的控制IC、滤光片和定向膜等配件,与面板的对比度有关,对一般用户而言,对比度能够达到350:1就足够了,但在专业领域这样的对比度并不能满足用户的需求。相对CRT显示器轻易达到500:1甚至更高的对比度而言,只有高档液晶显示器才能达到如此程度。市场上三星、华硕、LG等一线品牌如今的LCD显示器均可以达到1000:1对比度这一级别。

B、亮度

LCD是一种介于固态与液态之间的物质,本身是不能发光的,需要借助额外的光源才行。因此,灯管数目关系着液晶显示器亮度。最早的液晶显示器只有上下两个灯管,普及型的最低也是四灯,高端的是六灯。四灯管设计分为三种摆放形式:一种是四个边各有一个灯管,但缺点是中间会出现黑影,解决的方法就是由上到下四个灯管平排列的方式,最后一种是“U”型的摆放形式,其实是两灯变相产生的两根灯管。六灯管设计实际使用的是三根灯管,厂商将三根灯管都弯成“U”型,然 后平行放置,以达到六根灯管的效果。

C、信号

响应时间指的是液晶显示器对于输入信号的反应速度,也就是液晶由暗转亮或由亮转暗的反应时间(亮度从10%-->90% 或者90%-->10%的时间),通常是以毫秒(ms)为单位。人眼存在“视觉残留”的现象,高速运动的画面在人脑中会形成短暂的印象。动画片、电影等一直到现在最新的游戏正是应用了视觉残留的原理,让一系列渐变的图像在人眼前快速连续显示,便形成动态的影像。人能够接受的画面显示速度一般为每秒24张,这也是电影每秒24帧播放速度的由来,如果显示速度低于这一标准,人就会明显感到画面的停顿和不适。按照这一指标计算,每张画面显示的时间需要小于40ms。这样,对于液晶显示器来说,响应时间40ms就成了一道 坎,高于40ms的显示器便会出现明显的画面闪烁现象,让人感觉眼花。要是想让图像画面达到不闪的程度,则就最好要达到每秒60帧的速度。

D、可视角度

LCD的显示原理中,当背光源通 过偏极片、液晶和取向层之后,输出的光线便具有了方向性,大多数光都是从屏幕中垂直射出来的,所以从某一个较大的角度观看液晶显示器时,便不能看到原本的颜色,甚至只能看到全白或全黑。目前为止有三种比较流行的技术解决,分别是:TN+FILM、 IPS(IN-PLANE -SWITCHING)和MVA(MULTI-DOMAIN VERTICAL alignMENT)。

可视角度分为平行和垂直可视角度,水平角度是以液晶的垂直中轴线为中心,向左和向右移动,可以清楚看到影像 的角度范围。垂直角度是以显示屏的平行中轴线为中心,向上和向下移动,可以清楚看到影像的角度范围。可视角度以“度”为单位,比较常用的标注形式是直接标出总水平、垂直范围,如:150/120度,目前最低的可视角度为120/100度(水平/垂直),低于这个值则不能接受,最好能达到150/120度以上。

3、特性

LCD特性如下:

低压微功耗

外观小巧精致,厚度只有6.5~8mm

被动显示型(无眩光,不刺激人眼,不会引起眼睛疲劳)

显示信息量大(因为像素可以做得很小)

易于彩色化(在色谱上可以非常准确的复现)

无电磁辐射(对人体安全,利于信息保密)

长寿命(寿命极长,但是液晶背光寿命有限,可以更换)

二、LCD接口技术

LCD的接口依据LCD的驱动方式和控制方式有:MCU模式,RGB模式,SPI模式,VSYNC模式,MDDI模式,DSI模式。应用较多的有MCU模式和RGB模式。MCU接口和RGB接口主要的区别是:

A、MCU接口方式:显示数据写入DDRAM,常用于静止图片显示。

B、RGB接口方式:显示数据不写入DDRAM,直接写屏,速度快,常用于显示视频或动画用。

RGB模式是大屏采用较多的模式,数据位传输有6位,16位和18位,24位之分。连线一般有:VSYNC,HSYNC,DOTCLK,CS,RESET,有的也需要RS,剩下就是数据线。RGB-LCD的显存是由系统内存充当的,因此其大小只受限于系统内存的大小。RGB屏只需显存组织好数据。启动显示后,LCD-DMA会自动把显存中的数据通过RGB接 口送到LCM。而MCU屏则需要发送画点的命令来修改MCU内部的RAM(即不能直接写MCU屏的RAM)。所以RGB显示速度明显比MCU快,而且播放视频方面,MCU-LCD也比较慢。

TFT-lCD常用的接口有TTL(RGB)、LVDS、EDP、MIPI。

1、TTL(RGB)

TTL(Transistor Transistor Logic)即晶体管-晶体管逻辑,TTL电平信号由TTL器件产生。TTL接口属于并行方式传输数据的接口,采用这种接口时,不必在液晶显示器的驱动板端和液晶面板端使用专用的接口电路,而是由驱动板主控芯片输出的TTL数据信号经电缆线直接传送到液晶面板的输人接口。TTL 接口信号电压高、连线多、传输电缆长,因而电路的抗干扰能力比较差,而且容易产生电磁干扰(EMI)。在实际应用中,TTL接口电路多用来驱动小尺寸 (15in以下)或低分辨率的液晶面板。TTL最高像素时钟只有28MHz。

TTL是信号时TFT-LCD唯一能识别的信号,早期的数字处理芯片都是TTL的,也就是RGB直接输出到TFT-LCD。

RGB接口:

VD[23:0]:24根数据线,用爱传输图像数据

HSYNC:水平同步信号,

VSYNC:垂直同步信号,

VCLK:像素时钟,

VDEN:

LEND:行结束标志

2、LVDS

LVDS,即Low Voltage Differential Signaling, 是一种低压差分信号技术接口。克服以TTL电平方式传输宽带高码率数据时功耗大、EMI电磁干扰大等缺点而研制的一种数字视频信号传输方式。LVDS输出接口利用非常低的电压摆幅(约350mV)在两条PCB走线或一对平衡电缆上通过差分进行数据的传输,即低压差分信号传输。采用LVDS输出接口,可以使得信号在差分PCB线或平衡电缆上以几百Mbit/s的速率传输,由于采用低压和低电流驱动方式,因此,实现了低噪声和低功耗。

三、LCD显示图像过程

LCD-TFT的图像显示过程如下图:

1、像素

像素是图像元素简称,是指基本原色素及其灰度的基本编码。像素只是分辨率的尺寸单位,而不是画质。像素是构成数码影像的基本单元,通常以像素每英寸PPI(pixels per inch)为单位来表示影像分辨率的大小。通过控制每一个像素显示一定的颜色可以显示一幅完整的图像。

2、图像扫描加载

LCD图像通过从左到右,从上到下的顺序加载每一个像素,进而加载整幅图像。

3、LCD驱动器、控制器

LCD控制器是SoC的内部外设,用于产生数字信号,按照一定的通信时序与LCD驱动器通信,控制LCD驱动器工作。

LCD驱动器集成在LCD面板,通过模拟电信号驱动LCD面板的液晶分子旋转发光。

四、LCD参数

1、RGB接口时序

HSPW:水平同步信号脉冲宽度

HBPD:水平同步信号前肩

HFPD:水平同步信号后肩

VSPW:垂直同步信号脉冲宽度

VBPD:垂直同步信号前肩

VFPD:垂直同步信号后肩

行数据格式:HSPW+HBPD+有效信息数据+HFPD(一个VDEN周期)

帧数据格式:VSPW+VBPD+帧有效信息+VFPD

具体的参数值查阅LCD技术文档。

2、LCD显示参数

像素pixel:图像元素

像素间距pitch:相邻连个像素中心之间的距离

分辨率resolution:LCD屏幕横向和纵向的像素个数,分辨率与屏幕尺寸无关。

清晰度:影像上各细部影纹及其边界的清晰程度

像素深度bpp(bits per pixel):一个像素由多少位保存

五、LCD编程实践

1、电路原理图查阅

查阅LCD文档LCD时序部分,获取LCD的时序参数

#define HSPW(10)

#define HBPD(40 - 1)

#define HFPD(210)

#define VSPW(7)

#define VBPD(23)

#define VFPD(22)

#define ROW(480)

#define COL(800)

#define HOZVAL(COL-1)

#define LINEVAL(ROW-1)

查阅核心板电路原理图LCD相关部分,相应GPIO引脚为GPF0-GPF3

查阅底板电路原理图LCD部分,背光打开引脚为XpwmTOUT1,对应GPIO为GPD0。

2、工程项目

工程项目以SDRAM初始化项目为模本,主要是在LCD屏幕画像素、横线、竖线、斜线、圆。

源码见附件。

lcd命令 linux,嵌入式Linux裸机开发(十五)——LCD相关推荐

  1. Linux开发十五_lcd驱动

    Linux开发十五 lcd驱动 象棋小子    1048272975 lcd能够支持彩色图像的显示和视频的播放,是一种很重要的输出设备,在一些嵌入式人机交互系统中,也往往需要lcd进行显示.Linux ...

  2. 嵌入式Linux裸机开发(五)——SDRAM初始化

    嵌入式Linux裸机开发(五)--SDRAM初始化 一.SDRAM初始化流程 S5PV210有两个独立的DRAM控制器,一个最大支持512MB,一个最大支持1024MB,但两个控制器必须支持相同类型的 ...

  3. 《Linux嵌入式实时应用开发实战(原书第3版)》——第2章 安装Linux2.1 发行版...

    本节书摘来自华章计算机<Linux嵌入式实时应用开发实战(原书第3版)>一书中的第2章,第2.1节,作者:(美)Doug Abbott 更多章节内容可以访问云栖社区"华章计算机& ...

  4. 《Linux嵌入式实时应用开发实战(原书第3版)》——3.5 Linux文件系统

    本节书摘来自华章计算机<Linux嵌入式实时应用开发实战(原书第3版)>一书中的第3章,第3.5节,作者:(美)Doug Abbott 更多章节内容可以访问云栖社区"华章计算机& ...

  5. 《Linux嵌入式实时应用开发实战(原书第3版)》——1.6 资源

    本节书摘来自华章计算机<Linux嵌入式实时应用开发实战(原书第3版)>一书中的第1章,第1.6节,作者:(美)Doug Abbott 更多章节内容可以访问云栖社区"华章计算机& ...

  6. linux exec 二程序,二十五、Linux 进程与信号---exec函数

    25.1 介绍 在用 fork 函数创建子进程后,子进程往往要调用一种 exec 函数以执行另一个程序 当进程调用一种 exec 函数时,该进程完全由新程序代换,替换原有进程的正文,而新程序则从其 m ...

  7. LINUX学习基础篇(十五)软件包管理

    LINUX学习基础篇(十五)软件包管理 软件包管理 软件包分类 源码包 二进制包 选择 依赖性 rpm包安装 rpm包命名规则 rpm包安装和卸载 服务命令 rpm查询命令 验证 数字证书 rpm中文 ...

  8. Linux的基本学习(十五)——认识系统服务

    Linux的基本学习(十五)--认识系统服务 前言 继续学习Linux 什么是daemon与服务(service) 从CentOS 7.x开始,传统的init已经被抛弃,取而代之的是systemd 什 ...

  9. STC8H开发(十五): GPIO驱动Ci24R1无线模块

    目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...

最新文章

  1. poj-2891(Strange Way to Express Integers)--中国剩余定理扩展欧几里得
  2. php数据库根据相似度排序,php数组字段相似度排序
  3. Linux declare命令、Linux tail 命令
  4. JAVA Opencv在图片上添加中文
  5. 3.4.1 - Numeric Types
  6. 【前端 · 面试 】HTTP 总结(十一)—— HTTPS 概述
  7. html 滑动门效果,怎样用DW做滑动门的效果
  8. 数据结构课设之航空订票系统(Java)下载链接在文末
  9. Python + Graphviz 绘制神经网络结构图
  10. Myeclipse 项目中报“无法解析类型 java.io.ObjectInputStream,从必需的 .class 文件间接引用了它”解决办法
  11. 用计算机进行几何证明属于,湖南省计算机二级精选选择题1
  12. Linux内核5.0版本五大模块及内核书籍推荐
  13. open judge1.7.13
  14. Notepad++安装--16进制插件HexEditor
  15. 三星研究院上机测试邮件范例2-optimal Path
  16. uboot mmc 命令 read write 说明
  17. mcnpf5输出结果_MCNP使用教程
  18. 72---百钱买百鸡问题
  19. 《口算大作战 概念版》功能规格说明
  20. python实现正则表达式匹配

热门文章

  1. 全志h2参数_全志h3芯片性能及参数评测
  2. 雅虎面临大幅裁员 每个员工创造的营收不到Facebook的三分之一
  3. NodeMCU检测Flash按键实现长按触发(用于进入设计好的配置模式)(C++开发)
  4. 信息安全实验五 之 计算机病毒与黑客实验脚本【恶意网页病毒演示病毒制作木马捆绑】
  5. I won't tell you this is about graph theory----zjfc bellman-ford算法与spfa算法
  6. 劲爆!java架构师百度网盘
  7. 深入理解JPEG图像格式Jphide隐写
  8. go实现高并发高可用分布式系统:log微服务的实现
  9. 大热片《寻梦环游记》到底在讲什么
  10. 解决.msi打不开问题