微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 一种基于DSP实现的LCD液晶屏显示技术

一种基于DSP实现的LCD液晶屏显示技术

时间:10-07 来源:3721RD 点击:

1 引 言

  随着电子产品集成化的发展.液晶显示屏在便携式仪器中实现图像或文字的显示应用更为广泛。

同时在当今信息时代,数字图像处理技术对实时性、运算量大的要求越来越高,所以高运算速度的DSP芯片在数字图像处理领域得到了广泛的应用;其使数据采集、控制与人机界面融为一体,由于DSP处理速度快,整个系统能够由一片DSP芯片控制.体积更小、功耗更低、更便于携带[1]。目前大多数液晶控制器的接[1电路及驱动程序主要是针对单片机设计的[2],DSP的液晶屏接口电路参考资料相对较少,而在实际应用中,单片机的硬件资源远远不够。所以本文提出一种由DSP控制实现LcD液晶屏显示的方案。

2 硬件设计

  本系统采用TI公刮的加强型定点DSP芯片TMS320VC54lOA[3],其频率可达160 MHz,内部有64 kRAM空间,可以灵活的映射为数据或程序存储窄间。

  液品模块采用信利公司的MG一128128-2中规模液品屏[2]。该模块内置有T6963C控制芯片,T6963C的最大特点是具有独特的硬件初始值设置功能,显示驱动所需的参数如占空比系数,驱动传输的字节数/行及字符的字体选择等均由引脚电平设置。这样T6963C的初始化在上电时就已经基本设置完成。软件操作的主要精力就可以全部用于显示画面的设计。

  本系统中使VC5410A采用1/O空间扩展方式控制液晶模块。由于向液晶模块写数据、写指令和写控制信号时。需要锁存总线,所以采用了锁存芯片74HC573实现总线的锁存。74HC573由8个D触发器组成。这8个D触发器具有共同的锁存使能(LE)和输出使能 。LE的下降沿将DO~D7上的数据锁存到O0~O7上的数据不随D0~D7变化。

  DSP与液晶显示模块部分接口电路如图l所示。LE的下降沿将D0~D7上的数据锁存到O0~O7上,当LE为低时O0~O7上的数据不随D0~D7变化。锁存器的使能端由Vc5410A的A10和IS控制,即把控制信号锁存在地址为0400H的I/O空间上。其真值表如表1昕示。

  系统中相类似的锁存电路有3个,写数据(指令)锁存电路的使能端由DSP的A11和IS控制,将数据或指令锁存住地址为0800H的I/O空间上,读数据锁存电路使能端DSP的A9和IS控制,将所读的数据锁存在地址为020OH的1/O空间上。DSP的低8位数据线和液晶模块的数据总线连接.负责将控制指令和显示数据送到显示模块的数据线上。 vc5410A的内部存储空间有限,所以本系统扩展了一个64 Mb/s的外部程序存储器SST39VF400A,该芯片的数据线和地址线分别与DSP芯片的对应相连,片选信号由 控制,读写控制引脚与DSP的读写信号R/w相连。

  3软件设计

  液晶屏实际是通过若干个象素点来构成汉字或图形的,刈'应位为"1"时.液晶点被点亮;为"O"时,不点亮。要显示汉字或图肜实际就是按照一定的规律点亮相应的液晶象素点.视觉上看起来就成了一个汉字或图形。

  MG一1 28128-2的控制器T6963C有一系列操作指令,通过指令的调用可以实现对液晶模块的控制[4]。在设计过程中,根据T6963c的指令系统及与DSP的时序信号波形图进行编程。

  液晶模块一作时序的产生主要是通过控制信号的改变来实现的.在编写写指令、写数据、读数据等 子程序之前,首先要确定硬件接口图的时序,本系统的控制信号接口顺序巾高到低依次为:NULL一NUL一OEw-RD-WR-CD一CE-LCD RST,通过访问I/O空间的0200H,0400H,0800H地址,来控制液晶模块。

  液晶屏上电之后,屏幕上的显示是随机的,所以控制程序开始就需要清屏,使屏幕上的液晶点全灭。然后初始化一些显示参数,例如显示区域、娃示方式、显示状态、光标状念等的设置。然后画出操作界面背景;DSP控制液晶显示采用外部中断办式。当有外部中断时.前端数据采集部分将数据,开始进入DSP缓存.同时清除显示区域上次的显示,对数据进行相应的处理。给液晶屏发送接收数据指令,即将LCD的RD引脚置为低电平,然后将显示数据送到LCD数据总线上,一个周期的数据的采集和显示即完成。

  下面将给出部分C语言的液晶模块驱动子程序,首先足一些变量的声明函数和用到的库函数:

#include

#define port LCD cmd port0400

//定义液晶模块的命令锁存地址为I/O空间的

0400H

#define port LCD write port0800

∥写数据锁存地址为0800H

#define port LCD read port0200

//读数据锁存地址为0200H

#define port_LCD_null;

ioport unsigned short port port_LCD_cmd;

ioport unsigned short port port_LCD_write;

ioport unsigned short port port_LCD_read;

ioport unsigned short port port_LCD_null;

读命令的子程序:

unsigned short Icd-read-command()

{

{

unsigned short temp;

por

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top