LCDlcd1602液晶显示屏屏的问题

  【摘要】手机已经成为我们日常工作和生活不可或缺的一个工具,在实际使用中,我们会碰到各种各样的手机故障问题,而液晶屏(L" />
免费阅读期刊
论文发表、论文指导
周一至周五
9:00&22:00
手机液晶屏常见故障分析与维修方法
2014年21期目录
&&&&&&本期共收录文章20篇
  【摘要】手机已经成为我们日常工作和生活不可或缺的一个工具,在实际使用中,我们会碰到各种各样的手机故障问题,而液晶屏(LCD)的故障是我们最不想碰到的,因为这类故障的维修成本很高,以致我们一旦碰到这类故障都直接选择更换新机。本文根据实际维修案例,结合自己的维修心得,介绍手机液晶屏常见故障的分析和维修方法,无论是对工厂工程技术人员,还是对维修工都具有重要的指导意义。 中国论文网 /8/view-6382444.htm  【关键词】LCD;故障;维修   一、手机LCD工作原理   手机LCD模块主要包含LCD屏和背光模组两部分,LCD屏由上下两块玻璃基板中间灌装液晶材料,背光模组包含背光灯和相关光学材料。因此要使LCD能够正常显示,必须让LCD屏和背光模组都正常工作。   LCD屏接口分为串口和并口两种,其中并口目前主要采用的有CPU接口和REB接口两种模式。CPU接口有并行方式,现在较多使用80方式的。8080系列CPU并行接口,由8位双向数据脚D7-D0、RD、WR、D/C、CS等组成,如图1所示。RGB接口现在主要有两种方式:16bit和18bit。16bitRGB数据位是R1-R5,G0-G5,B1-B5,显示比例为R:G:B=5:6:5,可显示彩色数量为65k种色彩,18bitRGB数据位是R0-R5,G0-G5,B0-B5,显示比例为R:G:B=6:6:6,可显示色彩为262k种色彩。RGB模式需要的信号有HSYNC,VSYNC,ENABLE,CS,RESET,有的也需要RS。图2为基于TI平台的处理器TCS3100并口RGB接口示意图。   图1 并口CPU模式LCD接口电路图   图2 并口RGB模式几口示意图   图1中,D0至D8用于传输命令或显示数据;LRSTB为复位信号;LRDB和LWRB为读写命令;LPA0用于数据或命令的识别;CS为片选信号 ;VDD为LCD屏电源输入端;LEDC为背光控制信号;VLED为背光电压输入脚。   图2中,lcd_b和lcd_r为数据线,可根据相应的设置分别为蓝绿信号的最低位;HS信号为行同步信号;VS信号为帧同步信号;MCLK为象素时钟信号;DE/CS信号为片选信号;RGB_DATA为RGB并行输入数据线,可设置相应的数据宽度。   背光驱动电路主要用于给背光灯供电,并控制背光灯的亮度,如图3所示。   图3中,VBAT为电池供电电源,经过MA1501电感式背光驱动电路之后,从LED+输出给背光模组供电,正常情况下LED+的电压为14.5V-18V之间,LED-为反馈电压输入端,PWM LED为背光电压控制信号。通过改变这个信号的占空比可以改变LED+的电压大小,从而调整背光亮度。   二、LCD常见故障分析和维修   LCD常见故障有开机白屏故障,开机黑屏故障和显示花屏故障三种。   1.开机白屏故障   对开机白屏问题,我们首先应明确此时LCD模组的背光模组已经正常工作,白屏是应为LCD屏没有工作,因此我们重点检修和LCD屏相关的电路。碰到这种问题可按照如下思路进行检修。   (1)检查LCD屏和主板的排线连接是否正常。   (2)检查LCD屏是否有损坏。   (3)在前两步的基础上检查主板上元件焊接是否正常,有无漏焊或虚焊现象。此时我们可以测量LCD模组各信号线和电源线的对地阻抗,如果某一条线为无穷大,说明线路有开路;如果地线的对地阻抗不为零,也说明线路有开路;如果某一条线的对地阻抗偏小或者为零,说明此脚有短路现象。对开路问题有可能是FPC内部铜线折断或烧断引起,也有可能是主板元件漏焊或虚焊引起。对短路问题一般是连锡或电容和IC击穿对地短路引起。   (4)在测量了对地阻抗之后,如果还无法判断出故障原因,此时我们可以采用电压检测法检测LCD供电电源、复位信号、片选信号、时钟信号、数据信号是否存在。   (5)经过以上检测基本可以确定硬件是否有问题,如果故障还是无法排除,此时我们可以重新烧录软件来确定是否是软件故障。   需要说明的是,在测量LCD插座各引脚的的对地阻抗时,应该让万用表表笔测量卡座的金针,而不是测量卡座的底部焊接位置,如图-4所示。同时,LCD供电电源纹波过大时有时也会导致白屏现象。   图4 卡座引脚对地阻抗测量示意图   2.开机黑屏故障   开机黑屏是因为LCD背光模组工作不正常引起的,以MA1501背光驱动电路为例,其电路图如图-3所示,分析及解决故障方法如下:   (1)外观检查法检测元器件发现元器件没有损坏,排线也连接正常。   (2)电阻测量法测量LED+,VBAT,PWM LED的对地阻抗,发现都是几百欧姆,都在正常值范围。   (3)电压测量法测量VBAT、LED+、PWM LED的电压,测得VBAT电压为3.8V,LED+的电压为14.8V,PWM LED的电压为1.2V。而正常情况下PWM LED应该为1.8V,确定故障点。   (4)断开R1A测量PWM LED的电压发现有1.8V,由此判定应该是MA1501内部损坏把PWM LED电压拉低,更换MA1501之后,故障排除。   需要指出的是,由于MA1501等电压转换芯片的底下都有散热接地片,所以拆换时要先加一点助焊膏,否则强力拆换很容易使芯片内部断裂。   3.显示花屏故障   引起手机显示花屏故障现象的原因有很多,归纳起来有如下几个方面:   (1)元器件不良和组装不良导致的现象,这类故障通常用外观检测法就可以排除,也是我们首先要做的工作。其中元器件不良主要关注LCD模组、CPU、FLASH、DDR以及和这些元器件匹配的电路网络元器件。这一步主要检测元器件有无机械损坏。   (2)电路信号不良,此时我们要用万用表测量时钟信号、数据信号、复位信号、电源信号以及同步信号等是否存在。如果信号存在则说明硬件是通的,此时我们要进一步用万用表检测电源信号,复位信号,同步信号的正确性,正确则说明硬件没有问题。   (3)用示波器观测信号的时序是否正确,以及时钟的频率等是否正确,如果不正确我们就要更新手机的软件。   注意:中频IC不良也会导致开机花屏,因为如果中频不正常,会导致系统时钟信号也不正常和系统开机初始化的时候也会不正常。   三、LCD故障维修注意事项   (1)在拿取时只能拿取边缘,装配中切记要压力均匀,只压器件边缘,不能压中间,只能均匀用力,如用手按压了液晶显示器件中部,需起码放置1小时后再通电。   (2)如果LCD屏表面不小心留有唾液或水滴,请立即擦掉,长时间与水接触会引起变形或褪色。   (3)LCD产品属于微电子产品,维修时对静电防护要求很高,维修时需加设防静电措施。   (4)烙铁头温度根据LCD模块类型、尺寸、IC位置而定,应尽可能低。一般情况下,FPC的焊接温度为330±10℃,EL的焊接温度为260±10℃。(如用无铅焊接温度需提高约30 ℃)   (5)焊接时间不宜太长,正常情况下,在烙铁熔锡后接触到LCD上到LCD焊接完毕的时间为2秒到7秒。(FPC的焊接时间是5-7秒,EL的焊接时间是不可超过3秒,为保证焊接质量,FPC焊接要保证拖焊3-4个来回。)   (6)焊接材料:共晶型、低熔点。(锡线的熔点有铅的为190℃,无铅的熔点为220℃)。   (7)不要使用酸性助焊剂。   (8)安装、操作时要带手指套,避免手汗、油污、化装品等的沾污。如已被沾污,应及时用细布、棉球轻拭处理。如沾污过重必须用溶剂清洗时,只能用异丙醇(甘油)、酒精、氟利昂擦拭,并迅速干燥。   作者简介:   郝国勇(1982―),男,湖北阳新人,惠州市技师学院电子工程系专业教师,从事电子行业8年,曾就职于TCL公司,现从事电子通信专业研究。   赵丽芝(1984―),女,山西晋城人,惠州市技师学院电子工程系专业教师,从事物理电子教学工作5年。
转载请注明来源。原文地址:
【xzbu】郑重声明:本网站资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们删除已转载的信息。
xzbu发布此信息目的在于传播更多信息,与本网站立场无关。xzbu不保证该信息(包括但不限于文字、数据及图表)准确性、真实性、完整性等。6777人阅读
Wince(77)
porority of HSYNC, VSYNC is very important in LCD debug follow
Steps for Debug
1) check the power supply is correct
2) check the clock for LCD is correct and output normally
3) check the CPU side Pads(Pin/GPIO) settings.
4) check the DATA Enable signal
5) check the proiority of Hsync/Vsync
6) check the LCD init code is correct for this panel
7) Check the timming setting in video_mode in LCDC(IPU) driver. be carefully on the timiing params, plese check the spec
8) right shift and left shift are aloways launched by the incorrect timming params
below form :
(1) 液晶显示模式
&&&&&&& 并行:MCU接口、RGB接口、Vysnc接口
&&&&&&& 串行:SPI接口、MDDI接口
(2) 屏幕颜色
&&&&&&& 实质上即为色阶的概念。色阶是表示手机液晶显示屏亮度强弱的指数标准,也就是通常所说的色彩指数。目前彩屏手机的色阶指数从低到高可分三个层次,最低单色,其次是256色、4096色、 65536色;目前最高的为26万色。256=2的8次方,即8位彩色,依次律推,65536色=2的16次方,即通常所说的16位真彩色,26万=2的18次方,也就是18位真彩。其实65536色已基本可满足我们肉眼的识别需求。
(3) 分辨率
&&&&&&& LCD的分辨率与CRT显示器不同,一般不能任意调整,它是制造商所设置和规定的。分辨率是指屏幕上每行有多少像素点、每列有多少像素点。手机上LCD的分辨率一般是176点×220行的QCIF显示模式和240点×320行的QVGA显示模式。
(4) 刷新率
&&&&&&& LCD刷新频率是指显示帧频,亦即刷新一帧屏所需要的时间,与屏幕扫描速度及避免屏幕闪烁的能力相关。也就是说刷新频率过低,可能出现屏幕图像闪烁或抖动。
(5) 可视角度
&&&&&&& 指从不同的方向清晰地观察屏幕上所有内容的角度,这与LCD是DSTN还是TFT有很大关系。因为前者是靠屏幕两边的晶体管扫描屏幕发光,后者是靠自身每个像素后面的晶体管发光,其对比度和亮度的差别,决定了它们观察屏幕的视角有较大区别。DSTN-LCD一般只有60度,TFT-LCD则有160度。
(6) 响应时间
&&&&&&& 响应时间愈小愈好,它反应了液晶显示器各象素点对输入信号反应的速度,即pixel由暗转亮或由亮转暗的速度。响应时间越小则使用者在看运动画面时不会出现尾影拖拽的感觉。一般会将反应速率分为两个部份:Rising 和Falling,而表示时以两者之和为准。
2. 接口形式:
(1) 并行方式
a、MCU接口
&&&&&& 目前主要有i80和m68两种类型。这种LCD模式须LCD有自己的GRAM。
b、RGB接口:
& 通过时钟同步来实现同步传输,此模式不需要LCD有GRAM来缓存数据。接口如下:
(2) 串行方式
a、SPI接口:
&&&&&&& 目前手机各个平台无使用此接口方式。接口如下:
b、MDDI接口:
&&&&&& 高通公司的一种接口形式,具有传输速率高、抗EMC性能好、降低功率损耗等特点。
3. 调试注意事项:
&&&&&& 测量硬件信号,保证硬件状态的正常:
a、背光是否打开?
&&&&&& LCD是否出于白屏状态?
b、数字电压和IO电压是否产生?
&&&&& 一般IC,数字电压为2.8V,IO电压为1.8V
c、reset信号是否有效过?
&&&&&& reset信号一般低有效,低有效时间看IC spec要求。
d、控制信号是否输出?
&&&&&& CS、RS、WR信号是否有输出
e、数据线上是否输出?
&&&&& 数据线是8bit、16bit还是18bit,是否有输出?
&&&&&&& 手机软件系统虽不象计算机软件系统那样复杂,但同样具有类似的构架:操作系统+应用程序。
&&&&&&&& 目前操作系统,一般是一个任务抢占式实时操作系统,使用中断陷阱、信号、队列等概念组织各项任务(应用程序)的建立、执行、切换。在操作系统的管理下,各项任务看似是并行运行的。
&&&&&&& 对于驱动调试需要进行两方面的工作,第一熟悉手机软件结构,第二研究新的外设功能,编写新驱动并集成到手机软件中。对于LCD驱动,目前各个平台软件上已经集成此模块代码,我们需要在此基础上进行代码调整和功能验证。
a、LCD的物理地址分配
&&&&&& 查看主芯片memory分配,在代码实现上指定命令和数据传送的端口地址。
b、LCD命令和数据格式
&&&&&&& 根据实际的硬件设计及IC要求,决定LCD命令和数据的传输方式,保证指令和数据能有效的从主芯片侧传递到LCD IC。
c、LCD指令含义
&&&&&&& 熟读LCD IC spec,了解寄存器配置含义,理解LCD的控制方式和工作方式。
d、开关屏序列
&&&&&&& 了解POWER ON顺序和POWER OFF顺序
e、背光驱动的控制方式
&&&&&& 电流驱动还是电压驱动?
f、LCD模块ID识别的方法
&&&&&& 硬件电路是否支持?若无,软件如何识别?
4. 常见问题总结:
LCD的调试中,延时特别重要,一定要确定延长的时间足够,特别是更改电压寄存器后面的延时。记得有一次屏幕出现抖动的现象,一直查不出原因,厂家从日本派了2次来人,都没解决;最后,把所有的时序测试出来,发现延时不足,影响延时的一个函数传递参数错了。
1.初始化前需要一个延时(大概为10ms),使Reset稳定;
2.如果出现花屏现象,很大的可能是总线速度问题;
3.如果屏幕闪动比较明显,可以通过调整电压来稳定,一般调节的电压为VRL、VRH、VDV和VCM;这些电压也可以用来调节亮暗(对比度);
4.调节对比度时,也可以通过调节Gamma值来实现,要调节的对象为:PRP、PRN、VRP、VRN等;
5.注意数据是8位、16位时,写命令和数据的函数注意要变化;
6.如果调试时发现LCD的亮度有问题,首先检查(考虑)提供给LCD的电流是否一致,再考虑调节电压。
7.开机花屏问题,最简单的处理方式就是在INIT结束的地方增加一个刷黑屏的功能。也可以在睡眠函数里加延时函数;
8. 如果随机出现白屏问题,一个可能是静电问题,把LCD拿到头发上擦几下,如果很容易出现白屏那肯定就是静电问题了。另外一个在有Backend IC的情况下,也有可能bypass没处理好。
9.还碰到过一个问题,写PLL的寄存器写了2次,屏幕就抖动的很厉害。这个问题应该跟LCD内部实现有关了,并不是每个都会。
10.横向抖动,看不清画面,修改ENTRY MODE
11.如果字体反了,修改drive output control ,GS,SS;
12.如果图像刷新上面的字体跑到下面等,区域刷新没处理好;
13.如果图像分开显示,起始点不在原点,多半是全屏刷新起始点寄存器没有设好;
14.DMA刷新方式,每次刷新为一行,只能一次刷一整行,不然会出错,减少了循环计算时间,提高了LCD的刷新速度,也就减少了响应时间;
15.PWM的频率
&&& 对于LCD的背光来说,一般做法是通过升压芯片来提供对电压的支持。而这些升压芯片都会有PWM输入PIN,通过PWM来调节背光的明暗度。不过有时候我们会发现背光调节幅度陡然增大缩小,或是背光不足够亮(相对于作为GPIO PIN输出HIGH来说),但是通过万用表测量PWM输入,电压降的幅度都是处于正常情况下,这时候我们不妨调低PWM的输出频率。因为有很多升压芯片对PWM的频率都会有要求,将频率调至datasheet中标示的范围,一般都能解决此问题。
& 16.LCD的星星点点
& 在调试的时候,我们会发现LCD上有莫名其妙的星星点点。一般这种情况下,我们首先要看看VGH和VGL电压是否处于datasheet所描述的范围之内。如果属于标准范围之内,但星星点点依旧,很有可能就是时序问题。这时候不妨在代码中变更采样的时序(比如上升沿采样改为下降沿采样)。如果无法在代码中更改,也可以在clk信号线加个100R电阻,也可能解决该问题。
&17.背光的反馈电压
& 升压芯片的输出电压需要反馈,如果没有接LCD的话,那两个极性的电压是无法出来的。线路中的二极管也是属于易损的类型,背光不亮很多情况是该二极管坏掉。反馈中的电阻如果没有计算正确,那么很可能反馈电压会超出预料,从而导致损坏LCD。
&18.显示抖动
&& 在确认VPW,VBP,VFP,HPW,HBP,HFP的设置已经符合LCD规格要求后,如果屏幕的显示还在抖动的话,不妨将输出的时钟信号频率降低,有可能解决该问题。
&19.一些英文的缩写
& VPW: Vsync Pulse Width
& VBP: Vsync Back Porch
& VFP: Vsync Front Porch
& HPW: Hsync Pulse Width
& HBP: Hsync Back Porch
& HFP: Hsync Front Porch
网上资料:
今天调LCD出现在这样的问题,就是显示图像时,在明暗颜色过渡间,会出现一些亮点,有时还不停的闪动,谁遇到过这样的情况呀?是硬件的问题还是软件可调呀?
我调整pixel clock 极性,由上升沿采样改由下降沿采样就没事了.不知怎么回事
2 LCD有水波纹一般什么问题
个信号short到地,可以看一下板子是否受到干扰,比如电源或晶振部分,再一个是否你输出至LCD 的信号线走的有问题,看看电源和背光电压是否有纹波,检查一下LCD周边外围电路的电阻、电容、电压是否很干净。
这个主要是在信号输入时右能出现于拢,信号线之间、地线与信号线之间出现了信号的反射或于拔;还有一种情况就是摄像头控制IC不稳定,输出的控制信号不稳或有毛剌
&&& 1,背光芯片输出的纹波:检查charge pump(dc-dc)电路,替换为合适的滤波电容;
&&& 2,LCD driver 电源管理:
(1)3级chargepump之间确保有足够的时间延迟,不同的系统这个要调整;
(2)chargepump的输出端要加足够大的滤波电容,具体选择看波形
&&& 3,修改driver ,主要是有关显示周期方面方面的寄存器设置
肯定是背光电源module的问题,估计你采用的是PWM方式控制屏的亮度!
这种纹波产生的原因是LCD的刷屏频率与白光灯的频率频差小于20Hz造成的,就像在日光灯下看高速旋转的电风扇叶子的影响一样!好解决,要软件调一调PWM的频率,运气好就可以解决问题,如果LCD的刷频不是很稳定,就不能100%解决问题了
于LCD条纹的问题:
&&& 1、条纹的宽度,较宽的条纹一般跟背光有较大的关系
&&& 2、有些LCD在晃动时,由于视角的变化,逐行扫描比较明显,这种情况跟有些driver IC有关系,只能通过修改参数优化
&&& 3、参数没有调试好,涉及扫描频率、驱动行列的电压有关!
4手机 LCD&Camera ESD 问题
Air Display, Standalone(Isolated), Preview mode( Camera on)
手机为单板(不是折叠或者滑盖)
如果手机屏朝上,+-10kV
但手机朝下,+-3kV就花屏了
试试屏向下把手机垫起离开桌面一定距离还有没有问题,如果好了,就找一下放电回路,可能是手机屏的控制电路与金属板距离短了后,电容增大,阻抗减小,本来可以从其它路径放掉的电,从这个电路走了,想办法提高这个路径的阻抗或为放电电流提供一个其它的低阻抗通路。
5 调试LCD出现花屏
1)信号的时序,尤其是RS,很大可能是送的数据被认为是指令而出错了。
2)复位信号的时机、时长,复位信号变高到送数据的时间足够。
3)初始化的指令先后顺序、正确性。
4)初始化时高压的打开是否符合规格式要求?
S3c2440ALCD控制器配置实例
本文所用的是东华TFT液晶屏(WXCAT35),配置为常用的16BPP(5:6:5)模式。
先看一下TFT屏的操作时序图:
图一&一般TFT型LCD时序图
外部引脚信号:
VSYNC:&垂直同步信号,表示扫描1帧的开始。
HSYNC:&水平同步信号,表示扫描1行的开始。
VDEN:数据使能信号。
VD[23:0] : LCD像素数据输出端口。
VCLK:像素时钟信号。
寄存器参数:
VSPW:垂直同步信号的脉宽,单位为1行(Line)的时间。
VFPD:&垂直同步信号的前肩,单位为1行(Line)的时间。
VBPD:&垂直同步信号的后肩,单位为1行(Line)的时间。
LINEVAL&:垂直显示尺寸-1,即屏行宽-1。
HBPD:水平同步信号的后肩,单位为1VCLK的时间。
HFPD:水平同步信号的前肩,单位为1VCLK的时间。
HSPW:水平同步信号的脉宽,单位为1VCLK的时间。
HOZVAL:水平显示尺寸-1,即屏列宽-1。
由上图可知:
扫描一帧所需的时间:
=((VSPW+1)+(VBPD+1)+( LINEVAL+1)+(VFPD+1))个行时间。
扫描一行所所需的时间:
=&((HSPW+1)+(HSPD+1)+(HFPD+1)+ (HOZVAL+1))个VCLK时间。
而一个VCLK时间由LCD寄存器LCDCON1内的CLKVAL决定:
=HCLK/[2*(CLKVAL+1)]
因此扫描一帧所需的时间:
T=[(VSPW+1)+(VBPD+1)+( LINEVAL+1)+(VFPD+1)]* [(HSPW+1)+(HSPD+1)+(HFPD+1)+ (HOZVAL+1)]* HCLK/[2*(CLKVAL+1)]
即帧频率为:1/T
注意:以上的时序图为一般TFT的时序图。实际TFT对应的时序图时序可能不一样(比如极性,符号等)。下文中详述。
图2东华TFT型LCD(WXCAT35)时序图
//2440A寄存器参数
#define MVAL&&&&&&&&(13)
#define MVAL_USED&&&&(0)&&&&&&&&&&&&&&&&&//0=each frame&&&1=rate by MVAL
#define INVVDEN&&&&&&&&&(1)&&&&&&&&&&&&&&&&&//0=normal&&&&&&&1=inverted
#define BSWP&&&&&&&&&&&&(0)&&&&&&&&&&&&&&&&&//Byte swap control
#define HWSWP&&&&&&&&&&&(1)&&&&&&&&&&&&&&&&&//Half word swap control
#define PNRMODE&&&&&&&(3)&&&&&&&&&&&&&&//&设置为TFT屏
#define BPPMODE&&&&&&&&(12)&&&&&&&&&&&&&&&//&设置为16bpp模式
//东华屏参数
#define VBPD&&&&&&&&&&&&&&(3-1)&&&&&&&&&&&&&&&&&&&&&//12&垂直同步信号的后肩&&&参数见&东华pdf
#define VFPD&&&&&&&&&&&&&&(14-1)&&&&&&&&&&&&//4&垂直同步信号的前肩
#define VSPW&&&&&&&&&&&&&&(15-1)&&&&&&&&&&&&//5垂直同步信号的脉宽
#define HBPD&&&&&&&&&&&&&&(38-1)&&&&&&&&&&&&//(22)水平同步信号的后肩
#define HFPD&&&&&&&&&&&&&&(20-1)&&&&&&&&&&&&//(33)水平同步信号的前肩
#define HSPW&&&&&&&&&&&&&&(30-1)&&&&&&&&&&&&//(44)水平同步信号的脉宽
#define CLKVAL_TFT&(6)
#define LCD_XSIZE_TFT&&&&(240)//屏实际列数
#define LCD_YSIZE_TFT&&&&(320)//&屏实际行数
#define SCR_XSIZE_TFT&&&&(240) //虚拟屏列数
#define SCR_YSIZE_TFT&&&&(320) //虚拟屏行数
#define HOZVAL_TFT&&&(LCD_XSIZE_TFT-1)
#define LINEVAL_TFT&&(LCD_YSIZE_TFT-1)
以上有关东华屏参数设置,在PDF中如下所示:
我的板子设置HCLK=100M因此CLKVAL= int(HCLK/(VCLK*2)-1),其中VCLK即上图的DCLK=6.4M, CLKVAL=&int&(100/12.8-1)=int(6.8)=6
因此&VCLK&= HCLK/[(CLKVAL+1)x2]= 100/2*(6+1)= 7.14MHz
VFRAME=HCLK/[(CLKVAL+1)x2]/{(VSPW+1+VBPD+1+LCD_YSIZE_TFT+VFPD+1)*(HSPW+1+HSPD+1+HFPD+1+LCD_XSIZE_TFT)}=64.4HZ
注意:有些液晶屏给的参数单位可能不一样,需要自己计算。
方法如下:
VBPD:确定帧同步信号和帧数据传输前的一段延迟时间,是帧数据传输前延迟时间和行同步时钟间隔宽度的比值,如图,VBPD=t3/t6=1.02 mS/31.77μs=32。
VFPD:确定帧数据传输完成后到下一帧同步信号到来的一段延迟时间,
是帧数据传输后延迟时间和行同步时钟间隔宽度的比值,如图,VFPD=t5/t6=0.35 ms/31.77μs=11。
VSPW:确定帧同步时钟脉冲宽度,是帧同步信号时钟宽度和行同步时钟间隔宽度的比值。如图,VSPW=t2/t6=0.06 ms/31.77μs=2。
HBPD:确定行同步信号和行数据传输前的一段延迟时间,描述行数据传输前延迟时间内VCLK脉冲个数,如图,VBPD=t7×VCLK=1.89 μs×25MHz=47。
HFPD:确定行数据传输完成后到下一行同步信号到来的一段延迟时间,描述行数据传输后延迟时间内VCLK脉冲个数,如图,HFPD=t9×VCLK=0.94 μs×25 MHz=&24&。
&&&& &HSPW:确定行同步时钟脉冲宽度。描述行同步脉冲宽度时间内VCLK脉冲个数,如图,HSPW=3.77μs×25 MHz=&94&。
S3C2440A LCD控制器配置
1.&LCDCON1寄存器
rLCDCON1=(CLKVAL_TFT&&8)|(MVAL_USED&&7)|(PNRMODE&&5)|(BPPMODE&&1)|0;
其中:CLKVAL_TFT =&6;MMODE = MVAL_USED = 0;PNRMODE=3;BPPMODE=12。
ENVID=0(关闭视屏输出,需要开启显示是设为1)。
2.&LCDCON2寄存器
rLCDCON2=(VBPD&&24)|(LINEVAL_TFT&&14)|(VFPD&&6)|(VSPW);&相关值见上文宏定义
3.&LCDCON3寄存器
rLCDCON3=(HBPD&&19)|(HOZVAL_TFT&&8)|(HFPD);&相关值见上文宏定义
4.&LCDCON4寄存器
rLCDCON4=(MVAL&&8)|(HSPW);&相关值见上文宏定义
5.&LCDCON5寄存器
rLCDCON5 = (1&&11) | (1&&10) | (1&&9) | (1&&8) | (0&&7) | (0&&6) | (1&&3)&&|(BSWP&&1) |&(HWSWP);关于信号的极性&图二(东华TFT型LCD(WXCAT35)时序图)
其中BSWP与数据存放有关见下文。
6.&LCDSADDR1寄存器
volatile unsigned short LCD_BUFFER[SCR_YSIZE_TFT][SCR_XSIZE_TFT];//全局变量
#define M5D(n)&&&&&&&&&&&&&&&&&&&&&&&&&&((n) & 0x1fffff)&&&&&// To get lower 21bits
rLCDSADDR1=(((U32)LCD_BUFFER&&22)&&21)|M5D((U32)LCD_BUFFER&&1);
7.&LCDSADDR2寄存器
rLCDSADDR2=M5D( ((U32)LCD_BUFFER+(SCR_XSIZE_TFT*LCD_YSIZE_TFT*2))&&1 );
//单位为字节&一个点16bit=2字节
8.&LCDSADDR3寄存器
rLCDSADDR3=(((SCR_XSIZE_TFT-LCD_XSIZE_TFT)/1)&&11)|(LCD_XSIZE_TFT/1);
// 1=*16bit/半字=16/16
LCD初始化程序:
void Lcd_Init(void)
&&&&&&&//引脚功能初始化
&&&&&&&rGPCUP&&= 0x;
&&&&&&&rGPCCON = 0xaaaa02a9;
&&&&&&&rGPDUP&&= 0x;
&&&&&&&rGPDCON=0 //Initialize VD[15:8]
&&&&&&&rLCDCON1=(CLKVAL_TFT&&8)|(MVAL_USED&&7)|(PNRMODE&&5)|(BPPMODE&&1)|0;
&&&&&&&&&&&// TFT LCD panel,16bpp TFT,ENVID=off(Disable the video output and the LCD control signal)
&&&&&&&rLCDCON2=(VBPD&&24)|(LINEVAL_TFT&&14)|(VFPD&&6)|(VSPW);
&&&&&&&rLCDCON3=(HBPD&&19)|(HOZVAL_TFT&&8)|(HFPD);
&&&&&&&rLCDCON4=(MVAL&&8)|(HSPW);
&&&&&&&rLCDCON5 = (1&&11) | (1&&10) | (1&&9) | (1&&8) | (0&&7) | (0&&6) | (1&&3)&&|(BSWP&&1) | (HWSWP);
&&&&&&&//5:6:5
&&&&&&&rLCDSADDR1=(((U32)LCD_BUFFER&&22)&&21)|M5D((U32)LCD_BUFFER&&1);
&&&&&&&rLCDSADDR2=M5D( ((U32)LCD_BUFFER+(SCR_XSIZE_TFT*LCD_YSIZE_TFT*2))&&1 );//单位为字节&一个点16bit=2字节
&&&&&&&rLCDSADDR3=(((SCR_XSIZE_TFT-LCD_XSIZE_TFT)/1)&&11)|(LCD_XSIZE_TFT/1);// 1=*16bit/半字=16/16
&&&&&&&rLCDINTMSK|=(3); // MASK LCD Sub Interrupt
&&&&&&&rTCONSEL &= (~7) ;&&&&&// Disable LPC3480
&&&&&&&rTPAL=0; // Disable Temp Palette
16BPP模式特点:
内存数据格式:
数据引脚输出:没有用到的引脚可用作GPIO
系统结构图:
要显示图像,只要向LCD_BUFFER[]先入像素数据(R(5):G(6):B(5))。LCD控制器会自动通过DMA读取数据送往TFT LCD显示。
这里介绍一个Bmp2RGB.exe,次程序可将bmp图转换为RGB(5:6:5)格式的c格式的数组
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:196183次
积分:2670
积分:2670
排名:第9196名
原创:47篇
转载:142篇
评论:32条
(1)(5)(3)(2)(10)(3)(2)(1)(2)(2)(5)(2)(3)(2)(18)(1)(1)(1)(5)(4)(1)(2)(3)(1)(8)(12)(10)(12)(4)(3)(9)(5)(5)(12)(13)(3)(9)(1)(1)(2)

我要回帖

更多关于 lcd12864液晶显示屏 的文章

 

随机推荐