基于TMS320LF2407A控制的SED1335液晶显示方案
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所示。

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电源供电,所以它们不能直接相连。

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指令确定。

评论