摘 要:工业控制仪器仪表、电子消费产品、嵌入式等系统需要良好的人机交互界面,包括:英文、数字、汉字和静动态图形显示,菜单显示。本文详细介绍了以TMS320LF2407为核心的低功耗中文人机界面的设计思路和方法,包括它的功能说明、硬件连接图、软件流程图及有关程序。 关键词:TMS320LF2407、中文人机界面、液晶显示
引言 在现代智能仪器设备中,能显示汉字的图形点阵液晶和可以输入信息的小键盘已成为智能设备的人机界面中必不可少的组成部分。同时低功耗特性也贯穿于中文人机界面的设计始终。近年来,随着低价格、高性能DSP芯片的出现,DSP已越来越多地被应用于数字化电机控制、高速信号采集、语音处理、图像分析处理等领域中,并且日益显示其巨大的优越性。而液晶显示屏更以其显示直观、便于操作的特点被用作各种便携式系统的显示前端。传统的液晶显示往往采用单片机控制。但在系统有大量高速实时数据的情况下,单片机由于受到处理速度的限制就显得力不从心。为了解决这些问题,本文提出了一种基于高速低功耗的DSP芯片TMS320LF2407控制的液晶显示屏的设计,有效地解决以上所遇到的问题。 设计中,笔者采用TMS320LF2407作为系统的控制芯片,通过选择合适的液晶显示模块在3V电平构建了一个低功耗的中文人机界面。此中文人机显示界面是以TMS320LF2407为核心的运动控制系统中的重要组成部分。
一、TMS320LF2407 DSP TMS320LF2407是德州仪器公司(TI)推出的16位定点DSP。它具有TMS320系列DSP的基本功能,还具有以下一些特点: 1、用高性能静态CMOS技术,使得供电电压降为3.3V,减少了控制器的功耗。 2、内有高达32K×16位的Flash程序存储器,高达2.5K×16位的数据/程序RAM,544×16位双端口RAM(DARAM),2K×16位的单口RAM(SARAM)。 3、2个事件管理模块EVA和EAB,事件管理模块适用于控制交流感应电机、无刷直流电机、开关磁阻电机、步进电机、多级电机和逆变器。 4、可扩展的外部存储器总共192K×16位,其中程序存储器空间、数据存储器空间、 I/O寻址空间各为64K×16位。 5、内有看门狗定时器(WDT)、10位ADC转换器、控制器区域网模块CAN2.0 B、串行通信接口模块(SCI)、16位串行外部设备接口模块(SPI)、基于锁相环的时钟发生器。 6、5个外部中断(两个电机驱动保护、复位和两个可屏蔽中断);3种低功耗
电源管理模式,能独立地将外设器件转入低功耗工作模式。此外,该芯片有多达41个可单独编程或复用的通用I/O脚(GPIO),用户可根据自己的需求进行软件设置,使之在应用中具有极大的灵活性。概括来说,TMS320LF2407具有极低的功耗、强大的处理能力、丰富的片上外围模块、方便高效的开发方式。
二、液晶显示模块与接口电路 为实现友好的中文人机显示界面,液晶模块选用信利公司的MG-12232。该模块的供电电压典型值为3V,工作电流典型值为0.3µA,其显示范围为122×32点阵。其控制器是两片SED1520F0A,SED1520F0A可以在3.3V电压下正常工作,因而避免了与TMS320LF2407逻辑电平不匹配的问题。 一个SED1520F0A能控制80×16点阵的显示,其显示RAM共16行,分2页,每页8行,每一页的数据寄存器分别对应液晶屏幕上的8行点,当设置页地址和列地址后就确定了显示RAM的某一单元。屏幕上的每一列对应一个显示RAM的字节内容,且每一列最下面一位为最高位,最上面一位为LSB,即该RAM单元字节数据由低位到高位和各个数据位对应于显示屏上某一列的由高到低的8个数据位。对显示RAM的一个字节单元赋值就是对当前列的8行(一页)像素点是否显示进行控制,数据位为“1”时显示,为“0”时不显示。 SED1520F0A与TMS320LF2407的接口信号有(采用M6800时序): DB0~DB7:数据总线;A0:数据/指令选择信号,A0=1表示数据总线上出现的是数据,A0=0表示数据总线上出现的是指令或读出的状态; :接口时序类型选择, =1为M6800时序,其操作信号是E、R/W, =0为Intel8080时序。在M6800时序时,R/W=1为读、R/W=0为写。E1=1时,选中E1块,即LCD模块左半屏工作,E2=1时选中E2块,即LCD模块右半屏工作。 TMS320LF2407与MG-12232模块的接口电路如图1所示。TMS320LF2407相应的控制引脚都设为I/O端口方式,用软件来模拟M6800操作时序。在图1中,V0是LCD需要的负电压驱动电源输入端,其外接电阻应先用可调电阻调试,以免驱动电压不合适,造成显示不可见。[b]三、键盘接口 [/b] 基于对系统低功耗要求的考虑,键盘输入响应程序应设计为中断方式运行的。即有键按下时,使DSP外部中断1(XINT1)产生中断(可以从休眠状态唤醒),并启动定时20ms的定时器消抖动去干扰,随后DSP进入休眠状态。当20ms的定时器产生中断时再次将DSP从休眠状态唤醒,此时扫描键盘,确定是否有键按下,若有键按下,则从IOPB0~IOPB7读入键值,并执行该键值对应的功能程序。执行完该程序后,DSP可再次进入休眠,处于低功耗状态。
四、软件设计 主程序流程图如图2所示。
在液晶模块显示信息之前,必须先对液晶模块进行初始化,其初始化的流程图如图3所示。 下面给出了DSP系统初始化程序以及键扫描程序。 DSP系统初始化程序: SYS:SETC INTM ;禁止可屏蔽中断 CLRC CNF ;B0被配置为数据存储空间 SPLK #81FEH,SCSR1 ; 时钟4倍频;CLKIN=6MHZ,CLKOUT=24MHZ SPLK #0E8H,WDCR ;不使能看门狗 LDP #0 SPLK #0001H,IMR ;使能中断第1级INT1 SPLK #0FFFFH,IFR ;清全部中断标志 CLRC INTM ;开中断 RET
液晶初始化程序: LDP #0E1H ;DP(7080H~70FFH) LACL MCRA AND #000FH ;配置IOPA[4~7],IOPB[0~7]为;一般I/O口功能 SACL PADATDIR OR #0F000H ;IOPA[4~7]为输出方式 AND #0FF0FH样 ;IOPA[4~7]=0 SACL PADATDIR LDP #5H SPLK #00E2H,LCDCMD;复位命令E2H CALL COMWE SPLK #0A4H,LCDCMD;正常显示驱动命令A4H CALL COMWE SPLK #0A9H,LCDCMD ;占空比为1/32 CALL COMWE SPLK #0A0H,LCDCMD; CALL COMWE SPLK #0C0H,LCDCMD ;显示起始行 CALL COMWE CALL CLEAR SPLK #0AFH,LCDCMD ;开显示命令AFH CALL COMWE RET 外部中断1响应以及20ms定时器中断消抖动后,读键值子程序: LDP #0E1H ;DP(7080H~70FFH) LACL PBDATDIR ;取出键值 SACL KEYDATA ;将键值送入KEYDATA保存 RET
五 、结束语 本系统利用TMS320LF2407 DSP、MG-12232图形点阵液晶模块和键盘构建了基于3V电平的低电压、低功耗的中文人机界面。实际试验中,此中文人机界面消耗电流不足1mA,这种设计方案取得了很好的低功耗效果。
参考文献 1. TMS320LF240X DSP结构、原理及应用,刘和平,等. 北京航空航天大学出版社,2002. 2. 液晶显示应用技术,李维提,郭强. 电子工业出版社,2000. 3. DSP控制器原理及其在运动控制系统中的应用,韩安太,等. 清华大学出版,2003.