基于FPGA的液晶控制器接口课程设计论文Word下载.docx

上传人:b****8 文档编号:22501108 上传时间:2023-02-04 格式:DOCX 页数:22 大小:227.12KB
下载 相关 举报
基于FPGA的液晶控制器接口课程设计论文Word下载.docx_第1页
第1页 / 共22页
基于FPGA的液晶控制器接口课程设计论文Word下载.docx_第2页
第2页 / 共22页
基于FPGA的液晶控制器接口课程设计论文Word下载.docx_第3页
第3页 / 共22页
基于FPGA的液晶控制器接口课程设计论文Word下载.docx_第4页
第4页 / 共22页
基于FPGA的液晶控制器接口课程设计论文Word下载.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

基于FPGA的液晶控制器接口课程设计论文Word下载.docx

《基于FPGA的液晶控制器接口课程设计论文Word下载.docx》由会员分享,可在线阅读,更多相关《基于FPGA的液晶控制器接口课程设计论文Word下载.docx(22页珍藏版)》请在冰豆网上搜索。

基于FPGA的液晶控制器接口课程设计论文Word下载.docx

当为ROM型是,其显示模式及显示数据不可变,即只能显示固定的信息;

为RAM型时,其显示模块及数据可根据需要任意配置,即可显示出更为灵活及复杂的信息,如实时的波形显示器等。

二、基本要求:

设计并实现一个128×

32的汉字图形液晶显示器的控制器,要求:

能够显示几个液晶模块字库中的汉字和ASIC字符

三、扩展要求

能够显示一个简单的图形。

按照规范写出论文,要求字数在4000字以上,并进行答辩。

论文内容包括概述(学习、调研、分析、设计的内容摘要)、EDA技术的现状和发展趋势、对EL教学实验箱和QuartusⅡ软件的掌握程度、数字钟的设计过程(包括原理图或程序设计、编译、仿真分析、硬件测试的全过程),论文中含有原理图、程序、仿真波形图及其分析报告。

完成期限2周

指导教师

专业负责人

2011年月日

东北石油大学课程设计成绩评价表

课程名称

硬件课程设计

题目名称

液晶控制器接口设计

学生姓名

学号

指导教师姓名

职称

序号

评价项目

指标(优秀)

满分

评分

1

选题难度

选题难度较高,或者对原题目进行了相当程度的改进。

10

2

工作量、工作态度和出勤率

工作量饱满,工作努力,遵守纪律,出勤率高,工作作风严谨,善于与他人合作。

3

课程设计质量

按期圆满的完成了规定的任务,方案设计合理,思考问题全面,系统功能完善。

40

4

报告质量

问题论述思路清晰,结构严谨,文理通顺,撰写规范,图表完备正确。

30

5

回答问题

在进行课程设计程序系统检查时,能正确回答指导教师所提出的问题。

6

创新(加分项)

工作中有创新意识,对前人工作有改进或有应用价值。

在进行系统检查时能对创新性进行说明,并在报告中有相应的论述。

+5

总分

评语:

指导教师:

年月日

摘要

如今,科技进步给我们的生活带来了很大的变化。

液晶显示设备越来越多,各种各样的液晶显示产品走进我们生活中。

从手机到电脑显示器,从掌上电脑到平板电视。

无处没有液晶显示技术的身影。

液晶显示器由于具有低压、微功耗、显示信息量大、体积小等特点,在移动通信终端、便携计算机、GPS卫星定位系统等领域有广泛用途,成为使用量最大的显示器件。

液晶显示控制器作为液晶驱动电路的核心部件通常由集成电路组成,通过为液晶显示系统提供时序信号和显示数据来实现液晶显示。

本设计是一种基于FPGA(现场可编程门阵列)的液晶显示控制器。

与集成电路控制器相比,FPGA更加灵活,可以针对小同的液晶显示模块更改时序信号和显示数据。

FPGA的集成度、复杂度和面积优势使得其日益成为一种颇具吸引力的高性价比ASIC替代方案。

本文选用MAX7000S系列的EPM7128SLC84-15器件,利用硬件描述语言VHDL设计了液晶显示拧制器,实现了替代专用集成电路驱动控制LCD的作用。

关键词:

EDA(电子设计自动化),VHDL(硬件描述语言),液晶控制器接口设计,LCD(液晶显示器)。

目录

第1章课程设计内容和要求1

1.1设计内容1

1.2设计要求1

1.3设计目的1

第2章液晶控制器设计方案2

2.1设计思路2

2.2工作原理及框图2

2.3各模块功能描述4

第3章液晶显示器接口底层电路设计6

3.1设计规划6

3.2设计说明6

3.3底层电路程序6

第4章液晶控制器接口的顶层文件设计11

4.1设计说明11

4.2顶层文件程序11

第5章液晶控制器接口设计的测试与运行13

5.1仿真结果13

5.2实验箱验证情况13

总结15

参考文献16

第1章课程设计内容和要求

1.1设计目的

(1)能够显示几个液晶模块字库中的汉字和ASIC字符。

(2)能够显示一个简单的图形(选做)。

1.2设计内容

(1)学习掌握液晶显示模块的工作原理及应用。

(2)熟练掌握VHDL编程语言,编写液晶显示模块的控制逻辑。

1.3设计要求

(1)仿真所编写的程序,模拟验证所编写的模块功能。

(2)下载程序到芯片中,硬件验证所设置的功能,能够实现汉字的显示。

(3)整理设计内容,编写设计说明书。

第2章液晶控制器设计方案

2.1设计思路

根据指导教师布置的课题,通过参考书籍、查阅手册、图表和文献资料,网络等获取相关的知识后,了解到:

液晶显示模块硬件接口协议为请求/应答(REQ/BUSY)握手方式。

应答BUSY高电平(BUSY=1)表示OCMJ忙于内部处理,不能接收用户命令;

BUSY低电平(BUSY=0)表示OCMJ空闲,等待接收用户命令。

发送命令到OCMJ可在BUSY=0后的任意时刻开始,先把用户命令的当前字节放到数据线上,接着发高电平REQ信号(REQ=1)通知OCMJ请求处理当前数据线上的命令或数据。

OCMJ模块在收到外部的REQ高电平信号后立即读取数据线上的命令或数据,同时将应答线BUSY变为高电平,表明模块已收到数据并正在忙于对此数据的内部处理,此时,用户对模块的写操作已经完成,用户可以撤消数据线上的信号并可作模块显示以外的其他工作,也可不断地查询应答线BUSY是否为低(BUSY=0?

),如果BUSY=0,表明模块对用户的写操作已经执行完毕。

可以再送下一个数据。

2.2工作原理及框图

2.2.1液晶LCD显示器的工作原理:

液晶显示器是一种采用了液晶控制透光技术来实现色彩的显示器。

从液晶显示器的结构来看,采用的LCD显示屏都是由不同部分组成的分层结构。

LCD由两块玻璃板构成,厚约1mm,其间由包含有液晶材料的5um均匀间隔隔开。

因为液晶材料本身并不发光,所以在显示屏两边都设有作为光源的灯管,而在液晶显示屏背面有一块背光板(或称匀光板)和反光膜,背光板是由荧光物质组成的可以发射光线,其作用主要是提供均匀的背景光源。

背光板发出的光线在穿过第一层偏振过滤层之后进入包含成千上万液晶液滴的液晶层。

液晶层中的液滴都被包含在细小的单元格结构中,一个或多个单元格构成屏幕上的一个像素。

在玻璃板与液晶材料之间是透明的电极,电极分为行和列,在行与列的交叉点上,通过改变电压而改变液晶的旋光状态,液晶材料的作用类似于一个个小的光阀。

液晶材料周边是控制电路部分。

当LCD中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后经过第二层过滤层在屏幕上显示出来。

2.2.2设计原理图如下:

图2-1液晶控制器接口设计原理图

显示国标汉字:

命令格式:

F0XXYYQQWW。

该命令为5字节命令(最大执行时间为1.2毫秒,Ts2=1.2mS),其中:

XX:

为以汉字为单位的屏幕行坐标值,取值范围00到07、02到09、00到09;

YY:

为以汉字为单位的屏幕列坐标值,取值范围00到01、00到03、00到04;

QQWW:

坐标位置上要显示的GB2312汉字区位码。

2.2.3设计框图:

图2-2液晶控制器设计框图

2.3各模块功能描述

液晶显示模块共有四个单元电路组成,分别是:

时序发生器、地地址发生器、存储器、控制器。

引脚功能图和内部结构框图分别如图3-3和图3-4所示。

图2-3液晶控制器引脚功能图

图2-4液晶控制器内部结构框图

其中,时钟发生器共有三组时钟输出,分别送给:

第3章液晶显示器接口底层电路设计

3.1设计规划

该液晶控制器可显示模块字库中的汉字和ASSIC字符,又具有清零功能。

因此。

此程序共有两大大模块,汉字显示模块,清零模块。

1.汉字显示模块是根据查表对照的方法显示出设计者想要表达的文字。

液晶屏上显示的汉字是16*16的像素。

2.ASIC字符显示相对汉字来说比较简单。

只需要16*8个像素。

3.清零功能是强制清除一切记录的功能。

3.2设计说明

液晶屏幕上是如何显示一些汉字或者是图画,这是我们应该思考的一个问题。

在数字电路中,所有数据都是由0、1保存的,同样LCD也是利用这种方法。

在点阵LCD上显示的只有两种颜色,因此可用0和1来表示这两种颜色,假设空格是16*16个0组成的,在现实16*16的字体时,将其中某些点置为1便可在视觉上形成汉字,这些二进制数成为代码。

与汉字不同的是一个字符只需要16*8的像素便可。

3.3底层电路程序

3.3.1清零模块

清零模块的功能:

实现将地址清零的功能。

当clr为‘0’时,将初始地址置为"

00000000"

当clr为‘1’时,出现上升沿时,如果addr1为"

00111100"

,则将addr置为"

00000001"

不出现上升沿时,则将addr加1,以实现地址的循环。

如此实现清零模块的功能。

清零模块的代码(VHDL)如下:

LIBRARYieee;

USEieee.std_logic_1164.ALL;

USEieee.std_logic_unsigned.ALL;

USEieee.std_logic_arith.all;

USEwork.rom.all;

ENTITYlcd1is

PORT(clr,clk,BUSY:

INstd_logic;

STOBE:

OUTstd_logic;

dout:

OUTstd_logic_vector(7DOWNTO0));

--实体端口的设计

ENDlcd1;

ARCHITECTUREdoitOFlcd1IS

signalcounter,addr1:

std_logic_vector(7downto0);

--结构体的信号设计

signaladdr:

std_logic_vector(7DOWNTO0);

BEGIN

P1:

process(clr,busy)

begin

if(clr='

0'

)then

addr1<

="

;

--给地址清零

elsif(busy'

eventandbusy='

1'

if(addr1="

--如果出现busy出现上升沿实现地址的赋值

else

=addr1+1;

--实现地址的循环

endif;

endprocessP1;

P2:

addr<

--地址清零

elsif(busy'

=addr1;

--当busy出现下降沿时地址的赋值

endprocessP2;

由以上程序可发现:

如果clr为‘1’,初始地址被赋值为"

000000001"

,如果busy为1,则准备下一条地址。

如果busy为0,则把地址数据传送给存储器,来进行数据的存储。

如果clr为‘0’时,地址置"

清零,则实现了清零的功能。

3.3.2汉字显示模块

汉字显示模块的原理是:

将汉字内码gb2312码存入只读存储器rom中,用下面程序对汉字内码进行调用,则可以将所对应的汉字显示出来。

例如汉字“东”的汉字内码为2211,用显示模块二进制将2211表示出来,则可以将汉字“东”显示出来。

如此,则可以显示出所需要的汉字。

此液晶显示器每行显示六个字,一共两行。

另外,由于只读存储器的大小为256*8,所以,当所需要的汉字的内码设置完后,应当用"

对rom进行填充,使其达到256*8的大小,以实现循环,避免产生乱码。

汉字显示模块的代码(VHDL)如下:

--调用存储器中的内容

--实体端口的设计

ARCHITECTUREdoitOFlcd1IS--结构体信号的设计

)then--清零功能的实现

)then--busy出现上升沿地址的赋值

else

--清零功能的实现

)then--busy出现下降沿地址的赋值

P3:

process(busy,clk)

if(busy='

counter<

--清零

elsif(clk'

eventandclk='

)then--clock出现上升沿时进行加法计数

=counter+1;

endprocessP3;

dout<

=rom(CONV_INTEGER(addr));

stobe<

='

1’whencounter>

00000011"

else'

ENDdoit;

PACKAGEromIS

CONSTANTrom_width:

NATURAL:

=8;

--natural表示大于零的整数

CONSTANTrom_length:

=256;

SUBTYPErom_wordISSTD_LOGIC_VECTOR(rom_width-1DOWNTO0);

TYPErom_tableISARRAY(0Torom_length-1)ofrom_word;

CONSTANTrom:

rom_table:

=rom_table'

"

11110000"

"

00010110"

00001011"

--2211“东”用来显示汉字的内码

00000010"

00010001"

--1717“北”

00101010"

00001111"

--4215“石”

00000100"

00110011"

00101101"

--5145“油”

00000101"

00010100"

01010011"

--2083“大”

00000110"

00110001"

00000111"

--4907“学”

……

--所需要显示的汉字内码输入完整后,为了避免出现乱码,必须用"

将256*8的只读存储器rom将存储器填满,以实现地址的循环,且不出现乱码。

……--如此填充,为保证rom总共的大小为256*8

ENDrom;

为节省空间,大小为256*8的内码只显示主要内容,用"

填充的其它部分,不再作一一显示,用省略号表示。

只需保证该只读存储器rom的真正大小为256*8即可。

另外,根据汉字gb2312码更改只读存储器rom中的内容可以相应地更改显示汉字的字数和内容;

利用点阵列,则可以显示字符;

用英文码,则可以显示英文……

其它显示命令格式如下(不做一一列举):

(1)显示8X8ASCII字符

F1XXYYAS

该命令为4字节命令(最大执行时间为0.8毫秒,Ts2=0.8mS),其中

为以ASCII码为单位的屏幕行坐标值,取值范围00到0F、04到13、00到13

为以ASCII码为单位的屏幕列坐标值,取值范围00到1F、00到3F、00到4F

AS:

坐标位置上要显示的ASCII字符码

(2)显示位点阵

F2XXYY

该命令为3字节命令(最大执行时间为0.1毫秒,Ts2=0.1mS),其中

为以1*1点阵为单位的屏幕行坐标值,取值范围00到7F、20到9F、00到9F

为以1*1点阵为单位的屏幕列坐标值,取值范围00到40、00到40、00到40

第4章液晶控制器接口的顶层文件设计

4.1设计说明

所谓建立顶层文件就是将已经设计好的各个功能组件组合调用,连成一个整体,使整个系统按照设计要求在实际中工作起来。

而此程序中的顶层文件即是将清零模块和汉字内码显示模块结合起来,使其实现清零和显示汉字的两大功能。

具体操作:

将汉字显示的内码存入到大小为256*8的只读存储器rom中,然后再在清零模块的程序中对该只读存储器rom进行调用。

在一个工程中用两个.vhd文件分别存入顶层文件程序和只读存储器rom的程序即可。

如此,便将清零模块和汉字显示模块连成了一个整体。

在液晶显示器中便可实现清零和显示汉字的两个功能。

4.2顶层文件程序

代码如下:

ENTITYlcd1is--实体端口的设计

ARCHITECTUREdoitOFlcd1IS--结构体信号的设计

)then--清零功能的实现

)then--busy出现上升沿地址的赋值

)then--强制清零功能的实现

proc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 销售营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1