1. 研究目的与意义
通过本设计掌握CPLD设计的一般流程,培养科学的钻研精神,在实践中提高动手能力,培养阅读专业英文文献的能力,掌握构建CPLD系统的相关知识,熟悉CPLD系统涉及的常用芯片技术资料。
在设计过程中通过与同类型毕设课题学生之间广泛的交流和讨论培养团队合作的精神
2. 国内外研究现状分析
战略性新兴产业以未来新兴技术为依托,然而未来新兴技术在产业发展前期却具有很大的不确定性,发展过程中还会受到多重因素影响,在完全成熟前很难识别。
世界液晶显示工业发展历程,已被战略性新兴产业研究学者们作为最为经典的研究案例。
液晶最早发现于1888年,直到20世纪60年代与显示技术结合才开始获得应用。
3. 研究的基本内容与计划
内容:一、技术要求:
设计一个cpld实验系统,能够实现一般eda课程所需实验,如数据选择器、八段数码译码器、计数器、移位寄存器等实验,硬件上要求具有cpld、ad/da、8段数码管、led、lcd等模块。
本模块要求设计lcd主模块的原理图与vhdl程序,学生应能给出原理图中各元件的参数与测试lcd主模块是否正常的vhdl源程序。二、工作要求:
4. 研究创新点
dsp芯片具有高速的信息处理能力、较好的系统支持、硬件配置强等优良技术和较低的价格特性。嵌入式系统的实时性好、占用资源少、功能强、可靠性高、模块化结构、便于移植和定制的特点。基于 dsp平台的嵌入式系统具备上述两者的优点,特别适用于一些带各种便携式系统终端 lcd且需要大量数据要处理的系统。 近年来,dsp已经越来越多地被应用于数据采集、语音处理、图像分析与处理等领域中,并且日益显示出巨大的优越性。而液晶显示屏更以其显示直观、功耗低、便于操作的特点被用作各种便携式的显示前端。本文介绍了一种基于dsp 和 cpld的液晶模块的设计与实现方法,解决快速处理器与慢速外设的匹配问题。
dsp采用 ti公司的 tms320f2812处理器。采用高性能静态的 cmos技术,使得供电电压降为 3.3v,降低了控制器的功耗;150mips的执行速度使得指令周期缩短为6.67ns,从而提高了控制器的实时控制能力;可以进行 1616和 3232的乘加操作,可以方便的进行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控制液晶显示屏的设计思想。系统硬件上电复位后,首先完成 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位并行数据传输方式比如要在显示屏第一行显示检测物质:theanolwritelcdcom(0x80); //写第一个字符的地址 writelcddat(0xbc); //第一个汉字检的高字节 writelcddat(0xec);//检的低字节 writelcddat(0xb2);//汉字测高字节 writelcddat(0xe2);//测低字节 writelcddat(0xce);//汉字物高字节 writelcddat(0xef);//汉字物低字节writelcddat(0xd6);//汉字质高字节writelcddat(0xca);质低字节writelcddat(0x3a);//冒号: writelcddat(0x45);//字符 twritelcddat(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(t0)t--; }以上程序均在 dsp集成开发环境 ccs中调试通过,lcd显示屏上可以正常显示连续的汉字、字符以及图形等,在实际的嵌入式数据采集系统中得以应用。通过移植本文的程序,修改其中一些命令,可以完成更加复杂的功能,并且具有缩短产品开发周期,加快产品上市等优点,因此非常适合便携式设备的界面显示系统。
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。