新闻中心

EEPW首页 > 设计应用 > 基于TMS320LF2407A控制的SED1335液晶显示方案

基于TMS320LF2407A控制的SED1335液晶显示方案

——
作者:周艳荣,张茂青 (苏州大学机电工程学院,江苏省苏州市215021) 时间:2007-01-26 来源:《电子工程师》 收藏

0 引言

本文引用地址:https://www.eepw.com.cn/article/21243.htm

随着电子产品向智能化,小型化方向的发展,lcd(器)模块逐渐被广泛应用于对体积和显示模块功耗有较高要求的各种便携式智能型仪器仪表领域。dsp(数字信号处理器)以其优化的硬件结果、高效的指令系统、灵活的编程能力等优点,使其在高速实时系统中得到了广泛的应用。本文以信利(truly)公司生产的采用sd1335控制芯片lcd模块msp-g320240为例,给出了一种使用dsp取代传统的单片机实现与sed1335的接口应用及软硬件设计方案。

1 硬件设计

1.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]。对于msp――g320240,下面给出它的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。

2.3 方案

sed1335可显示文本、图形和字符。显示特性有些区别,但是实质上是一样的,都是对lcd屏上特定的区域写入相关的数据,这些数据以数组的形式事先建立在程序的开头处,在现实这些汉字、字符与图形时把数据写入显示ram中,软件流程见图3,具体显示特性和显示合成方式通过设置ovlay指令确定。



关键词: 液晶显示 LCD

评论


相关推荐

技术专区

关闭