1. TFT-LCD(Thin Film Transistor Liquid Crystal Display)[薄膜晶体管液晶显示器]

2. 液晶

物质在熔融状态或在溶液状态下虽然获得了液体物质的流动性,但在材料内部仍然保留有分子排列的一维或二维有序,在物理性质上表现出各向异性。这种兼有晶体和液体部分性质的状态称为液晶态,处于这种状态下的物质叫液晶。

  液晶态——结晶态和液态之间的一种形态,是一种在一定温度范围内呈现既不同于固态、液态,又不同于气态的特殊物质态,它既具有各向异性的晶体所特有的双折射性,又具有液体的流动性。一般可分热致液晶和溶致液晶两类。在显示应用领域,使用的是热致液晶,超出一定温度范围,热致液晶就不再呈现液晶态,温度低了,出现结晶现象,温度升高了,就变成液体。
  液晶态既像液体具有流动性和连续性,而其分子又保持着固态晶体特有的规则排列方式,具有光学性质各向异性等晶体特征的物理性质。其结构介于晶体和液体之间,所以也称它为介晶态。
  液晶态物质特殊的微观结构,因而呈现出许多奇妙的性质,如光学透射率、反射率、颜色等性能对外界的力、热、声、电、光、磁等物理环境的变化十分敏感,因而在电子工业等领域里可以大显神通。目前,液晶的应用领域主要有:显示、软件复制、检测器、感受器及分析化学等方面。
  折射系数是光线穿透液晶时影响光线行进路线的重要参数;介电系数是液晶受电场的影响决定液晶分子转向的特性;利用液晶本身的这些特性外加适当的电压,来控制液晶分子的转动,进而影响光线的行进方向,来形成不同的灰阶,配合Color Filter形成不同的色彩,这就是我们看到的图像。
3. TFT-LCD结构

4. 相关名词

LC Liquid Crystal液态晶体
CF Color Filter彩色滤光片,分R、G、B三种颜色的滤光片
B/L Back Light背光
L/G Light Guide导光板
data line 数据线,进行资料的传输
scan line 扫描线,控制TFT开闭,

 

5. TFT-LCD显示器面板

5.1 偏光板

液晶分子可改变光的极化状态,穿过扭曲液晶时,光线被液晶分子扭转90度,通过TFT电压控制开关来控制液晶分子两端的电压,不同压差下有不同的穿透率,极化程度也相应改变,从而达到控制光线强弱的目的。

5.2 背光模组

背光模组主要为液晶面板提供均匀、高亮度的光源,由于TFT-LCD非自发光性,因此需利用外加光源,如发光二极管、冷阴极射线管等。

主要功能:提供液晶面板平面光源,提供适当的辉度、色度、均匀度、视角等

6 液晶亮度的控制原理

液晶必须用交流信号驱动,长时间维持某一极性,液晶分子可能受到破坏;

 7 TFT-LCD显示原理

图像都是由一个个像素(pixel)构成,每个像素均由三种颜色(RGB)的小光点(dot)构成。

7.1 TFT-LCD显示方式

先开启第一行,其余关闭;

接着关闭第一行,电压已经固定所以显示颜色也已固定。开启第二行,其余仍保持关闭。以此类推,可完成整个画面显示。

7.2 TFT-LCD指标

1)解析度:解析度越高,画面越清晰

解析度与驱动IC的关系

7.3 颜色深度:LCD可显示的颜色数目

对6位显示器共可以显示颜色数目为:2^6 + 2^6 + 2^6 = 262144;

对8位显示器共可以显示颜色数目为:2^8 + 2^8 + 2^8 = 16777216;

256 Color: 8(R) * 8(G) * 4(B) = 256 color;

High Color: 32(R) * 64(G) * 32(B) = 65536 color;

Full Color: 64(R) * 64(G) * 64(B) = 262144 color;

True Color: 256(R) * 256(G) * 256(B) = 16777216 color;

7.4 Dithering

7.5 TFT-LCD穿透率

TFT-LCD光学穿透率不高:TFT开口率约60%以上;CF的率光效率约1/3以下;偏光板的极化效率约40%上下。三者相乘约为8%。

闭口率:液晶分子中光学能够穿过的有效区域比例。即液晶分子中有效的透光区域与全部面积的比例,就称之为闭口率。

所以LCD的设计中要努力增加开口率,只有开口率提高,便可增加亮度,同时背光板的亮度也不用那么高。

8 TFT-LCD基本驱动方式

9 数字屏与模拟屏

液晶是根据电压发生扭曲,控制其透光多少决定亮度的。液晶和光都是没有颜色的,加了虑光片就产生了颜色。 因为是用电压控制,所以一定是模拟量了。这是从液晶本身的工作方式看; 液晶被加工成液晶屏以后,根据接出来的引线不同,分为模拟的和数字的。模拟屏和数字屏的屏本身是没有区别的,点亮的时候驱动行列驱动IC用的都是数字信号。

一、模拟屏和数字屏就屏本身来说是没有区别的,主要区别是在电路上。加到液晶屏像素上的肯定都是数字信号。在屏的边缘有很多行列驱动IC,就是所谓的驱动器。在屏后面的电路板上主要是控制器,控制器将收到的信号转换为符合驱动器时序要求的驱动信号,送给驱动器点亮相应的像素。
  模拟屏和数字屏在这写部分是一样的,他们的区别主要在于输入上。数字屏直接输入数字信号,RGB每种颜色信号都被视频处理电路转换若干位数字信号,直接送入屏上的控制驱动器,A/D转换是在前面的电路中完成的。而模拟屏输入是三基色模拟信号输入,它的A/D转换是在液晶屏上的电路中完成的。
  二、关键的区别在输入的RGB信号是仿真的还是数字的。真正的输入到屏上的是一个具体的电压值,这个电压值的大小决定了液晶的偏转的大小,从而决定了透过光的多少,可以认为驱动屏需要的是仿真信号,但绝对不是数字信号(对RGB信号而言,当然时序信号是数字的)输入的RGB如果是仿真信号,这样的屏叫仿真屏,在LCM的DRIVER IC内部进行采样处理,然后把样本值送到TFT上。输入的RGB信号如果是数字的叫数字屏,在LXM的DRIVER IC内部要进行D/A转换,这部份工作是由GAMMA校正电路完成的。
  (LCD真彩显示使用TFT型LCD,主动点阵显示,需要采用源极驱动器(source driver)和栅极驱动器(gate driver)去控制LCD场效应晶体管FET的源极与栅极.源极驱动器接收显示数据驱动LCD列显示,也称为数据驱动器(data driver),栅极驱动器控制逐行扫描。
  三、模拟屏的输入信号是模拟的RGB信号, 一般每行信号要和上一行反向, 还要有配合的VCOM信号, 需要+10V以上和-10V以下的偏压,垂直分辨率一般为230左右;数字屏的输入信号分TTL和LVDS等几种,一般红绿兰三色各用6到8位数字量来表示,不需要外接偏压, 垂直分辨率一般为400以上。
  其实数字屏与模拟屏都是用数字信号驱动显示的。现在人们所说的数字屏与模拟屏是从液晶屏的接口来区分的,可以直接输入模拟信号的屏就是模拟屏,要输入数字信号的就是数字屏。模拟屏比数字屏多了个A/D转换器,用来将模拟信号转换为数字信号。数字屏就直接处理数字信号来显示。数字屏从它的信号传输方式来分,可分为TTL,LVDS等等方式。

10 开发板液晶屏组成(数字屏)

一块TFT液晶屏(用来显示输入信息)、驱动IC R61509V芯片(驱动液晶屏使其正常工作)、模数转换芯片XPT2046(通过内部SPI通信将模拟信号转换为数字信号,然后对驱动IC进行寄存器分析);

11 FSMC

FSMC一旦设置好后WR(读)、WD(写)、DB0-DB15这些数据线和控制线,就会自动的产生时序送入到LCD;

TFT-LCD用FSMC_NE4做片选信号,这是由于SRAM操作时序与FSMC操作时序相似。不同的时LCD有RS信号,无地址信号;FSMC有地址信号,无RS信号;所以用FSMC的A10连接LCD的RS。

由于对TFT-LCD的操作类似于SRAM的操作,因此选择块1中的一个64MB的区域作为操作地址,这里选择了第4个存储区域,范围为0x6C000000-0x6FFFFFFF;LCD通过RS信号来确定传输的是数据是数据还是命令,结合FSMC控制原理,本质上RS可以理解为一个地址信号。把RS接到A10上面,当A10=0时就是写命令,A10=1时就是写数据,也就是操作A10为0或者为1就可以控制LCD是写入命令还是数据了。

LCD_BASE地址:根据外部电路连接确定,如选择bank1的块4就是从地址0x6c000000开始,而stm32的fsmc在16位数据宽度时,地址线是右移一位对齐,因此0x000007FE,二进制位0111 1111 1110,右移对齐一位后变为011 1111 1111,此时A10为最前面的0,也就是RS=0,代表写命令,如果这个地址再加1,就变成了100 0000 0000,此时A10为最前面的1,也就是RS=1,代表写数据。我们将这个地址强制转换为LCD_TypeDef结构体地址,那么可以得到LCD->LCD_CMD的地址就是0x6C0007FE,对应A10的状态为0(即RS=0),而LCD->LCD_DATA的地址就是0x6C000800(结构体地址自增),对应A10的状态为1,(即RS=1),从而实现对RS的控制。

FSMC_LCD的更多相关文章

随机推荐

  1. ubuntu git的安装更新及配置

    安装及配置 参考地址:http://blog.csdn.net/qq_26990831/article/details/51857399 1.git 安装 sudo apt-get install g ...

  2. release git tag easy use

    #!/usr/local/env bash FLOW_VERSION=v2.0-rc-`date +"%Y-%m-%dT%H-%M-%S"` echo "version: ...

  3. windows下eclipse实现操作虚拟机ubantu中的hdfs hbase

    1.首先打开虚拟机,查看虚拟机的ip地址 2.修改C:\Windows\System32\drivers\etc下的主机名与ip的映射文件 3.配置Map/reduce 配置成功后可以查看hdfs文件 ...

  4. GitLab使用公钥SSH key登录

    SSH key提供了一种与GitLab通信的方式,能够不输密码就进行版本控制 第一步,检查SSH key是否存在 如果存在则把SSH Key放到GitLab上,如果不存在则生成新的SSH Key,再放 ...

  5. 解决键盘输入被JDB占用的问题

    解决键盘输入被JDB占用的问题 本周的任务"迭代和JDB"在使用JDB调试时需要键盘输入数据,但我在正确的位置输入数据后发现JDB提示如图所示的错误. 上网查找后得知该错误的产生是 ...

  6. 将 ASP.NET Core 2.0 项目升级至 ASP.NET Core 2.1 RC 1

    今天微软发布了 .NET Core 2.1 RC 1 ,虽然只是 Release Candidate 版,但已经可以在生产环境中使用. NET Core 2.1 RC is supported by ...

  7. Codeforces 584 - A/B/C/D/E - (Done)

    链接:https://codeforces.com/contest/584 A - Olesya and Rodion - [水] 题解:注意到 $t$ 的范围是 $[2,10]$,对于位数小于 $2 ...

  8. python摸爬滚打之day21---- 模块

    1.MD5加密模块 MD5是一种不可逆的加密算法, 是安全而且可靠的.  在某些网站上能够搜到MD5解密工具, 其实并没有解密工具, 而是"撞库"的方式. 网站将一些MD5数据保存 ...

  9. Failed to load driver class com.mysql.jdbc.Driver from HikariConfig class classloader sun.misc.Launcher$AppClassLoader@18b4aac2

    1.错误日志 Failed to load driver class com.mysql.jdbc.Driver from HikariConfig class classloader sun.mis ...

  10. Python3学习之路~5.11 configparser模块

    用于生成和修改常见配置文档,当前模块的名称在 python 2.x 版本中为 ConfigParser, python 3.x 版本中变更为 configparser. 来看一个好多软件的常见文档格式 ...