基于DSP的液晶显示器接口设计及控制实现
扫描二维码
随时随地手机看文章
介绍TMS320LF2407型DSP的主要特点和LCM320240液晶显示模块的基本使用方法。
在此基础上讨论了DSP与液晶显示屏之间采用数字I/0口模拟时序的硬件接口设计方案,给出了基于C语言具体的实现方法,最终实现了DSP与LCM320240的良好接口,并在实际系统应用中取得了成功。同时,可为其他DSP与LCD的接口设计和控制实现提供参考。1 引言DSP即数字信号处理器,是一种特别适用于数字信号处理运算的微处理器,速度快,功能强,广泛应用于图形图像处理、语音处理、仪器仪表、通信、多媒体及军事等领域。液晶显示器由于具有功耗低、价格低、驱动电压低、接口方便、使用寿命长等特点以及优越的字符和图形显示功能,在各种图形显示、人机交互中得到广泛应用。本文将给出TMS320LF2407型DSP(以下简称DSP)控制北京青云公司生产的LCM320240液晶显示屏的软硬件设计实例,说明如何通过DSP控制液晶显示模块。同时,由于程序采用系统设计C语言,因此对其他型号的DSP与LCD接口设计和控制实现也有一定的参考价值。2 TMS320LF2407主要特点TMS320LF240x系列是TMS320C2000家族中最新、功能强大的DSP,其中LF2407是最具有革命性的产品,是一款集成度较高、性能较强的DSP,采用高性能静态CMOS技术,使得供电电压降为3.3V,减少了控制器的损耗;30MI/s的执行速度使得指令周期缩短到33ns.从而提高了控制器的实时控制能力;具有多达41个通用、双向的数字I/O引脚,能方便地实现各种I/O操作;与现存240xDSP控制器代码兼容,并且外设集成度更高、程序存储器容量更大、A/D转换速度更快。3 LCM320240液晶显示器简介LCM320240是北京青云公司生产的320x240点阵LCD模块。内含7602个简体中文字型,支持4/8位6800/8080MPU接口,工作电源(3.3V)与DSP兼容。本设计中采用6800时序,8位数据并行方式。LCM320240工作在两种不同的显示模式。文字显示模式。内建512KB的16x16中文显示字型ROM(FontROM),存储7602个标准GB码的简体中文。每个简体中文汉字由两个8位代码组成,对应关系参见LCM320240中文代码表。通过将汉字所对应的两个8位代码写入资料寄存器,就可以将对应汉字显示在当前光标处,汉字大小为16x16。绘图显示模式。它是以字元映射(bitmap)方式在DisplayRAM上填入图形资料。当所要显示的汉字大小不为16x16时,可以将LCD设置为绘图模式,通过字模提取软件得到所需大小的汉字字码表,再在LCD上以绘图方式显示。通过控制其指令寄存器[FD]实现LCD在这两种不同模式之间切换。对LCM320240的操作实质上就是通过控制RS引脚对指令寄存器和资料寄存器进行相应的读写操作。4 接口的硬件设计DSP经常会对读写周期较慢的输入/输出设备(如液晶显示模块、打印机、键盘等)进行访问,通常用以下两种方法来解决DSP与这些慢速设备之间的输入/输出时序匹配问题。直接访问。直接访问方式是将DSP的读写信号线与慢速设备接口控制板引出的读写信号线直接相连,时序由DSP内部读写逻辑控制。由于慢速外设的读写周期相对DSP较慢,要使两者的时序匹配,还必须进行一些时序方面的控制处理。一种处理方法是软件编程等待状态发生器,将外部总线周期扩展到数个机器周期。由于受硬件条件的限制,这种扩展通常也是有限的,TMS320C2000系列DSP最多只能扩展到7个机器周期。另一种处理方法是利用DSP的READY(外部设备准备就绪)引脚,通过硬件扩展实现外部状态自动等待,从而使DSP与慢速设备之间的时序匹配。虽然可以将总线周期扩展到任意个机器周期,但是需要进行硬件扩展,增加了系统设计的复杂度。间接访问。用DSP的数字I/0间接控制慢速设备,通过软件控制DSP的I/O口来实现与慢速设备的时序匹配。此种方式无需硬件扩展即可实现与任意时序慢速设备之间的时序匹配。本设计采用间接访问方式来实现DSP与LCM320240之间的时序匹配。接口电路如图1所示。图中电阻大小均为2kΩ。SLK,SLA分别为LED背光源正负极;Vdd,Vss分别为LCD的电源和地;CSl,CS2为LCD片选信号,当CSl为低,CS2为高时,LCM320240处于就绪状态,随时可接受指令。LCM320240的DB0-DB7与DSP的IOPB0-IOPB7相连,实现数据传送;IOPE0与RS相连,当RS为高时,DSP存取指令寄存器,而当RS为低时,DSP存取资料寄存器。IOPEI与WR(R/W)相连,当LCM320240为6800系列时序时,此引脚为读取/写入信号,高电平时表示读取的动作,低电平时表示写入的动作;I0PE2与RD(E)相连,当为6800时序时,EN为使能信号,高电平有效;IOPE5设置为输入方式,与BUSY相连,当BUSY引脚为高电平时,控制器无法被存取,DSP必须在对控制器做存取前确定该引脚为低电平才可对LCM320240进行操作;I0PE6设置为输入方式,与INT相连,此引脚可设成高或低电平触发,当光标Segment位址寄存器(CPXR)与Segment中断位址寄存器(INTX)值相同,或光标Common位址寄存器(CPYR)与Common中断位址寄存器(INTY)值相同时,发生中断,触发该引脚;IOPE7与RST相连,当IOPE7设置为低电平,且持续时间不小于LCM320240规定的最小时间100ms时,LCM320240复位;VOUT为液晶模块的负电压输出,LCDV0为LCD的工作电压(调节LCDVo的值可以调节显示对比度),通过调节可变电位器,可以调节液晶屏的显示对比度。5 软件控制实现DSP可以采用汇编语言或C语言作为开发语言进行程序设计,但考虑到系统的可移植性和软件的可读性,本文以C语言作为开发语言,介绍DSP与LCM320240之间控制程序的实现。首先解决TMS320LF2407与LCM320240之间的时序匹配。时序匹配是DSP控制LCM320240最关键也是最基本的问题,其本质就是如何编写控制程序对LCM320240的指令寄存器和资料寄存器进行读写操作。LCM320240所采用的6800时序图如图2所示。LCM320240接口时序如表1所示。根据LCM320240的时序图和时序表便可以编写与时序匹配的DSP控制程序。以写指令寄存器和写资料寄存器程序为例,程序源代码如下:其次,进行系统初始化设置,包括DSP和LCD的初始化。DSP初始化主要完成DSP与LCD相连的I/O口的功能配置;LCD的初始化主要完成对LCD工作方式和显示模式的设置,需要特别指出:在LCD初始化中应对LCD进行一次复位操作,为后续对LCD进行操作程序做好准备(源代码略)。最后,在完成系统初始化后,根据实际系统的需要,通过调用已经编译好的时序匹配的LCM320240控制程序来完成对实际系统程序的编写。6 结束语文中介绍的DSP控制LCM320240的软、硬件实现方法已在便携式检测仪中得到应用,运行效果良好。同时,本文所用程序采用C语言编写,具有较高的可移植性,对其他类型的DSP与LCD之间的软、硬件实现具有一定的参考价值。