FSMC_LCD
1. TFT-LCD(Thin Film Transistor Liquid Crystal Display)[薄膜晶体管液晶显示器]
2. 液晶
物质在熔融状态或在溶液状态下虽然获得了液体物质的流动性,但在材料内部仍然保留有分子排列的一维或二维有序,在物理性质上表现出各向异性。这种兼有晶体和液体部分性质的状态称为液晶态,处于这种状态下的物质叫液晶。
![](https://img2018.cnblogs.com/blog/1526920/201901/1526920-20190109161932416-1692423632.png)
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的更多相关文章
随机推荐
- 算法提高 最小方差生成树(Kruskal)_模板
算法提高 最小方差生成树 时间限制:1.0s 内存限制:256.0MB 问题描述 给定带权无向图,求出一颗方差最小的生成树. 输入格式 输入多组测试数据.第一行为N,M,依次是 ...
- chrome 调试进入 paused in debugger 状态解决办法
今天调试代码的时候总是一刷新就进入 debugger 状态,总是需要按几次 F8 才能进到页面,我那个暴脾气啊,几次后终于是忍不住了,然后再网上找到了解决办法.就如一位网友所说,“Oh God! I ...
- web 容器
jboss简单使用(AS7): 将项目打成war包,放到jboss-as-web-7.0.0.Final\standalone\deployments下 访问 alias .name+port+war ...
- eclipse maven项目下载jar包失败解决办法
1.找到我们的本地maven仓库目录 我的是 H:\Java\maven\Repository 2.搜索出该目录下的*lastUpdated.properties文件并删除,如下图所示,可以通过模糊搜 ...
- 最全的MonkeyRunner自动化测试从入门到精通(10)
三.MonkeyRunner复杂的功能开始学习 (1)获取APK文件中ID的两种方式 Monkeyrunner的环境已经搭建完成,现在对Monkeyrunner做一个简介. Monkeyrunner工 ...
- 目标检测(七)YOLOv3: An Incremental Improvement
项目地址 Abstract 该技术报告主要介绍了作者对 YOLOv1 的一系列改进措施(注意:不是对YOLOv2,但是借鉴了YOLOv2中的部分改进措施).虽然改进后的网络较YOLOv1大一些,但是检 ...
- TestFlight 的使用记载
TestFlight: TestFlight内测网上很多资料.大概是先打包,然后在App Store Connect 里添加测试员的邮箱地址. Testflight.top:公测要用到test ...
- ARGB 颜色取值与透明度对照表
1. ARGB 依次代表透明度(alpha).红色(red).绿色(green).蓝色(blue). 2. 透明度分为256阶(0-255),计算机上用16进制表示为(00-ff).透明就是0阶,不 ...
- 利用django-crontab设定定时任务
Django中想要设定定时任务的方法有很多,如celery.apscheduler.crontab等等,本文用crontab来实现. 想用apscheduler实现请看本人另一篇博客:使用APSche ...
- kafka7 探索生产者同步or异步发送消息
1.生产者:在发送完消息后,收到回执确认. 主要是在SimpleProducer.java中修改了发送消息的2行代码,用到了回调函数,修改如下: //发送消息 ProducerRecord<St ...