LCD 调试总结
(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. 调试注意事项:
(1) 硬件
测量硬件信号,保证硬件状态的正常:
a、背光是否打开?
LCD是否出于白屏状态?
b、数字电压和IO电压是否产生?
一般IC,数字电压为2.8V,IO电压为1.8V
c、reset信号是否有效过?
reset信号一般低有效,低有效时间看IC spec要求。
d、控制信号是否输出?
CS、RS、WR信号是否有输出
e、数据线上是否输出?
数据线是8bit、16bit还是18bit,是否有输出?
(2) 软件
手机软件系统虽不象计算机软件系统那样复杂,但同样具有类似的构架:操作系统+应用程序。
目前操作系统,一般是一个任务抢占式实时操作系统,使用中断陷阱、信号、队列等概念组织各项任务(应用程序)的建立、执行、切换。在操作系统的管理下,各项任务看似是并行运行的。
对于驱动调试需要进行两方面的工作,第一熟悉手机软件结构,第二研究新的外设功能,编写新驱动并集成到手机软件中。对于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 pass;
但手机朝下,+-3kV就花屏了
试试屏向下把手机垫起离开桌面一定距离还有没有问题,如果好了,就找一下放电回路,可能是手机屏的控制电路与金属板距离短了后,电容增大,阻抗减小,本来可以从其它路径放掉的电,从这个电路走了,想办法提高这个路径的阻抗或为放电电流提供一个其它的低阻抗通路。
5 调试LCD出现花屏
1)信号的时序,尤其是RS,很大可能是送的数据被认为是指令而出错了。
2)复位信号的时机、时长,复位信号变高到送数据的时间足够。
3)初始化的指令先后顺序、正确性。
4)初始化时高压的打开是否符合规格式要求?
LCD 调试总结的更多相关文章
- RK平台LCD调试说明【转】
本文转载自:http://blog.csdn.net/u014770862/article/details/76274951?locationNum=2&fps=1 RK平台LCD调试说明 原 ...
- LCD调试1.0
所谓调lcd timing就是去调lcd时序,一般是6个部分:HFPD(在一行扫描以前需要多少个像素时钟),HBPD(一行扫描结束到下一行扫描开始需要多少个像素时钟),VFPD(一帧开始之前需要多少个 ...
- LCD调试
(1) 液晶显示模式 并行:MCU接口.RGB接口.Vysnc接口 串行:SPI接口.MDDI接口 (2) 屏幕颜色 实质上即为色阶的概念.色阶是表示手机液晶显示屏亮度强弱的指数标准,也就是通常所说的 ...
- hud项目lcd调试过程的一些见解
1.帧缓冲(FrameBuffer)设备驱动帧缓冲设备为标准的字符型设备,在Linux中主设备号29,定义在/include/uapi/linux/major.h中的FB_MAJOR,次设备号定义帧缓 ...
- hud项目lcd调试
lcd规格: 像素:480x280 bpp:16 pix_format:RGB565 在开发板终端中执行: ls /dev/fb0 -l ---> crw-rw---- 1 root ...
- 高通平台 lcd driver 调试小结
一.概述 1.1 简介 本文档主要包括LCD模块的驱动流程分析.Framebuffer相关知识.Gralloc等相关内容,以及LCD调试的一些经验和相关bug的分析和讲解. 1.2 开发环境 And ...
- LCD之mipi DSI接口驱动调试流程【转】
转自:http://blog.csdn.net/liwei16611/article/details/68146912 1.LCD MIPI DSI协议 MIPI-DSI是一种应用于显示技术的串行接口 ...
- 高通LCD驱动调试
本文转载自:http://www.itgo.me/a/x6305658852004979994/lcd%20qcom 来自 :http://blog.csdn.net/dacaozuo/article ...
- android系统平台显示驱动开发简要:LCD基本原理篇『一』
平台信息:内核:linux3.4.39系统:android4.4 平台:S5P4418(cortex a9) 作者:瘋耔(欢迎转载,请注明作者) 欢迎指正错误,共同学习.共同进步!! 关注博主新浪博客 ...
随机推荐
- SQL SERVER数据库基本语法汇总,仅代表个人整理,仅供参考
以下SQL基本语法皆由本人整理,以下做一个汇总,关于游标,可作为了解,不要求掌握,其他查询.修改.删除操作等基本语法必须会使用.select * from [dbo].[TBICJE]select m ...
- hydra暴力破解
hydra,是一个非常好用的暴力破解工具,而且名字也很cool. 下面是官网上的介绍: AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, ...
- Api版本管理
关于SpringMVC中如何添加,这一篇说的很详细了. http://www.cnblogs.com/jcli/p/springmvc_restful_version.html 版本管理可以通过路径进 ...
- 玩转u8g2 OLED库 MAX7219_32X8点阵模块
u8g2 OLED库 + MAX7219_32X8点阵模块 理论基础 玩转u8g2 OLED库,一篇就够 玩转u8g2 OLED库,一篇就够(字数太多 要分篇) 实验内容 Full screen bu ...
- 第一章、Python环境搭建
一.安装Python解释器 Windows下 Python开发环境搭建 1.官网下载: https://www.python.org/downloads/ 2.选择对应的版本 3.双击运行 4.选 ...
- The usage of Markdown---文字强调:加粗/斜体/文本高亮/删除线/下划线/按键效果
更新时间:2019.09.14 1. 序言 有时候,我们需要对某些文字进行强调,例如粗体和斜体.而Markdown通常可以使用星号*或者下划线_进行文字强调. 2. 加粗 如果想要达到加粗的效果,可以 ...
- python3.8安装flask出现错误“ModuleNotFoundError: No module named '_ctypes'”
本想在CentOS下配置flask+nginx+uwsgi环境,结果安装最基础的flask包都出了问题...以下是我的环境: 服务器:阿里云ECS CentOS7 python版本:3.8.0 问题描 ...
- 关于微信oauth登录的坑
这是实习公司里微信公众号的一个小项目,用的是ssm.问题是获取用户openid为空. 分析下步骤 首先用户点击微信公众号按钮 访问微信服务器获取code 跳转到项目url 拿code访问微信服务器,获 ...
- justjavac(迷渡)知乎live--<<前端工程师的入门与进阶>>听讲总结
知乎听讲总结 知乎live----jjc<前端工程师的入门进阶> git地址 内容 前端的基础知识,计算机专业基础知识感觉还行.前端后台都有做过,现在觉得自己要深入.但是只看框架源码和自己 ...
- selenium学习-拖拽页面元素
一.ActionChains包 模拟鼠标的操作要首先引入ActionChains的包 from selenium.webdriver.common.action_chains import Actio ...