当前位置:首页 > 显示光电 > 显示光电
[导读]引言 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程序设计,无需插入等待周期,在实际的嵌入式系统中成功运行,为快速处理器与慢速外设的接口设计提供了一种借鉴的方法。

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

成都2022年10月19日 /美通社/ -- 近期,平安养老险积极筹备个人养老金的产品设计和系统开发工作,发展多样化的养老金融产品,推动商业养老保险、个人养老金、专属商业养老保险等产品供给。 搭养老政策东风 ...

关键字: 温度 BSP 东风 大众

广东佛山2022年10月19日 /美通社/ -- 空间是人居生活的基础单元,承载着生存与活动的最基本功能。而对于理想空间的解构意义却在物理性容器之外,体现出人们对于空间和生活深层关系的思考,同时也塑造着人与空间的新型连接...

关键字: 温度 BSP 智能化 进程

上海2022年10月19日 /美通社/ -- 10月17日晚间,安集科技披露业绩预告。今年前三季度,公司预计实现营业收入7.54亿元至8.33亿元,同比增长60.24%至77.03%;归母净利润预计为1.73亿...

关键字: 电子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市经济和信息化局发布2022年度第一批北京市市级企业技术中心创建名单的通知,诺诚健华正式获得"北京市企业技术中心"认定。 北京市企业技...

关键字: BSP ARMA COM 代码

北京2022年10月18日 /美通社/ -- 10月14日,国际数据公司(IDC)发布《2022Q2中国软件定义存储及超融合市场研究报告》,报告显示:2022年上半年浪潮超融合销售额同比增长59.4%,近5倍于...

关键字: IDC BSP 数字化 数据中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都银行集团成立60周年的纪念日。趁着首都银行集团成立60周年与首都银行(中国)在华深耕经营12年的“大日子”,围绕作为外资金融机构对在华战略的构想和业...

关键字: 数字化 BSP 供应链 控制

东京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式会社(NIPPON EXPRESS HOLDINGS, INC.)旗下集团公司上海通运国际物流有限公司(Nipp...

关键字: 温控 精密仪器 半导体制造 BSP

广州2022年10月18日 /美通社/ -- 10月15日,第 132 届中国进出口商品交易会("广交会")于"云端"开幕。本届广交会上高新技术企业云集,展出的智能产品超过140,...

关键字: 中国智造 BSP 手机 CAN

要问机器人公司哪家强,波士顿动力绝对是其中的佼佼者。近来年该公司在机器人研发方面获得的一些成果令人印象深刻,比如其开发的机器人会后空翻,自主爬楼梯等。这不,波士顿动力又发布了其机器人组团跳男团舞的新视频,表演的机器人包括...

关键字: 机器人 BSP 工业机器人 现代汽车

南京2022年10月17日 /美通社/ -- 日前《2022第三届中国高端家电品牌G50峰会》于浙江宁波落幕,来自两百余名行业大咖、专家学者共同探讨了在形势依然严峻的当下,如何以科技创新、高端化转型等手段,帮助...

关键字: LINK AI BSP 智能家电

显示光电

64660 篇文章

关注

发布文章

编辑精选

技术子站

关闭