基于TMS320LF2407A控制SED1335液晶显示方案
1 硬件设计
本文引用地址:http://www.amcfsurvey.com/article/168270.htm1.1 TMS320LF2407A的特点
TMS320LF2407A芯片作为DSP控制器24x系列的新成员,是TMS320C2000平台下的一种定点DSP芯片,也是目前TMSC2000家族中集成度高,性能最强的芯片[1],它与现存的24xDSP控制器芯片代码兼容,但是资源更加丰富、功能更强,其特点是:采用高性能静态CMOS技术,使得供电电压将为3.3V,减小了控制器的功耗,40MIPS(百万条指令每秒)的执行速度使得指令周期缩短到25ns,从而提高了控制器的实时控制能力,片内有32KB的Flash程序存储器,高达1.5KB的数据/程序RAM,544B双口RAM(DRAM)和2KB的单口RAM(SARAM)。TMS320LF2407A芯片集成了16通道10位500ns的高性A/D转换器;CAN2.0模块;串行通信接口(SCI)模块,16位SPI(串行外部设备接口)模块,WD(看门狗)定时器模块,基于PLL(锁相环)的时钟发生器,高达41个可单独编程和复用的GPIO(通用输入/输出)引脚,5个外部中断(2个驱动保护、复位和2个可屏蔽中断),电源管理具有3种低功耗模式等。并且,TMS320LF2407A具有2个事件管理器模块EVA和EVB,每个事件管理器包括:2个16位通用定时器,8个16位PWM(脉宽调制)通道,可以实现三相反相器控制、PWM的中心或边缘校正,当外部引脚PDPINTX出现低电平时快速关闭PWM通道,防止击穿故障的可编程的PWM死区控制,对外部事件进行定时捕捉的3个捕获单元,片内光电编码器接口电路,如此功能强大使得TMS320LF2407A大大简化了外部硬件电路的设计。
1.2 SED1335的性能特点
SED1335是SEIKDEPSON公司出品的LCD控制器,具有较强功能的I/O缓冲器,指令功能丰富,4位数据并行发送,在同类产品中是功能最强大的,SED1335硬件结构可分为MPU接口、控制部分和驱动LCM部分,结构如图1所示。
DSP或单片机可以随时访问SED1335而不需要判别其当前的工作状态,SED1335及时地把DSP送来的指令代码和参数或显示数据到位,或把显示数据送到系统的数据总线供DSP读取,SD3335的忙标志寄存器仅有1位忙标志位BF,当BF=1时,表示SED1335正在向LCD模块传送有效显示数据,在传送完一行有效显示数据到下一行传送开始之间的间歇时间内BF=0,在向SED1335进行大数据量传输时,还需要加入判忙状态位BF的检测,否则有可能使显示出现雪花现象。
SED1335的软件功能非常强,共有14条指令,且多数指令都带有若干参数,参数值由使用者根据需要设置[2],DSP访问SED1335首先将指令代码写入指令缓冲器(A=1),随后将该指令所需参数按顺序通过数据输入缓冲器(A=0)写入相应的功能寄存器内。SED1335指令代码既可设置功能位、又是参数寄存器的选通码。除了SLEEP IN指令,CSRDIR指令,CSRR指令和MREAD指令外,所有的指令执行都将在其参数的输入完成后。SED1335控制部拥有一个内部字符发生器,具有160种5×7点阵字体的字符,控制部能分区管理64KB的显示存储器,可以同时管理3个或4个显示区,并同时管理自定义字符发生器。
1.3 硬件接口电路
SED1335控制部是SED1335的核心,主要作用是接收主机的指令和数据,产生相应的时序及数据来控制LCD模块,TMS320LF2407A与SED1335的接口电路如图2所示,其中D0-D7为数据中线,WR为写选通信号,RD为读选通信号,CS为器件选通信号,RST为复位信号,A0决定是数据还是指令,VO为LCD驱动电压,TMS320LF2407A是3.3V电源器件,而MSPG320240是5V电源供电,所以它们不能直接相连。
由于在显示过程中,TMS320LF2407A需要将数据写入控制器,有时又要从控制器中读数据,因此数据总线上的信号流是双向的,如果把两者直接相连,数据的流向可能会对TMS320LF2407A造成损害,所以在设计中采用74LVC4245进行总线电平转换,为解决此问题,也可以使用兼容3.3V和5V的CPLD(复杂可编程逻辑器件),例如MAX7000,通过它来连接SED1335与TMS320LF2407A,同时为了提高TMS320LF2407对控制器的驱动能力,且适合电平要求,SED1335的5个控制端口通过非门74HC04分别与TMS320LF2407A的输入/输出端口A相连,通过对这个控制口不同的信号组合可以实现写指令代码、 写参数、读参数及显示数据等,由于LCD模块需要负电压驱动才能工作,所以必须有负压产生电路,常用的负电源产生方法有以下2种,一种是采用79系列三端集成稳压器,可产生-18V(7918)、-24V(7924)等电源,另一种是再生DC/DC模块或采用DC/DC集成电路制造负电源。SD1335有时需要配有CCFL(冷阴极发光)器件,有背光灯管,在点背光时需要逆变器,型号为CAX L10A或QPY-L10A,逆变器供点为5V直流电源,输出交流电压在驱动背景光,输出管脚OUT1、OUT2中任选一脚与OUT GND组成两端接至LCD的背光引脚。
2 软件设计
2.1 访问I/O空间的方法
由于TMS320LF2407A的速度最高可达到40MIPS,而SEED1335的晶振频率在1M赫兹到10M赫兹之间,所以DSP全速访问SED1335是不可行的,解决的方法有2种:一种是可以设置DSP中的等待状态寄存器WSGR,通用增加等待状态的方法解决2个器件的速度匹配问题,另一种是在每一条指令间加入一定的延时,一般为1μs为以上,把SED1335地址放在TMS320LF2407A的I/O空间,所以必须知道如何访问它访问DSP的I/O空间为汇编语言中有专门的指令,从程序的可移植性和通用性方面考虑,选用C语言编程有极大的优越性,这里介绍如何在C语言编译环境CCS2.2(C2000)中访问DSP的I/O空间,在TI公司针对24XX系列DSP的优化C语言中有一个关键字ioport,可以在C语言环境中方便访问I/O空间,具体定义如下:
2.2 初始化SED1335
初始化的作为是根据LCD结构对LCD模块进行参数设置,因为参数设置是根据LCD模块的结构来决定的,所以同一种类LCD模块的参数设置基本上大同小异[3]。对于MSPDDG320240,下面给出它的SYSTEM SET和SCROLL参数,SYSTEM SET指令是SED1335的软件初始化指令,该指令有8个参数;SCROLL指令用来设置显示RAM区的起始地址及所占有的显示行数,该指令有10个参数,这2条指令参数设定值为:SYSTEM SET:0x30,0x87,0x07,0x28,0x2f,0x0f0,0x28,0x00;SCROLL:0x00,0x00,0x0f0,0x00,0x40,0x0f0,0x00,0x80,0x00,0x00。
SED1335可显示文本、图形和字符。显示特性有些区别,但是实质上是一样的,都是对LCD屏上特定的区域写入相关的数据,这些数据以数组的形式事先建立在程序的开头处,在现实这些汉字、字符与图形时把数据写入显示RAM中,软件流程见图3,具体显示特性和显示合成方式通过设置OVLAY指令确定。
不失一般性,下面给出显示汉字和字符的子程序:
在子程序中x,y为显示字符在LCD屏上的位置坐标,以LCD屏左上角为原点,左边正方向为向左、向下,codeno为字符代码号,从0x80-0xbf,每个汉字占用4个序号,如0x80所表示的汉字占用x80,0x81,0x82,0x83这4个序号,0x80-0x9f序号共有8个汉字,字模占用1335中用户自定义字库一区,0xa0-0xbf序号共有8个汉字,字模占用1335中用户自定义字库二区,Return为返回值。PSystemSet[6]为SYSTEM SET指令的第7个参数值,表示显示屏一行作占显示缓冲区的低位字节数。
4 结束语
本文以TMS320LF2407A为处理机,发送指令和数据给LCD模块的控制器,该模块由程序存储器、数据存储器和其他外围芯片构成,主要介绍二者的硬件组成和接口设计,如何通过软件在LCD屏上显示本文、图形和字符等方面的应用,本文设计的系统具有成本低、硬件简单、运行稳定可靠、传输速度快、开发周期短的优点。适用于短距离无线传输和数据采集领域,有着广泛的应用前景,特别是在智能家电等设备上。
评论