原创 液晶显示控制器SED1330与DSP的接口应用

2006-12-13 13:45 3051 11 11 分类: 处理器与DSP

液晶显示控制器SED1330与DSP的接口应用

焦生杰,翁寅生 长安大学工程机械学院

田贞富 西安电子科技大学微电子学院

引言

目前,SED1330作为同类图形液晶显示模块中的功能最强的控制器之一,在各种点阵显示模块中获得了广泛的应用,本文选用的深圳市松山电子科技有限公司生产的CA320240B型图形液晶模块正是基于SED1330的320×240点阵显示模块,它能有效地解决显示的问题。

SED1330控制器的性能特点

SED1330具有功能较强的I/O缓冲器和丰富指令,可实现多种方式的文本图形显示;它的数据部分采用并行四位发送,最大可以驱动640256点阵液晶显示屏。

SED1330功能较强的UO缓冲器主要体现在以下两个方面:

(1)SED1330与MPU的接口部具有高性能的缓冲器,其作用是随时准备接受MPU的访问并即时的把MPU送来得指令、参数或数据在控制器内部时序工作周期内就位。这种功能使得在操作SED1330时可以不必判别状态位BF。

(2)SED1330不仅适用于8080系列的MPU接口,也适用于M6800系列MPU接口。

SED1330具有文本和图形两种显示特性,在这两种显示方式下,其显示RAM(VRAM)内每个字节的数据对应着不同的显示内容。


当其在本文方式下显示汉字时,需要在SED1330的VRAM内建立一个自定义字符器CGRAM,即在相应的显示单元写入待显示汉字的字符代码,字符代码作为字符发生器地址的一部分可实现对字符发生器的寻址,当取得相应的字符字模数据后,送至液晶显示驱动系统显示。SED1330的基本字符块可对应设为8×8或8× 16点阵的字符块,当设为8×8点阵时,一个16×16点阵的汉字需要四个8×8点阵的基本字符块组合显示。所以,此时建立汉字CGRAM时,需要用四个字符代码来管理一个汉字,一般是按左上、左下、右上和右下四部分来分配代码。

当其在图形方式下显示汉字时,其汉字字库是建立在系统程序区内的,可由程序逐字节地向图形显示区的相应单元写入(一般将16×16点阵汉字分为左右两部分写入,若是24×24点阵,作分为左中右三部分写入),图形显示区单元的数据被认为是8点位的显示数据,可直接送入液晶显示驱动系统显示出相应的汉字,利用图形方式显示汉字的最大优点在于其字形大小可变。

DSP与SED1330的硬件接口

DSP与SED1330的电平转换

TMS320LF240xA等新一代DSP芯片的I/O工作电压一般是3.3V,其I/O电平也是3.3V逻辑电平。由于液晶的工作电压是5V,所以,用3.3V的DSP去驱动5V的液晶时,就要进行电平转换,如图1所示,DSP的输出高电平的最低电压VOH为2.4V,而5V液晶屏在输入高电平时的最低电压VIH为3.5V,这样,即使DSP输出达到3.3V,也还是不能满足液晶高电平所要求的最小值,所以3.3V的DSP是不能直接驱动5V液晶屏的,因此在设计DSP与液晶的接口时,应使用专门的电平转换器件(如TI公司的SN74LVCZ16245A)。实际上,有些芯片采用双电压供电,一边是3.3V,一边是5V,这样就能很好地解决电平转换问题。



xsj065021_1.jpg

DSP与液晶显示模块SED1330的接口设计

TMS320LF2407A对SED1330接口控制板的访问有直接访问和间接访问两种方式。直接访问方式是将DSP的读写信号线与SED1330接口控制板引出的读写信号线直接相连,其时序由DSP内部读写逻辑控制,但是由于液晶显示模块是DSP的一个慢速外设,要使两者的速度达到匹配,还必须加入一定的等待状态才能满足要求,考虑到DSP内部等待状态发生器所能插入的等待周期非常有限(只能给指定的存储空间插入一个等待状态),在不添加额外的硬件设备的情况下,很难满足设备的要求,所以设计中只采用间接访问方式,即用DSP的I/O口来控制SEED1330,而通过软件编程来模拟SED1330的接口时序。

在此设计中,DSP的主频一般为30MHz,液晶显示模块接口控制时序采用M8080时序,它与DSP之间的接口电路如图2所示,其中,TMS320LF2407的IOPB0-IOPB7用作数据接口,与液晶显示模块的数据线DB0-DB7相连,以完成与SED1330间的数据传送,IOPA6与WR相连时,可在写SED1330时置为低,IOPA7则与RD相连时,则在读SED1330时置为低;CS接地将时钟使能SED1330,IOPA5与A0相连可决定是数据(A0=0),还是指令(A0=1)。背光电压由逆变器提供,调节电位器可以调节液晶显示屏的对比度。



xsj065021_2.jpg

DSP与SED1330的软件接口设计

为了使液晶屏能够正常工作,还必须编写硬件驱动程序,软件设计的关键是对液晶显示模块的初始化,以及对DSP与SED1330间接口时序的匹配。

液晶显示模块的初始化

初始化程序的主要任务是根据所控制的液晶显示模块的特性和用户的显示要求,写入适当的命令和参数,通常以参数表的形式送入,这些命令和参数必须首先写入,如果指令设置出现错误,则显示必定不正常,图3所示为SED1330的初始化流程,其参数分别有:SYSTEM SET(30H、87H、07H、28H、42H、0F0H、28H、00H),SCROLL(00H、00H、0F0H、80H、25H、0F0H、00H、4BH、00H、00H),HDOT SCR(00H),OVLAY (1CH),CSRFORM(5DH、07H),CSRW(02H、00H),CSRDIR(指令4CH),DISP ON(指令59H)。其中SYSTEM SET的驱动系统结构设置为单屏,选用外部字符发生器,字符格式为8×8,字符代码为80H-9FH,内部CGRAM有效,显示字符宽度和高度都是8,LCD每行需要的字节数为40,点行数为240,LCD的工作频率为70Hz,显示内存内分配给一个显示行的单元数为40字节。



xsj065021_3.jpg

若需要把文本和图形混合显示,则只能设为二重合成显示,而三重合成显示只能用于图形方式。在双屏结构下,四个显示区同时参加二重合成显示时,一、二显示区位于上半屏,三、四显示区位于下半屏,并且此时一、三显示区合成为第一层,二、四显示区合成为第二层。

SED1330的读写时序

由于本设计中的液晶显示没有用DSP的数据线,而是用DSP的IO口来模拟液晶控制器的时序,因此,在设计中,用IO口来模拟SED1330的读写时序是重中之重。

SED1330的读写时序有M8080和M6800两种,本设计选用M8080时序,其时序如图4所示,其中的时间限定如表1所列。



xsj065021_4.jpg
点击看大图

由于DSP的处理速度远远快于SED1330的显示速度,所以每次向SED1330送出待显示的数据后,DSP应产生一定的延迟以等待响应SED1330的显示,所以在读写子程序中,要利用软件来产生如上时序才能对液晶进行正确操作,否则液晶将来不及显示而导致错误,在设计过程中,DSP的读写时序使用软件模拟,而不是靠DSP的引脚R/W、RD、WE与地址数据线的定来保证时序,这一点在设计中应特别注意,下面给出笔者在设计过程中缩写的读写子程序:

WR_COMMAND:;入口参数为COMMAND
LDP #MCRA>>7
LACL PADATDIR;配置IOPA5--A0=1
OR #0E020H
SACL PADATDIR
LDP #4H
LACL COMMAND
OR #0FF00H
SACL PBDATDIR
;IOPA6--/WR=0(写使能)
LDP #MCRA>>7
LACL PADATDIR
OR #0E000H
AND #0E0B0H
SACL PADATDIR
RPT #10
NOP
;IOPA6--/WR=1(写不使能)
LACL PADATDIR
OR #0E40H
SACL PADATDIR
LDP #4H
SPLK #100,YANSHI1
CALL DELAYS1;延时100us
RET
WR_DATA:入口参数为DATA
LDP #MCRA>>7
LACL PADATDIR;配置IOPA5--A0=0
OR #0E000H
AND #0E0D0H
SACL PADATDIR
LDP #4H
LACL DATA1
OR #0FF00H
LDP #MCRA>>7
SACL PBDATDIR
;IOPA6--/WR=0(写使能)
LACL PADATDIR
OR #0E000H
AND #0E0B0H
SACL PADATDIR
RPT #10
NOP
;IOPA6--/WR=1(写不使能)
LACL PADATDIR
OR #0E40H
SACL PADATDIR
LDP #4H
SPLK #100,YANSHI1
CALL DELAYS1;延时100us
RET
RD_DATA;
LDP #MCRA>>7
LACL PADATDIR;配置IOPA5--A0=1
OR #0E020H
SACL PADATDIR
;IOPA7--/RD=0(读使能)
LACL PADATDIR
OR #0E000H
AND #0E070H
SACL PADATDIR
LACL PBDATDIR
LDP #4H
SACL DATA2
RPT #10
NOP
;IOPA7--/RD=1(读不使能)
LDP #MCRA>>7
LACL PADATDIR
OR #0E80H
SACL PADATDIR
LDP #4H
SPLK #100,YANSHI1
CALL DELAYSI;延时100us
RET
RD_BUSY:
LDP #MCRA>>7
LACL PADATDIR;配置IOPA5--A0=0
OR #0E000H
AND #0E0D0H
SACL PADATDIR
;IOPA7--/RD=0(读使能)
LACL PADATDIR
OR #0E000H
AND #0E070H
SACL PADATDIR
LACL PBDATDIR
LDP #4H
SACL DATA3
;IOPA7--/RD=1(读使能)
LDP #MCRA>>7
LACL PADATDIR
OR #0E80H
SACL PADATDIR
LDP #4H
SPLK #100.YANSHI1
CALL DELAYS1;延时100us
;判断是否忙
LDP #4H
BIT DATA2,9
BCND RD_BUSY,TC
RET


显示软件设计程序流程


图形显示方式可以显示数字、汉字以及各种能绘制出来的图形,但是事先必须生成相应的点阵文件,实际上,显示字符、汉字和图形都是对液晶屏上的特定区域写入相应的数据,本质上没有区别,这些数据都存储在程序中,待显示时再将这些数据写入显示RAM中,不过,在显示汉字字符时,可以将需要显示的字模提取出来存储,进行显示时再直接调用更为简单,想要显示一幅图画时,可以通过Windows附带的画图工具制作一幅320×240象素的黑白位图,并先将位图反色,再将处理过的图片以16进制文件的形式和程序一起烧入外部24LC256中,注意:位图应存入一个起始地址。设置三层图形叠加方式显示的方法是一样的,图5所示是一个软件设计程序流程图。需要说明的是,当DSP上电后,SED1330要能正确复位,否则将不能正确显示。



xsj065021_6.jpg

结束语


SED1330控制器有64KB大容量缓存区,能适用多种规格的显示屏,其内部固化的字符发生器可产生160种字模并可外扩字符发生器,而且通过改变指令参数可以实现图像的闪烁、翻转、移动等,从总体性能方面而言,SED1330大大强于同类型的其他控制器,非常适用于各种液晶显示屏控制系统的设计需求。


本文介绍的由该控制器构成的液晶显示方案已成功地通过了调试,它与同类型的其他图形点阵液晶显示模块相比,其硬件电路结构简单,显示功能强大,同时这对于其他型号的接口芯片,也有很好的参考价值。


 

本文摘自《电子元器件应用》

文章评论0条评论)

登录后参与讨论
我要评论
0
11
关闭 站长推荐上一条 /2 下一条