深圳市迈晶电子有限公司
中文版    英文版
0755-29630718
您现在的位置:网站首页 > 新闻中心 > 基于DSP和CPLD的液晶模块的设计

基于DSP和CPLD的液晶模块的设计

来源:深圳市迈晶电子有限公司         添加时间:2018-09-21

引言

DSP芯片具有高速的信息处理能力、较好的系统支持、硬件配置强等优良技术和较低的价格特性。嵌入式系统的实时性好、占用资源少、功能强、可靠性高、模块化结构、便于移植和定制的特点。基于DSP平台的嵌入式系统具备上述两者的优点,特别适用于一些带各种便携式系统终端LCD且需要大量数据要处理的系统。

近年来,DSP已经越来越多地被应用于数据采集、语音处理、图像分析与处理等领域中,并且日益显示出巨大的优越性。而液晶显示屏更以其显示直观、功耗低、便于操作的特点被用作各种便携式的显示前端。本文介绍了一种基于DSP和CPLD的液晶模块的设计与实现方法,解决快速处理器与慢速外设的匹配问题。1系统总体设计

该显示系统主要由DSP、CPLD、电平转换和LCD模块四部分组成,如图1所示,该系统中,DSP采用TI公司的TMS320F2812处理器。采用高性能静态的CMOS技术,使得供电电压降为3.3V,降低了控制器的功耗;150MIPS的执行速度使得指令周期缩短为6.67ns,从而提高了控制器的实时控制能力;可以进行16×16和32×32的乘加操作,可以方便的进行FFT、FIR滤波等数字信号处理算法;具有多达56个通用、双向数字I/O引脚,能方便的实现各种I/O操作。


CPLD采用Altera公司MAX7000系列的EPM7128SQC100,3.3V供电,不存在DSP及LCD电平兼容的问题,采用CMOSE2PROM工艺,传输延迟仅为5ns;具有68个用户可编程的IO口,为系统定义输入、输出和双向口提供了极大的方便;EPM7128同时还提供了JTAG接口,可进行ISP编程,极大地方便了用户。本文采用CPLD的主要目的是:对于LCD显示,将DSP中的数据发送到CPLD,然后DSP去做其它的事情,而后续的显示任务由CPLD完成,CPLD将在LCD允许的速度下对其进行操作即可达到显示的目的。

LCD模块采用成都飞宇达的FYD12864-0402B,内置ST7920液晶控制器。它是一种具有4位/8位并行、2线或3线串行多种接口方式,内含中文字库的点阵图形液晶显示模块。其显示分辨率为128*64,内置8192个16*16点汉字和128个16*8点ASCII字符集,强大的字库省去了很多自行编码的麻烦;可以显示中文字型、数字符号、英文字母以及图形等,利用该模块灵活的接口方式和简单方便的操作指令,可构成友好的中文人机交互界面。

硬件接口设计

由于DSP属于高速器件,LCD为慢速外设,DSP对读写周期较慢的LCD进行访问,可采用以下两种方式来解决DSP与LCD的时序匹配问题:直接访问和间接访问。直接访问是将DSP的读写信号与LCD接口的读写信号直接相连,将LCD的8位数据线与DSP的低8位数据线相连(在CPLD内部硬件编程完成),时序由DSP内部读写逻辑控制。由于LCD的读写周期较DSP慢,要使两者的时序匹配,还必须进行一些时序方面的处理。间接访问用DSP的I/O口间接控制慢速设备,可以通过软件控制DSP的I/O口来实现与慢速外设的时序匹配。该方法无需通过硬件扩展即可实现与任意慢速外设的时序匹配。在该显示系统中,由于CPLD的可在线硬件编程能力,这2种方法均可实现。这里采用第一种接法。DSP与LCD的硬件接口电路图如图2所示。


LCD各引脚说明如下:RS为高电平时,DB7—DB0显示数据;RS为低电平时,DB7—DB0显示指令数。R/W为高电平时,数据被读到DB7—DB0;R/W为低电平时,DB7—DB0的数据被写到IR或DR。E为使能信号线。当E为高电平时,配合R进行读数据或指令,当E为低电平时,配合/W进行写数据或指令。PSB为高电平时,表示8位或四位并口方式;PSB为低电平时,表示串口方式。RESET为复位信号输入端,低电平有效。DB7—DB0为三态数据线。其中RS与R/W配合决定控制界面的四种模式:


另外,由于FYD12864用5V供电,所以液晶的8位数据线不能直接与DSP的外部扩展数据总线相连。本系统中采用74ALVC1*5来进行电平转换,74ALVC1*5是16位的电源转换芯片,采用3.3V供电,该芯片有两个方向控制引脚(DIR1和DIR2),DIR1由CPLD的I/O引脚供给,当DSP从液晶读取数据时,DIR1为低电平,数据的传输方向是从液晶到DSP;当DSP往液晶写数据时,DIR1为高电平,数据传输方向是从DSP到液晶。DIR2与VCC相连,由CPLD的I/O引脚控制LCD。3软件编程及实例

本系统中,CPLD部分采用VHDL进行编程,主程序采用C语言进行编程,便于程序的移植,并使其具有较高的可读性。首先解决DSP与LCD的时序匹配问题,时序匹配是DSP控制LCD最关键的问题,其实质是如何编写程序对LCD的指令寄存器和数据寄存器进行读写操作,接口时序如图3和图4所示。


使用显示模块时应注意以下几点:(1)欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字母编码。(2)显示ASCII字符过程与显示中文字符过程相同。不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加1指向下一个字符位置,否则,显示的字符中将会有一个空ASCII字符位置。(3)当字符编码为两字节时,应先写入高位字节,再写入低位字节。(4)模块在接收指令前,处理器必须先确认模块内部处于非忙状态,则读取BF标志,BF需为“0”,方可接收新的指令。如果在送出一个指令前不检查BF标志,则在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。

通过初始液晶显示屏以及调用字库显示汉字和字符来具体说明DSP控制液晶显示屏的设计思想。系统硬件上电复位后,首先完成DSP的初始化,然后根据用户系统的需要对控制器的各项指令代码及其参数进行设置,以完成液晶模块的参数以及显示方式等一系列过程的初始化。液晶模块具体编程如下:

#include"DSP28_Device.h"

unsignedint*LcdComL=(unsignedint*)0x5100;//命令寄存器低地址

unsignedint*LcdComH=(unsignedint*)0x5200;//命令寄存器高地址

unsignedint*LcdDatL=(unsignedint*)0x5300;//数据寄存器低地址

unsignedint*LcdDatH=(unsignedint*)0x5400;//数据寄存器高地址

voidWriteLcdCom(unsignedcharc);//写命令

voidWriteLcdDat(unsignedchard);//写数据

voiddelay(unsignedintt);//延时

voidmain(void)//主程序

{InitSysCtrl();//初始化系统

DINT;//关中断

IER=0x0000;

IFR=0x0000;

InitPieCtrl();//初始化

PIEInitPieVectTable();//初始化

PIE中断矢量表

InitPeripherals();//初始化外设

LcdComL=0x00;//初始化命令寄存器

LcdDatL=0x00;//初始化数据寄存器

WriteLcdCom(0x01);//清除显示屏

WriteLcdCom(0x0e);//显示状态打开

WriteLcdCom(0x30);//LCD选择为8位并行数据传输方式

比如要在显示屏第一行显示“检测物质:Theanol”

WriteLcdCom(0x80);//写第一个字符的地址

WriteLcdDat(0xbc);//第一个汉字“检”的高字节

WriteLcdDat(0xec);//“检”的低字节

WriteLcdDat(0xb2);//汉字“测”高字节

WriteLcdDat(0xe2);//“测”低字节

WriteLcdDat(0xce);//汉字“物”高字节

WriteLcdDat(0xef);//汉字“物”低字节

WriteLcdDat(0xd6);//汉字“质”高字节

WriteLcdDat(0xca);“质”低字节

WriteLcdDat(0x3a);//冒号“:”

WriteLcdDat(0x45);//字符“T”

WriteLcdDat(0x74);//字符“h”

…for(;;);

}voidWriteLcdCom(unsignedcharc){*LcdComH=c;

*LcdComL=c;

delay(5000);}voidWriteLcdDat(unsignedchard){*LcdDatH=d;

*LcdDatL=d;

delay(5000);}voiddelay(unsignedintt){while(t>0)

t--;}

以上程序均在DSP集成开发环境CCS中调试通过,LCD显示屏上可以正常显示连续的汉字、字符以及图形等,在实际的嵌入式数据采集系统中得以应用。通过移植本文的程序,修改其中一些命令,可以完成更加复杂的功能,并且具有缩短产品开发周期,加快产品上市等优点,因此非常适合便携式设备的界面显示系统。

结论

本文作者创新点:以DSP为核心处理器,利用CPLD来进行逻辑转换和控制,实现高速CPU处理器和低速外设接口的时序匹配,同时采用了移植性能和可读性能高的C程序设计,无需插入等待周期,在实际的嵌入式系统中成功运行,为快速处理器与慢速外设的接口设计提供了一种借鉴的方法。


新闻中心
联系方式
电话:0755-29630718
传真:0755-29630718
邮箱:ca_jyz1234@126.com
联系人:揭先生
地址:深圳市宝安区福永白石厦东区福丰达工业区三栋四楼
网站首页  |   关于我们  |   液晶屏图片  |   液晶屏行业资讯  |   液晶屏产品列表  |   在线留言  |   加入我们  |   联系我们  |   Website
联系电话:0755-29630718     公司传真:0755-29630718     企业邮箱:ca_jyz1234@126.com
公司地址:深圳市宝安区福永白石厦东区福丰达工业区3栋四楼     备案号:粤ICP备12084576号
Copyright © 2015-2025 深圳市迈晶电子有限公司版权所有