搜档网
当前位置:搜档网 › 手机CPU接口和RGB接口的区别

手机CPU接口和RGB接口的区别

手机CPU接口和RGB接口的区别
手机CPU接口和RGB接口的区别

目前国内手机绝大多数都采用的CPU接口的LCD屏,分辨率QVGA(320*240)以下为主流。但随着手机对于多媒体和各种新功能的增加,如移动电视、GPS、视频多媒体等,需求的手机屏幕也越来越大,分辨率越来越高。3.0" WQVGA, 3.5"half VGA等分辨率以上的手机屏目前已经越来越多地在新方案设计中被采用,相信未来大屏高分辨率、集成丰富多媒体和商务功能的手机会是一个发展的趋势和卖点所在。

对于WQVGA(400*240/420*272)分辨率以上的手机屏来讲,一般都是采用RGB接口。而目前的普通非智能手机平台如MTK/英飞凌/高通等都只有CPU接口,若要采用RGB接口的大屏,则要添加一个CPU接口到LCD RGB接口的转换芯片。目前爱普生(EPSON) 已有相应的比较成熟的LCD控制器产品,另外还支持多层显示叠加、屏幕旋转、画中画等功能,可以实现更多的开关机动画、UI界面切换动画等功能。另外相比如普通的CPU接口驱动屏的方案来讲,可以实现更高的屏幕刷新率的同时大大降低CPU的工作量,让CPU去处理其他的事情,提高手机的反应和处理速度。

对于MPL高速串口的屏, 可再接国办的LM2512进行转换, 目前主要应用在一些采用高仿iPhone, 采用原装屏的手机上。

LCD的CPU接口和RGB接口手机液晶脚位:

1)LCD的CPU接口和RGB接口(CPU接口也有写成MPU接口的2008-03-11 15:33目前一般彩色LCD的连接方式有这么几种:MCU模式,RGB模式,SPI模式,VSYNC 模式,MDDI模式等。

MCU模式:目前最常用的连接模式,一般是80系统(68系统已经不存在了)。数据位传输有8位,9位, 16位和18位。连线分为:CS/,RS(寄存器选择),RD/,WR/,再就是数据线了。优点是:控制简单方便,无需时钟和同步信号。缺点是:要耗费GRAM,所以难以做到大屏(QVGA以上).

RGB模式:大屏采用较多的模式,数据位传输也有6位,16位和18位之分。连线一般有:VSYNC,HSYNC,DOTCLK,VLD,ENABLE,剩下就是数据线。它的优缺点正好和MCU模式相反。

SPI模式:采用较少,连线为CS/,SLK,SDI,SDO四根线,连线少但是软件控制比较复杂。

VSYNC模式:该模式是在MCU模式下增加了一根VSYNC(帧同步)信号线而已,应用于运动画面更新。

MDDI模式:高通公司于2004年提出的接口MDDI(Mobile Display Digital Interface),通过减少连线可提高移动电话的可靠性并降低功耗,这将取代SPI 模式而成为移动领域的高速串行接口。

连线主要是host_data,host_strobe,client_data,client_strobe,power,GND

几根线。目前瑞萨和三星才刚刚出货(主要是大屏的)。

通过观察LCM模组提供商提供的封装接口图,就大致可以看出它提供的是什么接口,主要是根据用户的要求来选择。

A)用MCU模式时由于数据可以先存到IC内部GRAM后再往屏上写,所以这种模式LCD可以直接接在MEMORY的总线上。

B)用RGB模式时就不同了,它没有内部RAM,HSYNC,VSYNC,ENABLE,CS,RESET,RS可以直接接在MEMORY的GPIO口上,用GPIO口来模拟波形,但有没有这么多空闲的GPIO口是个要考虑的问题,另外由于它不带RAM所以数据是直接往

2)LCD的接口有多种,分类很细。主要看LCD的驱动方式和控制方式。

大致可以分为 MCU接口和RGB接口。

对于MCU接口主要又可以分为8080模式和6800模式,这个主要是时序的区别。对于RGB接口则可以分为模拟RGB, ADC接口和数字RGB接口。至于需要不需要HSNC,VSNC信号,这个是在RGB接口中,但也要看采用什么样制式的控制驱动模式,也可以不需要的。

MCU接口: 会解码命令,由 timing generator 产生时序信号,驱动 COM 和SEG 驱动器。

RGB接口: 在写LCD register setting时,和MPU没有区别。区别只在于图像的写入方式。

MCU模式需要的信号有WR,RD,RS,RESET,CS。

RGB模式需要的信号有HSYNC,VSYNC,ENABLE,CS,RESET,有的也需要RS。

用MCU模式时由于数据可以先存到IC内部GRAM后再往屏上写,所以这种模式LCD可以直接接在MEMORY的总线上。

用RGB模式时就不同了,它没有内部RAM,HSYNC,VSYNC,ENABLE,CS,RESET,RS可以直接接在MEMORY的GPIO口上,用GPIO口来模拟波形,但有没有这么多空闲的GPIO口是个要考虑的问题,另外由于它不带RAM所以数据是直接往屏上写的,不能保存,所以要往屏上不断的写数据,不这样做屏就会变白。所以通常接个外部RAM,把数据存在外部RAM里,再往屏上刷。或是干脆把屏接在带RAM的多媒体IC上。

3)最主要的区别是:

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

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

只有TFT模块才有RGB接口。

LCD接口包括串口和并口两种,其中并口包括CPU和RGB两种:

A:CPU接口有6800/8080并行方式,现在较多使用80方式的。8080系列CPU并行接口,由8位双向数据脚 D7-D0、RD、WR、D/C、CS组成。假如CS是低电平且RD为低,RD输入作为读数据锁存信号。无论是从GDRRAM读显示数据还是从状态寄存器读状态都需要受D/C脚的控制。假如CS是低电平且WR为低,WR输入作为写数据锁存信号。无论是写显示数据到GDDRAM还是将命令写入命令寄存器都需要受D/C脚的控制。8080模式和6800模式,这个主要是时序的区别

CPU接口的LCD的Driver IC都带GRAM,driver IC作为MCU的一片协处理器,接受MCU发过来的Command/Data,可以相对独立的工作;

CPU接口也就是常说的系统接口包括80、68及串口,以80为例包括

18/16/9/8 bits种传输形式,18位接口即RGB均为6位数据,通过LCD Driver IC处理将6位数据转换成灰阶电压输送到panel上。

对于CPU接口的LCM,其内部的芯片就叫LCD驱动器。主要功能是对主机发过的数据/命令,进行变换,变成每个象素的RGB数据,使之在屏上显示出来。这个过程不需要点、行、帧时钟。

B:RGB接口现在主要有两种方式,16bit和18bit,16bit RGB数据位是

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种色彩。其中R0,B0,G0为低位,R5,G5,B5为高位,在16bit,65k 色显示方式中,通常为低位R0,B0悬空或置高,置低及接高位R5,B5等四种方式,这根据LCD厂家所选用的LCD Driver IC来决定。除了RGB接口数据线外,RGB接口连接方式还需要MCK,HSYNC和VSYNC三根时钟线来保证, RGB接口数据按照正确的时序由CPU向LCD传输,其中MCK为系统时钟,提供稳定的方波时钟,HSYNC为行同步信号, VSYNC为场同步信号。而RGB接口的LCD的Driver IC

可不带,一般没有(省钱)。RGB接口则可以分为模拟RGB, ADC接口和数字RGB 接口

用RGB接口的MCU一般更强大,有专门的接口电路,RGB接口的driver IC去掉了一个接口电路(即CPU接口中处理Command/data的IO电路),就需要MCU

提供RGB接口相对与系统接口而言是一种高速口,它需要外部提供时钟以及行、帧同步信号,也是将数据转换为相应的电压输送到panel上。H/V两个场同步信号。

对于RGB接口的LCM,主机输出的直接是每个象素的RGB数据,不需要进行变换(GAMMA校正等除外),对于这种接口,需要在主机部分有个LCD控制器,以产生RGB数据和点、行、帧同步信号。

1.2.1.1 CPU接口:

CPU接口其实主要支持三种模式:i80模式、M68模式和VSYNC+CPU模式。

i80模式:支持可选择的总线宽度8/9/16/18-bit(默认为8位)。而对于研发人员来说,我们主要关注的就是它的连接方式,如下图:

其实其主要的操作就是时序的逻辑信号了,对于i80系统接口来说主要就是:片选信号CS,读信号/RD,写信号/WR,数据命令区分信号RS,以及数据线(可根据实际情况进行宽度的选择),再加上一个复位REST信号,硬件上连接就这么多了。然后的任务就是关注时序和驱动程序流程的问题了,这里不提。

M68模式:支持可选择的总线宽度8/9/16/18-bit(默认为8位),其实际设计思想是与i80的思想是一样的,主要区别就是给模式的总线控制读写信号组合在一个引脚

上,而增加了一个锁存信号,对于硬件上来说,连线总数不变。其连接示意图如下:

VSYNC+CPU模式:该模式其实就是就是在上述两个接口模式上加了一个VSYNC 信号,这样就与上述两个接口有很大的区别。该模式支持直接进行动画显示的功能,

它提供了一个对CPU接口最小的改动,实现动画显示的解决方案。

在这种模式下,内部的显示操作与外部VSYNC信号同步。可以实现比内部操作更高的速率的动画显示。但由于其操作方式的不同,该模式对速率有一个限制,那就是对内部SRAM的写速率一定要大于显示读内部SRAM的速率。

其连接可参考下图,但在TI平台的TCS3100处理器暂时不支持该模式。

在实际的设计中,可以根据处理器以及实际的产品需求来进行接口的选择。

1.2.1.2 并行的RGB接口

并行的RGB接口是一个由外部时钟同步控制LCD显示的数据接口。在TI平台的处理器TCS3100上有一个专用的RGB接口与该接口连接,其连接示意图如下:

其中,lcd_b和lcd_r为数据线,可根据相应的设置分别为蓝绿信号的最低位;HS信号位行同步信号,VS信号位帧同步信号,MCLK为象素时钟信号,RGB_DA TA为RGB数据线,可设置相应的数据宽度。其具体的实际操作可参看相应的数据手册。

1.2.1.3 串行数字接口

串行数字接口支持两种串行接口3-wire和I2C接口。其中3-wire数据接口共有DA TA、SCLK和LOAD三条信号线,类似与标准的SPI接口,其具体时序图可参看数据手册。I2C

接口有两条数据线CLK和DA TA,其具体操作可参考数据手册。

并行:MCU接口、RGB接口、Vysnc接口

串行:SPI接口、MDDI接口

接口形式:

(1)并行方式

a、MCU接口

目前主要有i80和m68两种类型。这种LCD模式须LCD有自己的GRAM。

b、RGB接口:

通过时钟同步来实现同步传输,此模式不需要LCD有GRAM来缓存数据。接口如下:

(2) 串行方式

a、SPI接口:

目前手机各个平台无使用此接口方式。接口如下:

b、MDDI接口:

高通公司的一种接口形式,具有传输速率高、抗EMC性能好、降低功率损耗等特点。常用LCD连接方式

目前一般彩色LCD的連接方式有這麼幾種:MCU模式,RGB模式,SPI模式,VSYNC

模式,MDDI模式等。

1.MCU模式:

目前最常用的連接模式,一般是8080模式和6800模式,這個主要是時序的區別。(68系統已經不存在了)。會解碼命令,由timing generator 產生時序信號,驅動COM

和SEG驅動器。8080模式資料位傳輸有8位,9位,16位和18位。連線分為:CS/,RS(寄存器選擇),RD/,WR/,RESET/,再就是資料線了。用MCU模式時由於資料可以先存到IC內部GRAM後再往屏上寫,所以這種模式LCD可以直接接在MEMORY的總

線上。優點是:控制簡單方便,無需時鐘和同步信號。缺點是:要耗費GRAM,所以難以做到大屏(QVGA以上)。

2.RGB模式:

可以分為模擬RGB,ADC介面和數子RGB介面。至於需要不需要HSNC,VSNC信號,要看採用什麼樣制式的控制驅動模式。行同步,楨同步,時鐘之類的信號是針對RGB介面的TFT LCD,沒有內部RAM,具有HSYNC,VSYNC,ENABLE,CS,RESET,RS信號,由於它不帶RAM所以資料是直接往屏上寫的,不能保存,所以要往屏上不斷的寫資料,不這樣做屏就會變白。所以通常接個外部RAM,把資料存在外部RAM裏,再往屏上刷。或乾脆把屏接在帶RAM的多媒體IC上,此類LCD 不含LCD CONTROLLER,需要帶CO NTROLLER CPU才能支援,這樣的屏是不能接在MEMORY介面上的.

3.SPI模式:

採用較少,連線為CS/,SLK,SDI,SDO四根線,連線少但是軟體控制比較複雜。

4.VSYNC模式:

該模式是在MCU模式下增加了一根VSYNC(幀同步)信號線而已,應用於運動畫面更新5.MDDI模式:

高通公司於2004年提出的介面MDDI(Mobile Display Digital Interface),通過減少連線可提高移動電話的可靠性並降低功耗,這將取代SPI模式而成為移動領域的高速串列介面。連線主要是host_data, host_strobe, client_data, client_strobe, power, GND幾根線

LCD的接口有多种,分类很细。主要看LCD的驱动方式和控制方式。

大致可以分为MCU接口和RGB接口。

对于前者主要又可以分为8080模式和6800模式,这个主要是时序的区别。

对于RGB接口则可以分为模拟RGB,ADC接口和数字RGB接口。至于需要不需要HSNC,VSNC信号,这个是在RGB接口中,但也要看采用什么样制式的控制驱动模式,也可以不需要的。

对于MCU模式,会解码命令,由 timing generator 产生时序信号,驱动COM 和SEG驱动器。

RGB 的接口,在写LCD register setting时,和CPU 没有区别。区别只在于图像的写入方式。

MCU模式需要的信号有WR,RD,RS,RESET,CS。

RGB模式需要的信号有HSYNC,VSYNC,ENABLE,CS,RESET,有的也需要R S。

用MCU模式时由于数据可以先存到IC内部GRAM后再往屏上写,所以这种模式L CD可以直接接在MEMORY的总线上。

用RGB模式时就不同了,它没有内部RAM,HSYNC,VSYNC,ENABLE,CS,R ESET,RS可以直接接在MEMORY的GPIO口上,用GPIO口来模拟波形,但有没有这么多空闲的GPIO口是个要考虑的问题,另外由于它不带RAM所以数据是直接往屏上写的,不能保存,所以要往屏上不断的写数据,不这样做屏就会变白。

所以通常接个外部RAM,把数据存在外部RAM里,再往屏上刷。或是干脆把屏接在带RA M的多媒体IC上。

LCD 调试总结(ZZ加实践) ]

(1) 液晶显示模式

并行:MCU接口、RGB接口、Vysnc接口

串行:SPI接口、MDDI接口

(2) 屏幕颜色

实质上即为色阶的概念。色阶是表示手机液晶显示屏亮度强弱的指数标准,也就是通常所说的色彩指数。目前彩屏手机的色阶指数从低到高可分三个层次,最低单色,其次是2 56色、4096色、65536色;目前最高的为26万色。256=2的8次方,即8位彩色,依次律推,65536色=2的16次方,即通常所说的16位真彩色,26万=2的18次方,也就是18位真彩。其实65536色已基本可满足我们肉眼的识别需求。

(3) 分辨率

LCD的分辨率与CRT显示器不同,一般不能任意调整,它是制造商所设置和规定的。分辨率是指屏幕上每行有多少像素点、每列有多少像素点。手机上LCD的分辨率一般是1 76点×220行的QCIF显示模式和240点×320行的QVGA显示模式。

(4) 刷新率

LCD刷新频率是指显示帧频,亦即刷新一帧屏所需要的时间,与屏幕扫描速度及避免屏幕闪烁的能力相关。也就是说刷新频率过低,可能出现屏幕图像闪烁或抖动。

(5) 可视角度

指从不同的方向清晰地观察屏幕上所有内容的角度,这与LCD是DSTN还是TFT

有很大关系。因为前者是靠屏幕两边的晶体管扫描屏幕发光,后者是靠自身每个像素后面的晶体管发光,其对比度和亮度的差别,决定了它们观察屏幕的视角有较大区别。DSTN-L CD一般只有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、VD V和VCM;这些电压也可以用来调节亮暗(对比度);

4.调节对比度时,也可以通过调节Gamma值来实现,要调节的对象为:PRP、PRN、VR P、VRN等;

5.注意数据是8位、16位时,写命令和数据的函数注意要变化;

6.如果调试时发现LCD的亮度有问题,首先检查(考虑)提供给LCD的电流是否一致,再考虑调节电压。

7.开机花屏问题,最简单的处理方式就是在INIT结束的地方增加一个刷黑屏的功能。也可以在睡眠函数里加延时函数;

8. 如果随机出现白屏问题,一个可能是静电问题,把LCD拿到头发上擦几下,如果很容易出现白屏那肯定就是静电问题了。另外一个在有Backend IC的情况下,也有可能bypas s没处理好。

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输入,电压降的幅度都是处于正常情况下,这时候我们不妨调低P

WM的输出频率。因为有很多升压芯片对PWM的频率都会有要求,将频率调至datashee t中标示的范围,一般都能解决此问题。

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在晃动时,由于视角的变化,逐行扫描比较明显,这种情况跟有些drive r 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

这里记录的是在TFT类型的LCD驱动的调试中我所遇到过的一些问题,因为具体硬件平台和环境不同,有些问题,现象和原因可能不一定与你的实际情况相同,仅供参考。

无法正确完成初始化

症状

往LCD的串行总线发送初始化数据后,LCD模块没有任何反应

分析

通常在嵌入式领域中使用的中小型LCD模组都会需要在上电后进行初始化设置,而后才能正常工作。常见的通讯接口有CPU接口和串行总线接口,而串行总线接口又以SPI接口居多。

导致无法初始化的原因通常是两方面:

没有遵循正确的上电RESET流程

SPI通讯控制不符合LCD模组驱动芯片SPEC的要求

造成后者的原因也是多种多样的

首先,虽然都是SPI接口,但是,不同的LCD模组,在控制信号的要求上往往都会有细小的不同,有时候,CPU的SPI接口甚至都无法产生LCD模组所需要的特定波形时序。有些LCD模组可能还会有特定的使能信号线控制SPI接口的工作与否。

其次,多数LCD驱动芯片其实都是具有读取寄存器和ID号的功能的,但是很多模组在封装的时候往往没有把芯片SPI接口的SDO信号线引出来,导致无法通过读取寄存器和ID号的方式判断SPI总线的通讯协议是否正确。增大了调试的难度。

解决

首先当然是要保证上电顺寻,RESET,使能信号等的正确,而后,如果CPU 所提供的SPI接口无法配置到完全和LCD模组要求的时序波形相同,可以采用GPIO口模拟SPI信号的方式来初始化LCD,毕竟初始化地工作量并不多,也不需要经常做,所以通过GPIO模拟,对CPU占用率几乎没有影响。

最后,如果能够将SDO口引出,尽量引出,能给前期调试带来很大方便,也有利于将来自动判断LCD类型,根据不通模组自动加载不同驱动。

图像错位

症状

常见的症状如图像左右位移几个像素,上方或下方有一条彩色条纹,或黑色条纹等等

分析

毫无疑问,这种现象肯定是初始化参数设置不对,位置错位,和场同步型号或行同步信号有关,不外乎就是LCD模组和CPU上的LCD控制器的行场同步信号的宽度,前后延迟时间,极性等属性的匹配。这其中,对于图像错位,又以行场

前后延迟时间的不匹配可能性最高。

另外,这种情况,通常错位的像素数不会太大,如果出现错位了1/2屏之类的情况,通常就是由别的原因照成的了。

解决

精确适配行场信号,有时候,有些LCD的行场信号的设置还和LCD驱动芯片的部分电压参数的取值设置相关。要协同修改。

工作一段时间后,部分屏幕数据显示错位,花屏

症状

某个型号的LCD使用一段时间后,屏幕下方会出现部分屏幕上方的数据类似隔行的叠加显示出来,而且随着时间的推移,从开始底部的几行慢慢向上拓展越来越多,越来越严重。有时候很长一段时间不用,突然又好了。

分析

不确定的问题最麻烦了,偏色,错位数据混乱花屏等,常常可能是LCD的connector接触的问题。但是这次,反复确认connector的良好接触也无济于事。经过仔细调试,最终发现这次的问题和硬件的初始化顺序有关,需要先将CPU

这端的LCD控制器相关的寄存器设置正常以后,再初始化LCD模块内部的寄存器,否则,当LCD屏初始化完成开始工作后,再修改CPU端的控制寄存器,会对这个型号的LCD模块照成不可预知的影响。这个例子中,麻烦的就是这个影响并没有马上体现出来,而是在经过一段时间后才出现,这点比较奇怪。

解决

修改初始化顺序后,问题再也没有出现。

初始化完成后,显示数据无法写入LCD

症状

某厂商的一款LCD驱动芯片,初始化完成后无法写入显示数据

分析

仔细研究spec,发现在RGB接口上写入数据前,需要先通过串行接口在某寄存器地址上写入一特殊值,但是实际上初始化代码中已经包含了该寄存器的设置,即使写入该值以后RGB数据口上依然写入不了数据。最后发现,对该寄存器修改以后,不能再写其它的寄存器,否则就会出现上诉问题。

理论上通讯串口和RGB数据接口是不应该互相影响的,而且其它厂商的LCD 驱动芯片根本就不存在这种需要先写入特殊指令的问题,只能说这款芯片真的很特殊了。

解决

把对该寄存器的设置放在初始化代码的最后。

大范围的图像错位,叠加,重复等

症状

通常的症状包括一幅图像在LCD上显示时显示为水平或垂直方向的重复,同时可能伴随着这些方向上的压缩,抽行等现象。

分析

这种现象通常是由于用于LCD数据传输的DMA控制器的参数设置不对造成的。

但是有一次,我遇上一个很奇怪的现象,某个型号的LCD驱动芯片,上半部分显示的图像是并排的两幅缩小的图像,而下半部分,是上一次初始化的时候送进去的图像的下半部分。最后,在系统关闭前的一瞬间,图像能够正确显示。

首先,不像时序的问题,因为这种现象和场扫描,行扫描信号不匹配所会表现的现象图像偏移翻滚错位等现象完全不吻合。

其次,该款芯片提供了抽样等功能,但是仔细察看程序也没有错误的设置这些参数,而且,抽样应该是发生在数据从CPU到LCD缓存的传输存储过程中,该例中缓存中的数据应该是正确无误的,所以也排除这方面的设置错误的可能最终发现在该驱动芯片工作在RGB接口模式的时候,有一个设置高速写入模式的寄存器设置需要修改,厂家提供的初始化代码里没有设置这个寄存器,厂家自己测试也能正常工作,应该是因为用于驱动LCD的硬件平台不同,在时序和时钟频率上有一些区别。

解决

仔细计算DMA传输参数,通常都能解决问题。其它问题要具体情况具体分析解决。

图像偏灰,颜色细节丢失等等

症状

通常的症状包括图像颜色的细节变化丢失,整体图像偏暗偏灰等情况。

分析

一般来说,LCD模块内部都有一系列的寄存器用于控制各个灰阶的电压水平,也会有一些寄存器用来控制整体的电压偏置范围。调节这些寄存器也就是调节我们所谓的颜色饱和度,对比度等。这些寄存器相对容易调整,但对图像颜色细节影响最大的,通常是Gamma曲线相关的寄存器,实际就是通过控制前面所说的各个灰阶的偏置电压水平来实现。

解决

对于Gamma曲线,要计算Gamma曲线相关采样点上的数值,设置相应的寄存器,有一点需要注意,通常理论计算的Gamma曲线参数并不能和实际LCD模块的实际显示效果很好的匹配,需要做一些局部的调整,但是要保证整体曲线的平滑,否则可能会出现颜色怪异的跳变的现象。

作者:刘旭晖 Raymond转载请注明出处

Email:colorant@https://www.sodocs.net/doc/1e3982944.html,

BLOG:https://www.sodocs.net/doc/1e3982944.html,/colorant/

主页:https://www.sodocs.net/doc/1e3982944.html,/site/rgbbones/

CPU RGB接口与LVDS LCD的连接方法:

主流的一些ARM CPU都是并行RGB或者MCU的LCD接口,用于连接LCD显示屏。RGB接口就包含Red/Blue/Green并行信号线,水平同步,垂直同步和clock,DE 等信号线。 MCU接口就是一些数据线,clock线,RW信号线等。

对于比较小的LCD屏来说,显示数据量不大,显示的速度也不用太高,用并行的RGB/MCU接口,就可以满足要求。但是对于大一点尺寸的LCD屏幕来说,数据量就要加大,如果要保障显示不出现闪烁,就要求较高的传输速率。就必须采用并行的方式。

说道这里,也许大家会比较奇怪,为什么并口传输反而比串口要慢呢,在常见时钟频率比较低的情况下,并行因为可以同时传输多个bit位,速率确实比串行快。但是,时钟频率越来越高时,并行导线之间的相互干扰就变得更加严重,再加上需要这么多根并行线要保持同步,数据错误就很严重。也就是说并行传输时,速度上不去。而串行传输,干扰减少了,速度就可以轻松将提上去几十倍,所以这样算下来串口传输速度反而比串口快。而且改用串行,可以减少传输线的根数,降低成本。这就是为什么现在高速传输都采用串行方式的原因。

目前LCD采用的主流主流的也就是美国半导体提出的LVDS的接口。这种接口具有低噪音,高速,低功耗等优点。被广泛采用。如今几乎所有大型图像面板都采用7:1数据压缩比的LVDS序列器。笔记本电脑显示器面板主要采用18位/像素的色彩分辨率。其中,使用三个差动数据线路和一条频率线路,将数据和其他三个同步信号传输至面板。监视器和电视面板需要各像素具有24位、30位甚至高达48位的色彩分辨率。这通常会运用相同的7:1 LVDS串行化技术,LVDS通道的数量也会从四个差动对随之增加为五对、六对或七对。

但是对初次接触到这种LCD的朋友来说,可能不知道怎么接,再想driver是不是会很复杂。其实这种接口的LCD只要加入一颗并串转换,就可以了,软体上还是按照RGB接口来处理。下面采用美国半导体的DS90CF383作为示例。而且采用18bit的LCD。

接法示意图如上,可以看到最左边就是我们CPU的LCD controller的RGB接口了。最右边就是我们的LCD了。中间是转换芯片。接法很简单,但是为什么这么接呢。我们接下去分析。

相关主题