基于DSP芯片TMS320LF2407的人机界面设计

基于DSP芯片TMS320LF2407的人机界面设计,第1张

  笔者采用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,事件管理模块适用于控制交流感应电机、无刷直流电机、开关磁阻电机、步进电机、多级电机和逆变器

  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可再次进入休眠,处于低功耗状态。

  

基于DSP芯片TMS320LF2407的人机界面设计,第2张

  四、软件设计

  主程序流程图如图2所示。

  

基于DSP芯片TMS320LF2407的人机界面设计,第3张

  在液晶模块显示信息之前,必须先对液晶模块进行初始化,其初始化的流程图如图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

  

基于DSP芯片TMS320LF2407的人机界面设计,第4张

  液晶初始化程序:

  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,这种设计方案取得了很好的低功耗效果。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2438981.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-03
下一篇 2022-08-03

发表评论

登录后才能评论

评论列表(0条)

保存