当前位置:首页 > 显示光电 > 显示光电
[导读]引言 DSP芯片具有高速的信息处理能力、较好的系统支持、硬件配置强等优良技术和较低的价格特性。嵌入式系统的实时性好、占用资源少、功能强、可靠性高、模块化结构、便于移植和定制的特点。基于 DSP平台的嵌入式系统

引言
DSP芯片具有高速的信息处理能力、较好的系统支持、硬件配置强等优良技术和较低的价格特性。嵌入式系统的实时性好、占用资源少、功能强、可靠性高、模块化结构、便于移植和定制的特点。基于 DSP平台的嵌入式系统具备上述两者的优点,特别适用于一些带各种便携式系统终端 LCD且需要大量数据要处理的系统。
近年来,DSP已经越来越多地被应用于数据采集、语音处理、图像分析与处理等领域中,并且日益显示出巨大的优越性。而液晶显示屏更以其显示直观、功耗低、便于操作的特点被用作各种便携式的显示前端。本文介绍了一种基于DSP 和 CPLD液晶模块的设计与实现方法,解决快速处理器与慢速外设的匹配问题。 1系统总体设计
该显示系统主要由DSP、CPLD、电平转换和 LCD模块四部分组成,如图 1所示, 
 500)this.style.width=500;" border="0" />

该系统中,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电平兼容的问题,采用 CMOS E2PROM工艺,传输延迟仅为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所示。
 
 500)this.style.width=500;" border="0" /> 

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配合决定控制界面的四种模式:

500)this.style.width=500;" border="0" />

另外,由于 FYD12864用 5V供电,所以液晶的 8位数据线不能直接与 DSP的外部扩展数据总线相连。本系统中采用 74ALVC16245来进行电平转换, 74ALVC16245是 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所示,
 500)this.style.width=500;" border="0" />

 
使用该显示模块时应注意以下几点:
(1)欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字母编码。(2)显示 ASCII字符过程与显示中文字符过程相同。不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加 1指向下一个字符位置,否则,显示的字符中将会有一个空 ASCII字符位置。(3)当字符编码为两字节时,应先写入高位字节,再写入低位字节。(4)模块在接收指令前,处理器必须先确认模块内部处于非忙状态,则读取BF标志,BF需为“0”,方可接收新的指令。如果在送出一个指令前不检查 BF标志,则在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。
通过初始化液晶显示屏以及调用字库显示汉字和字符来具体说明 DSP控制液晶显示屏的设计思想。系统硬件上电复位后,首先完成 DSP的初始化,然后根据用户系统的需要对控制器的各项指令代码及其参数进行设置,以完成液晶模块的参数以及显示方式等一系列过程的初始化。液晶模块具体编程如下:
#include "DSP28_Device.h"

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

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

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

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

void WriteLcdCom(unsigned char c);//写命令

void WriteLcdDat(unsigned char d);//写数据

void delay(unsigned int t);//延时

void main(void)//主程序

{  InitSysCtrl();//初始化系统
 DINT;// 关中断

IER = 0x0000;

IFR = 0x0000;

InitPieCtrl();//初始化

PIE InitPieVectTable(); //初始化

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(;;);

} void WriteLcdCom(unsigned char c) { * LcdComH = c;
* LcdComL=c;
delay(5000); } void WriteLcdDat(unsigned char d) { * LcdDatH = d;
* LcdDatL = d;
delay(5000); } void delay(unsigned int t) { while(t>0)
t--; }
以上程序均在 DSP集成开发环境 CCS中调试通过,LCD显示屏上可以正常显示连续的汉字、字符以及图形等,在实际的嵌入式数据采集系统中得以应用。通过移植本文的程序,修改其中一些命令,可以完成更加复杂的功能,并且具有缩短产品开发周期,加快产品上市等优点,因此非常适合便携式设备的界面显示系统。
结论
本文作者创新点:以 DSP为核心处理器,利用 CPLD来进行逻辑转换和控制,实现高速CPU处理器和低速外设接口的时序匹配,同时采用了移植性能和可读性能高的 C程序设计,无需插入等待周期,在实际的嵌入式系统中成功运行,为快速处理器与慢速外设的接口设计提供了一种借鉴的方法。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭