对于以上所讲的无源OLED显示屏的驱动,主要是采用现有的IC来进行驱动的。本设计的驱动电路是采用台湾普诚的PT6807、PT6808,其中PT6807为行驱动IC,PT6808为列驱动IC。以128X128点阵为例来说明具体的操作,模块接口如图3.2所示:
PT6807是点阵OLED图形显示系统64路行驱动器[2],它利用CMOS技术,提供64个移位寄存器和64路输出驱动,PT6807自己产生时钟信号用来控制PT6808列驱动器。
功能描述:
PT6807可以设计为主,从两种模式,为大块OLED驱动显示提供方便;主/从模式选择由控制脚MS来控制,在主模式下,选择MS脚为高电平,输入/输出脚DIO1,DIO2,CL2只作为输出脚来用;在从模式下,MS脚被置为低电平,输入/输出脚CL2作为输入来用,而DIO1,DIO2的状态由SHL脚来决定。
晶振电路:主模式下,可由R、C、CR端来决定时钟频率; 在从模式下,晶振电路的R,C端为悬空状态,CR端接高电平。
显示占空比选择:显示占空比靠输入脚DS1,DS2的状态来决定;在主模式下根据DS1,DS2脚的设置来选择占空比,有四种占空比1/48,1/64,1/96,1/128可供选择;在从模式下,DS1,DS2脚与电源VDD相连。
移位时钟和相位选择:PCLK2用来选择移位数据是在CL2时钟信号的上升沿,还是下降沿移出;数据移位方向的选择由MS,SHL脚来控制。
PT6808是点阵OLED图形显示系统64路列驱动器[3],它也利用CMOS技术,并提供显示RAM、64位数据锁存、64位驱动和解码逻辑,内部显示RAM用来存储由八位微处理器传来的显示数据,它根据存储数据产生点阵OLED驱动信号,与PT6807(行驱动器)配合使用。
输入缓存用来允许和禁止PT6808,当输入输出数据和指令被执行时,CS1B和CS3必须处于工作状态,不论CS1B和CS3处于任何状态,RSTB和ADC都可以正常操作,并且内部状态不会改变。
输入寄存器用来与MPU接口,并临时存储要写入显示RAM的数据,当CS1B和CS3处于工作状态时,输入寄存器通过R/W和RS来选定,数据通过MPU被写入输入寄存器,然后写入显示RAM中,数据在E信号的下降沿被锁入,通过内部操作自动写入显示RAM中。
输出寄存器:当CS1B和CS3处于工作状态,并且R/W和RS为高电平时,输出寄存器用来临时存储显示数据RAM,也即显示数据RAM中的存储数据被锁存到输出寄存器。当CS1B和CS3处于工作状态,R/W为高,RS为低时,状态数据(忙检测)可以被读出。
为了读出显示数据RAM中的内容,需要访问读指令两次,在第一次访问中,显示数据RAM中的数据被锁存到输出寄存器中,在第二次访问中,MPU读锁存数据。这就是说,在读显示数据RAM时需要一次假读,但是,在读状态数据时不需要假读。
在本设计中有一点很容易被忽视,就是在工作过程中当OLED亮度较高时,很容易自动关屏,所以在写入数据之前应该查看该项,若关屏,则将其打开,以保证OLED屏的正常工作。其中判断是否关屏,若关闭则将其自动打开子程序如下:
rs = 0; // rs为数据/指令选择脚
r_w = 1; // r_w为读/写输入脚
e = 1; // e为允许信号输入脚
busy = P3; // P3接数据线端口
e = 0;
if(busy&0x20==0x00) // 若为真,表示已关屏
{com=0x3f; // com为形参
wr_command(com);} // wr_command()是写命令子程序
用于无源驱动OLED的芯片还有台湾普诚的PT6885,PT6886;以及由晶门科技有限公司开发出的用于手机的单色,区域色,灰阶OLED驱动控制器SSD1300,SSD1301,SSD1303等系列驱动器;另外还有上海航天上大欧德科技有限公司研制的国内第一款自主知识产权OLED驱动IC:SC16805,SC16806等。
4.结束语
目前在OLED的两大技术体系中,低分子OLED技术为日本掌握,而高分子的PLED技术及专利则由英国的科技公司CDT掌握;两者相比PLED产品的彩色化上仍有困难,而低分子OLED则较易彩色化,虽然将来技术更优秀的OLED会取代TFT等LCD,但有机发光显示技术还存在使用寿命短、屏幕大型化难等缺陷。