LCD驱动剖析.docx
《LCD驱动剖析.docx》由会员分享,可在线阅读,更多相关《LCD驱动剖析.docx(27页珍藏版)》请在冰豆网上搜索。
LCD驱动剖析
1、LCD驱动器概述
从电子学角度讲,液晶显示器件的显示原理为:
在外加电场的作用下具有偶极距的液晶棒状分子在排列状态上发生变化,使得通过液晶显示器件的光被调制,从而呈现明与暗或透过与不透过的显示效果。
液晶显示器件中的每个像素都可以单独被电场控制,不同的显示像素按照驱动信号的“指挥”在显示屏上合成出各种字符、数字以及图形。
液晶显示驱动器的功能就是建立这种电场。
LCD驱动器的驱动输出必须是交流驱动,直流分量通常小于50mV。
现在液晶显示驱动器是全数字化集成电路,所以这种交流驱动是以脉冲电压形式产生的。
LCD驱动器要能够控制驱动输出的电压幅值,消除弱电光效应,以实现对显示对比度的控制。
LCD驱动器通过对其输出到液晶显示器件电极上的电位信号进行相位、峰值、频率等参数的调制来建立交流驱动电场。
常用于液晶显示器件上的驱动方法有静态驱动和动态驱动两种。
2、动态驱动器原理(以PCF8812为例)
PCF8812是由PHILIPS公司研制的低功耗CMOSLCD控制驱动器,它用于驱动一个65行102列的图形显示器。
在PCF8812芯片上集成了包括on-chip电压产生电路在内的所有LCD驱动电路必须的功能。
它的设计使得应用电路外接元件数目少,功耗低。
PCF8812通过一个串行总线接口与微控制器相连。
PCF8812内部单元电路:
1.振荡器
PCF8812芯片中集成了一个振荡器,为显示系统提供时钟信号,振荡器频率的典型值是38kHz。
2.地址计数器
地址计数器给显示数据RAM区分配地址。
RAM区的X地址X6~X0和Y地址Y3~Y0被分别设置。
在经过一个写操作以后,地址计数器按照V标志(寻址方式)自动加1。
3.显示数据RAM区(DDRAM)
PCF8812包含一个65x102位(bit)的静态RAM区,用于存储显示数据。
RAM区被分成8个102字节(byte)的存储区(8x8x102bit)和一个102位(bit)的存储区(1x102bit)。
当RAM工作时,数据通过串口传送到RAM中。
X地址和列输出号直接通信。
4.时序发生器
时序电路用于产生驱动内部电路所需要的各种时序信号。
数据总线上的操作对内部芯片操作没有影响。
5.显示地址计数器
PCF8812通过在各个列输出进行连续的行移位操作,将RAM区中的数据输出到LCD点矩阵上,从而产生显示。
显示状态(所有点on/off,或正常/反转影象等)是通过“显示控制”命令来控制的(通过设置D和E寄存器),
6.LCD行和列驱动电路
PCF8812包含65行102列的驱动电路。
它们都按照相应数据的显示顺序连接了适当的偏置电压。
没有使用的输出端应该保持悬空状态。
PCF8812引脚定义:
1.ROW0~ROW64
行驱动输出,输出行数据信号。
2.COL0~COL101
列驱动输出,输出列数据信号。
3.VSS1,VSS2
负电源。
使用时,VSS1和VSS2必须连接在一起。
4.VDD1~VDD3
正电源。
VDD2和VDD3为内部电压产生器提供电源。
它们具有相同的电压值,在芯片外可以连接在一起。
VDD1用来给芯片中的其他电路供电。
VDD1可以和VDD2,VDD3短接,在这种情况下必须注意电压范围。
如果不需要内部电压产生器工作,则VDD2,VDD3必须短接到VDD1,或者电源上。
5.VLCDIN
LCD电源,给液晶显示器提供正电源。
可以从VLCDIN引脚输入一个外部LCD电源。
在这种情况下,引脚VLCDOUT必须保持开路,并且内部电压产生器必须被编程为0。
如果PCF8812工作在断电状态(Power_Downmode)下,外部提供的LCD电源必须被关断。
6.VLCDOUT
液晶显示的正电源。
如果使用内部电压产生器,那么VLCDIN和VLCDOUT必须被短接在一起。
如果使用外部提供的LCD电源,则这个引脚必须保持开路。
7.VLCDSENSE
内部电压乘法器校准输入。
如果使用内部电压产生器,那么VLCDSENSE必须连接到VLCDOUT。
如果使用的是外部提供的电压,那么VLCDSENSE可以保持开路,或者连接到地。
8.T1~T5
测试点。
T2必须保持开路,其它引脚必须连接到VSS。
9.SDIN
串行数据输入口。
10.SCLK
串行时钟信号输入,输入0~4.0Mbit/S的时钟信号。
11.D/C
模式选择输入。
这个信号决定输入数据是命令还是数据。
12.SCE
芯片使能输入。
低电平有效。
13.OSC
外接振荡信号输入。
为防止芯片进入DC状态,在终止时钟信号前,必须让芯片进入断电工作模式。
14.RES
芯片复位信号。
PCF8812指令集
1.指令传输方式PCF8812指令格式可以被划分为两类:
如果D/C=LOW,则当前字节被解释为命令字节;如果D/C=HIGH,则随后的字节将被储在显示数据RAM中,即这些字节被解释为显示数据。
PCF8812中的指令传输有以下特点:
每输入一个字节,PCF8812中的地址计数器(AddressCounter)会自动加1
D/C信号的电平在数据字节的最后一位期间读入。
每条指令可以按任何顺序被送到芯片中
一个字节的最高有效位(MSB)最先被传送
表1,寄存器说明
寄存器
用途
值
说明
PD
设置芯片工作模式
0
芯片正常工作
1
芯片处于断电状态(POWERDOWN)
V
8812寻址方式
0
水平方向寻址
1
垂直方向寻址
H
选择使用的指令集
0
使用基本指令集
1
使用扩展指令集
PRS
设置VLCD编程范围
0
低
1
高
D,E
显示模式控制
00
显示空白
01
正常模式
10
所有显示段打开
11
图象反转模式
TC1~TC0
选择VLCD温度系数
00
系数0
01
系数1
10
系数2
11
系数3
S1~S0
选择电压提升电路系数
00
2
01
3
10
4
11
5
VOP6~VOP0
VLCD编程
根据实际情况填写每一个bit
BS2~BS0
设置偏置系统
根据实际情况填写每一个bit
D/C
设置串口数据类型
0
串口输入数据为命令
1
串口输入数据为显示数据
2.串行总线协议当芯片使能信号(ChipEnable)SCE=HIGH时,芯片的串口被初始化。
在这种状态下,SCLK时钟脉冲不起作用并且串口没有功率消耗。
SCE信号的负边沿使能串口,并且指示数据传输开始。
图1、图2描述了串行总线协议:
SCE=HIGH,SCLK被忽略。
在此期间,串行接口被初始化(见图3)
串行数据输入信号SDIN在SCLK的正边沿被采样
D/C确定一个字节是命令(command,D/C=0)或者是RAM数据(D/C=1)。
D/C信号在第8个SCLK脉冲读取
如果在一个命令字节或者数据字节的最后一位被传送后,SCE信号保持低电平,那么串口将在下一个SCLK的正边沿等待下一个字节的最高位DB7(见图3)。
如果SCLK在一个字节的最后一位DB0传送后变为LOW,那么:
需要一个上升的时钟沿来锁存最后一个数据位
或者最后一个数据位在SCE上升为HIGH时被锁存
一个复位脉冲RES将中断数据传输。
显示数据RAM区中将被禁止写入数据。
所有的寄存器将被清空。
如果在复位信号RES的正边沿后,SCE是LOW,那么串口将准备接收一个命令字节或者数据字节的最高位DB7。
3.指令描述首先,通过设置H寄存器,PCF8812有两种工作模式:
正常工作模式和Power-DownMode(断电工作模式)。
在不同的工作模式中,使用不同的指令集。
A)H=0,正常工作模式。
各指令的详细说明见表2
表2,正常工作模式下PCF8812使用的普通指令集
指令
D/C
命令字节(CommandByte)
说明
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
系统保留
0
0
0
0
0
0
1
X
X
没有使用
显示控制
0
0
0
0
0
1
D
0
E
设置显示配置
设置VOP编程范围
0
0
0
0
1
0
0
0
PRS
VLCD编程范围选择
设置RAM的Y地址
0
0
1
0
0
Y3
Y2
Y1
Y0
0≤Y≤8
设置RAM的X地址
0
1
X6
X5
X4
X3
X2
X1
X0
0≤X≤101
B)H=1,Power-DownMode(断电工作模式)。
各指令的详细说明见表3
表3,Power-Down模式下PCF8812使用的扩展指令集
指令
D/C
命令字节(CommandByte)
说明
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
系统保留
0
0
0
0
0
0
0
0
1
没有使用
系统保留
0
0
0
0
0
0
0
1
X
没有使用
温度控制
0
0
0
0
0
0
1
TC1
TC0
设置温度系数(TCX)
设置HV-GEN(电压提升电路)
0
0
0
0
0
1
0
S1
S0
设置电压提升电路的倍率
偏置系统
0
0
0
0
1
0
BS2
BS1
BS0
设置偏置系统
(CONTINUE。
。
。
)
(CONTINUED。
。
。
)
系统保留
0
0
1
X
X
X
X
X
X
没有使用
设置VOP
0
1
VOP6
VOP5
VOP4
VOP3
VOP2
VOP1
VOP0
将VOP的值写入寄存器
c)通用指令这些指令在H=0或1时都可以执行
表4,PCF8812使用的通用指令集
指令
D/C
命令字节(CommandByte)
说明
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
NOP
0
0
0
0
0
0
0
0
0
不操作
功能设置
0
0
0
1
0
0
PD
V
H
Power-Down控制;寻址模式;扩展指令集控制
写数据
1
D7
D6
D5
D4
D3
D2
D1
D0
将数据写入RAM
通过对上述PCF8812指令集的分析,我们可以看到:
PCF8812的D/C是用来进行对串行数据进行分类的控制信号,当D/C=LOW时,串口数据被解释为命令,这些数据将被送到相应的寄存器中,对系统进行设置,或者控制数据操作方式;反之,D/C=HIGH时,串口数据被解释为显示数据,这些数据将被送到显示RAM区中。
下面我们考虑以下情形:
1)D/C=LOW,H=0,SDIN输入数据DB7~DB0=01000101。
这时,SDIN的输入数据被解释为一个普通指令。
这个指令是“设置RAM的Y地址”,Y地址Y3~Y0=0101,即Y地址被设置为bank5。
2)D/C=LOW,H=1,SDIN输入数据DB7~DB0=01000101。
这时,SDIN的输入数据被解释为一个扩展指令。
在扩展指令中,DB7~DB0=01XXXXXX是系统保留指令,它被PCF8812保留做测试用途。
3)D/C=HIGH,H=X,SDIN输入数据DB7~DB0=01000101。
这时,SDIN的输入数据被解释为一个显示数据。
这个数据将被送到地址计数器指定的RAM地址中去。
寄存器
1.初始化(Initialization)
一旦PCF8812加电后,所有的内部寄存器包括RAM区中的内容都没有被定义,这时需要立即加入一个复位脉冲来完成复位工作。
复位工作通过在引脚RES输入一个复位脉冲信号(低电平有效)来完成。
当复位工作在指定时间内完成时,所有内部寄存器被复位,但是RAM区仍然没有被定义。
复位后的状态将在下一节说明。
当VDD在tVHRL内达到VDD(min)(或更高)时,RES输入电位必须≤0.3VDD。
(见图5)。
SYMBOL
参数
最小值
典型值
最大值
单位
tVHRL
VDD到RES下降沿
0
-
1
us
tRW
RES脉冲低电平宽度
500
-
-
ns
2.复位状态(ResetFunction)
经过复位后,LCD驱动器有以下状态:
Power-Downmode(PD=1)
水平寻址方式(V=0)
使用普通指令集(H=0)
液晶屏显示空白(D=E=0)
地址计数器X6~X0=0;Y3~Y0=0
选择温度系数0(TC1~TC0=0)
偏置系统BS2~BS0=0
VLCD=0;HV-GEN被关闭(VOP6~VOP0=0,PRS=0)
芯片加电后开始复位;RAM区数据未定义;复位信号不改变RAM区的内容
所有的LCD输出电位是VSS
3.功能集(FunctionSet)
3.1PD=1,Power-Down模式
所有LCD输出为VSS(displayoff)
偏置电压产生器和VLCD产生起关闭;VLCD可以不连接
振荡器关闭(可以有外部时钟)
RAM区内容未被清空;可以向RAM区中写数据
在断电模式下,VLCD放电,电位下降到VSS
3.2V,寻址方式
当V=0,PCF8812选择水平寻址方式。
数据按照图6的方式被写入到显示数据RAM区中(DDRAM)。
当V=1,PCF8812选择垂直寻址方式。
数据按照图7的方式被写入到显示数据RAM区中(DDRAM)。
3.3H,选择指令集
当H=0时,命令:
“显示控制”,“设置VOP编程范围”(设置PRS位),“设置RAM的Y地址”,“设置RAM的X地址”可以被执行。
当H=1时,其他命令可以被执行。
“写数据”和“功能设置”这两个命令在两种情况下都可以执行。
4.DandE,显示控制
通过设置D,E位,可以选择显示模式。
(见表1)
5.Y3~Y0,设置RAM区的Y地址
Y3~Y0定义了显示RAM区的Y地址的向量地址。
(见表5)
6.X6~X0,设置RAM区的X地址
X地址指向RAM区的列。
X的范围是0到101(65H)
7.S0~S1,设置HV-GEN(电压提升电路)
PCF8812集成了一个可以软件配置的电压提升电路。
在芯片复位后,电压提升电路被设置为2xVDD2。
其他的电压提升参数通过命令“设置电压提升电路”来设置。
(见表1,表3)
表5,X/Y地址范围*
Y3
Y2
Y1
Y0
内容
X范围
0
0
0
0
Bank0(displayRAM)
0to101
0
0
0
1
Bank1(displayRAM)
0to101
0
0
1
0
Bank2(displayRAM)
0to101
0
0
1
1
Bank3(displayRAM)
0to101
0
1
0
0
Bank4(displayRAM)
0to101
0
1
0
1
Bank5(displayRAM)
0to101
0
1
1
0
Bank6(displayRAM)
0to101
0
1
1
1
Bank7(displayRAM)
0to101
1
0
0
0
Bank8(displayRAM)**
0to101
*地址不在表中所规定范围的均为非法的
**在Bank8中只有最低数据位被使用
8.BS2~BS0,设置偏置系统
偏置电压按照R-R-nR-R-R给出的1/(n+4)偏置系统的比例设置。
不同的多元化比率需要不同的参数“n”(见表6)。
这些可以通过BS2~BS0的编程得到。
对MUX1到MUX65,最合适的参数n=5,产生1/9偏置。
(见表7)
表6,偏置系统编程
BS2
BS1
BS0
n
推荐的MUX比率
0
0
0
7
1to100
0
0
1
6
1t080
0
1
0
5
1to65
0
1
1
4
1to48
1
0
0
3
1to40或1to34
1
0
1
2
1to24
1
1
0
1
1to18或1to16
1
1
1
0
1to10或1to9或1to8
表7,LCD偏置电压
电压
偏置电压
n=5的偏置电压(1/9偏置)
V1
VLCD
VLCD
V2
(n+3)/(n+4)
8/9*VLCD
V3
(n+2)/(n+4)
7/9*VLCD
V4
2/(n+4)
2/9*VLCD
V5
1/(n+4)
1/9*VLCD
V6
Vss
Vss
9.TC1~TC0,选择温度系数
由于液晶粘性对于温度的依赖性,LCD控制电压VLCD在较低温度时必须增加,以保证最合适的对比度。
PCF8812提供了4种不同的温度系数(见图8)。
通过对TC1~TC0的设置,我们可以选择合适的温度系数。
温度系数和VLCD成比例。
10.VOP6~VOP0,设置VOP
PCF8812的操作电压VLCD可以通过软件设置。
这个电压依赖于温度,可编程的温度系数(TC)和参考温度点(TCUT)的电压。
VLCD(T)=(a+Vopxb)(1+(T-TCUT)xTC)
参考温度点的电压[VLCD(T=TCUT)]可以用下式计算:
VLCD(T=TCUT)=(a+Vopxb)
所有参数的典型值列在表9中。
最大可产生的电压依赖于电压VDD2和显示负载电流。
两个重叠的VLCD范围可以通过“电压提升电路控制(HV-GENCONTROL)”命令来选择。
对于LOW(PRS=0)范围,a=a1;对于HIGH(PRS=1)范围,a=a2;二者的步长都等于“b”需要注意的是,如果Vop6~Vop0和PRS位都被设为0时,充电泵将被关闭。
(见图9)
对于MUX1~MUX65,液晶最合适的操作电压可以用下式计算:
VLCD=6.85xVth
式中,Vth是液晶材料的阈值电压。
由于内部产生的电压VLCD的编程范围大于VLCD所允许的最大值(9V),所以在设置Vop寄存器和选择温度系数(TC)时,需要保证VLCD必须小于9V。
VLCD计算举例:
设PRS=1,Vop6~Vop0=0011100(18H=28d),则
VLCD=a2+Vopxb=6.75+28x0.03=7.59V
表9,电压提升电路(HV-gen)编程的典型参数值
参数
值
单位
a1
2.94(PRS=0)
V
a2
6.75(PRS=1)
V
B
0.03
V
Tcut
27
℃
串行接口时序图
参数
条件
MIN。
TYP。
MAX。
UNIT
fSCLK
时钟频率
VDD1=3.0V±10%;allsignaltimingisbasedon20%to80%ofVDDandamaxiumriseandfalltimeof10ns
0
-
4.00
MHz
tcyc
时钟周期时间
250
-
-
Ns
tPWH1
SCLK高电平脉冲宽度
100
-
-
Ns
tPWL1
SCLK低电平脉冲宽度
100
-
-
Ns
ts2
SCE建立时间
60
-
-
Ns
tH2
SCE保持时间
100
-
-
Ns
tPWH2
SCE最小高电平时间
100
-
-
Ns
tH5
SCE开始保持时间
*
100
-
-
Ns
ts3
D/C建立时间
100
-
-
Ns
tH3
D/C保持时间
100
-
-
Ns
ts4
SDIN建立时间
100
-
-
Ns
tH4
SDIN保持时间
100
-
-
Ns
*tH5是从SCLK正边沿(不考虑SCE状态)到SCE负边沿的时间。
PCF8812参数值
表A,LimitingValues
SYMBOL
参数
条件
MIN。
MAX。
UNIT
VDD1
电源电压
-0.5
+6.5
V
VDD2,VDD3
为内部电压产生器提供的电源电压
-0.5
+4.5
V
VLCD
LCD驱动电压
-0.5
+9.0
V
Vi
所有输入电压
-0.5
VDD+0.5
V
ISS
地线电流
-50
+50
mA
Ii,Io
直流输入输出电流
-10
+10
mA
Ptot
总功耗
-
300
mW
Po
每个输出的功耗
-
30
mW
表B,DCCharacteristics
参数
条件
MIN。
TYP。
MAX。
UNIT
VDD1
电源电压
+2.5
-
+5.5
V
VDD2,VDD3
为内部电压产生器提供的电源电压
LCD电压由芯片内部产生(内部电压产生器有效)
+2.5
-
+4,5
V
VLCDIN
LCD输入电压
LCD电压由芯片外部提供
+4.5
-
+9.0
V
VLCDOUT
LCD输出电压
LCD电压由芯片内部产生(内部电压产生器有效);note1
+4.5
-
+9.0
V
IDD(tot)
总供电电流
VDD1=2.8V;VLCD=7.6V;fSCLK=0;Tamb=25℃;没有显示负载;4xChargepump;note2and3(正常模式)
-
220
350
uA
断电模式;note4
-
1.5
-
uA
ILCDIN
外部VLCD供电电流
VDD1=2.8V;VLCD=7.6V;fSCLK=0;Tamb=25℃;没有显示负载;note2,3,and5
-
30
-
uA
Logic
VIL
输入低电平
Vss
-
0.3VDD
V
VIH
输入高电平
0.7VDD
-
VDD
V
IIL
输入漏电流
-1
-
+1
uA
行列输出
Rcol
列输出电阻
IL=10uAoutputstestedoneatatime
-
12
20
kΩ
Rrow
行输出电阻
IL=10uAoutputs