基于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需要的负电压驱动电源输入端,其外接电阻应先用可调电阻调试,以免驱动电压不合适,造成显示不可见。
三、键盘接口
基于对系统低功耗要求的考虑,键盘输入响应程序应设计为中断方式运行的。即有键按下时,使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
人机界面 TMS320LF2407 DSP 相关文章:
- 嵌入式组态软件系统的研究(02-25)
- 基于TMS320LF2407的人机界面设计(11-27)
- 基于DSP TMS320LF2407的人机界面设计(02-09)
- 利用ARM MCU设计激光电源控制系统(01-16)
- 机器视觉技术在发动机生产中的应用(03-01)
- 基于PLC和交流伺服的单轴控制系统(12-20)