液晶显示屏LCD显示接口设计课程设计.docx

上传人:b****8 文档编号:10862907 上传时间:2023-02-23 格式:DOCX 页数:41 大小:615.46KB
下载 相关 举报
液晶显示屏LCD显示接口设计课程设计.docx_第1页
第1页 / 共41页
液晶显示屏LCD显示接口设计课程设计.docx_第2页
第2页 / 共41页
液晶显示屏LCD显示接口设计课程设计.docx_第3页
第3页 / 共41页
液晶显示屏LCD显示接口设计课程设计.docx_第4页
第4页 / 共41页
液晶显示屏LCD显示接口设计课程设计.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

液晶显示屏LCD显示接口设计课程设计.docx

《液晶显示屏LCD显示接口设计课程设计.docx》由会员分享,可在线阅读,更多相关《液晶显示屏LCD显示接口设计课程设计.docx(41页珍藏版)》请在冰豆网上搜索。

液晶显示屏LCD显示接口设计课程设计.docx

液晶显示屏LCD显示接口设计课程设计

江西理工大学应用科学学院

 

SOPC/EDA综合课程设计报告

 

设计题目:

液晶显示屏LCD显示接口设计

设计者:

肖小龙

学号:

08060209114

班级:

自动化091班

指导老师:

王忠锋

完成时间:

2012年1月6日

设计报告

综合测试

总评

格式

(10)

内容

(40)

图表

(10)

答辩

(20)

平时

(20)

 

摘要

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

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

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

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

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

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

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

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

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

本文选用GW48系列的SOPC/EDA实验开发系统,利用硬件描述语言VHDL设计了液晶显示控制器,实现了替代专用集成电路驱动控制LCD的作用。

关键词:

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

 

第1章预备知识

1.112864点阵型液晶显示屏的基本原理与使用方法

1.1.112864点阵型LCD简介

图112864实物图

LCD液晶显示器是LiquidCrystalDisplay的简称,LCD的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。

比CRT要好的多,但是价钱较其它显示器贵。

12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。

可完成图形显示,也可以显示8×4个(16×16点阵)汉字。

实物如上图所示。

引脚号

引脚名称

方向

功能说明

1

VSS

----

模块的电源地

2

VDD

----

模块的电源正端

3

V0

----

LCD驱动电压输入端

4

RS(CS)

H/L

并行的指令/数据选择信号;串行的片选信号

5

R/W(SID)

H/L

并行的读写选择信号;串行的数据口

6

E(CLK)

H/L

并行的使能信号;串行的同步时钟

7

DB0

H/L

数据0

8

DB1

H/L

数据1

9

DB2

H/L

数据2

10

DB3

H/L

数据3

11

DB4

H/L

数据4

12

DB5

H/L

数据5

13

DB6

H/L

数据6

14

DB7

H/L

数据7

15

PSB

H/L

并/串行接口选择:

H-并行;L-串行

16

NC

空脚

17

/RET

H/L

复位低电平有效

18

NC

空脚

19

LED_A

-----

背光源正极(LED+5V)

20

LED_K

-----

背光源负极(LED-OV)

表112864引脚说明

逻辑工作电压(VDD):

4.5~5.5V

电源地(GND):

0V

工作温度(Ta):

0~60℃(常温)/-20~75℃(宽温)

1.1.2点阵LCD的显示原理

在数字电路中,所有的数据都是以0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。

对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。

而对于中文,常用却有6000以上,于是我们的DOS前辈想了一个办法,就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。

而剩下的低128位则留给英文字符使用,即英文的内码。

那么,得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?

这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状,如英文的'A'在字模的记载方式如图2所示:

图2“A”字模图

而中文的“你”在字模中的记载却如图3所示:

图3“你”字模图

 

1.1.3字模提取软件的应用

对于我们需要显示的一两个字符来说,用手工的方法去取模是可以的,但是随着我们需要显示的字符的数量增加以及多样化,手工取模就显的很吃力,并且效率底下,所以我们需要一个取模工具,网上流传的一个字模提取软件可以让我们高效的得到我们需要显示的字符的代码。

随着电子行业的发展,很多研发机构把汉字以代码的形式固化在液晶显示屏中,形成了带字库的液晶显示屏,方便了我们使用液晶显示屏,但是对于复杂多变的图形,他就显得就无能为力了,只能用取模软件去取得显示代码,因此学会字摸软件的使用,会使我们的工作效率事半功倍的。

字模软件界面如下:

图4字模提取软件

1.1.412864液晶显示模块接口时序

模块有并行和串行两种连接方法(时序如下):

1、8位并行连接时序

图5MPU写资料到模块

 

图6MPU从模块读出资料

2、串行连接时序图

图7串行连接时序图

 

1.1.5有关FPGA的知识

图8FPGA芯片

FPGA是英文Field-ProgrammableGateArray的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。

FPGA的基本特点主要有:

1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。

2)FPGA可做其它全定制或半定制ASIC电路的中试样片。

3)FPGA内部有丰富的触发器和I/O引脚。

4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一

5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

 

1.2课程设计题目:

液晶显示屏LCD显示接口设计

1.2.1课程设计目的及基本要求

液晶显示屏已广泛应用于人们的日常生活中,在各种领域中起到越来越重要的位置。

因此,掌握和控制液晶显示屏是非常重要的技能。

进行课程设计是加强实践,提高动手能力的重要环节,通过课程设计,同时在软件编程,排错调试,相关仪器设备的使用技术等方面得到全面的提高。

掌握液晶显示屏实现的相关方法,为将来的实际工作打下一定的基础。

本课程设计是以SED1520控制器为基础,基本要求是:

1、掌握SED1520控制器基本结构

2、掌握液晶显示屏的工作原理及使用方法

3、掌握用VHDL语言编写程序

4、掌握QuartusII的使用方法

5、掌握GW48系列SOPC/EDA实验开发系统:

a:

闲置不用GW48系统时,必须关闭电源,拔下电源插头!

b:

在实验中,当选中某种模式后,要按一下右侧的复位键,以使系统进入该结构模式工作。

c:

换目标芯片时要特别注意,不要插反或插错,也不要带电插拔,确信插对后才能开电源。

其它接口都可带电插拔。

请特别注意,尽可能不要随意插拔适配板,及实验系统上的其他芯片。

d:

并行口工作模式设置在“EPP”模式!

e:

跳线座“SPS”默认向下短路(PIO48);右侧开关默认拨向“TOMCU”。

f:

对于GW48-PK2系统,左下角拨码开关除第4档“DS8使能”向下拨(8数码管显示)外,其余皆默认向上

1.3设计要求

使用FPGA设计一个液晶显示屏LCD显示的控制器,使其能够显示文字、数字或图形(根据需要选择LCD屏),至少需要显示“江西理工大学应用科学学院课程设计”字样,另外需要显示班级姓名和日期。

其它功能可自行增加!

(型号GW48-PK2)

 

第2章设计内容提要及说明

2.1元件原理图

一般在把程序固化到配置芯片之前,一般先使用JTAG模式去调试程序,也就是把程序下载到FPGA芯片上运行。

虽然这种方式在断电以后会程序丢失,但是充分利用了PFGA的无限擦写性。

所以一般FPGA有两个下载接口:

JTAG调试接口和AS模式下载接口。

所不同的是前者是下载至FPGA后者是编程配置芯片(如EPCSx),然后再配置FPGA。

JTAG模式和AS模式的电路原理图如下:

图9下载/编程接口电路图

FPGA的EP1C3T144C8芯片与LCD12864的连接示意图:

图10液晶显示屏与FPGA芯片连接示意图

2.212864指令系统

2.2.112864用户指令集

指令表1:

(RE=0:

基本指令集)

指令

指令码

说明

执行时间(540KHZ)

RS

RW

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

清除显示

0

0

0

0

0

0

0

0

0

1

将DDRAM填满“20H”,并且设定DDRAM的地址计数器(AC)到“00H”

4.6ms

地址归位

0

0

0

0

0

0

0

0

1

X

设定DDRAM的地址计数器(AC)到“00H”,并且将游标移到开头原点位置;这个指令并不改变DDRAM的内容

4.6ms

进入点

设定

0

0

0

0

0

0

0

1

I/D

S

指定在资料的读取与写入时,设定游标移动方向及指定显示的移位

72us

显示状态

开/关

0

0

0

0

0

0

1

D

C

B

D=1:

整体显示ON

C=1:

游标ON

B=1:

游标位置ON

72us

游标或显示移位控制

0

0

0

0

0

1

S/C

R/L

X

X

设定游标的移动与显示的移位控制位元;这个指令并不改变DDRAM的内容

72us

功能设定

0

0

0

0

1

DL

X

0

RE

X

X

DL=1(必须设为1)

RE=1:

扩充指令集动作

RE=0:

基本指令集动作

72us

设定CGRAM地址

0

0

0

1

AC5

AC4

AC3

AC2

AC1

AC0

设定CGRAM地址到地址计数器(AC)

72us

设定DDRAM

地址

0

0

1

AC6

AC5

AC4

AC3

AC2

AC1

AC0

设定DDRAM地址到地址计数器(AC)

72us

读取忙碌标志(BF)和地址

0

1

BF

AC6

AC5

AC4

AC3

AC2

AC1

AC0

读取忙碌标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值

0us

写资料到RAM

1

0

D7

D6

D5

D4

D3

D2

D1

D0

写入资料到内部的RAM(DDRAM/CGRAM/IRAM/GDRAM)

72us

读出RAM的值

1

1

D7

D6

D5

D4

D3

D2

D1

D0

从内部RAM读取资料(DDRAM/CGRAM/IRAM/GDRAM)

72us

表2

指令表—2:

(RE=1:

扩充指令集)

指令

指令码

说明

执行时间(540KHZ)

RS

RW

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

待命模式

0

0

0

0

0

0

0

0

0

1

将DDRAM填满“20H”,并且设定DDRAM的地址计数器(AC)到“00H”

72us

卷动地址或IRAM地址选择

0

0

0

0

0

0

0

0

1

SR

SR=1:

允许输入垂直卷动地址

SR=0:

允许输入IRAM地址

72us

反白选择

0

0

0

0

0

0

0

1

R1

R0

选择4行中的任一行作反白显示,并可决定反白与否

72us

睡眠模式

0

0

0

0

0

0

1

SL

X

X

SL=1:

脱离睡眠模式

SL=0:

进入睡眠模式

72us

扩充功能设定

0

0

0

0

1

1

X

1

RE

G

0

RE=1:

扩充指令集动作

RE=0:

基本指令集动作

G=1:

绘图显示ON

G=0:

绘图显示OFF

72us

设定IRAM地址或卷动地址

0

0

0

1

AC5

AC4

AC3

AC2

AC1

AC0

SR=1:

AC5—AC0为垂直卷动地址

SR=0:

AC3—AC0为ICONIRAM地址

72us

设定绘图RAM地址

0

0

1

AC6

AC5

AC4

AC3

AC2

AC1

AC0

设定CGRAM地址到地址计数器(AC)

72us

表3

2.2.2FPGA与LCD连接方式

FPGA与LCD连接方式:

(仅PK2型含此)。

由实验电路结构图COM可知,默认情况下,FPGA是通过89C51单片机控制LCD液晶显示的,但若FPGA中有Nios嵌入式系统,则能使FPGA直接控制LCD显示。

方法是拔去此单片机(在右下侧),用连线将座JP22/JP21(LCD显示器引脚信号)各信号分别与座JP19/JP20(FPGA引脚信号)相连接即可。

 

图11实验电路结构图COM

第3章系统硬件设计

本方案采用的FPGA为Alter公司的ACEX1K30芯片,它可提供系统的时钟及读写控制,ACEX系列的FPGA由逻辑数组块LAB(Logicarrayblock)、嵌入式数组块EAB(embeddedarrayblock)、快速互联以及IO单元构成,每个逻辑数组块包含8个逻辑单元LE(logicelement)和一个局部互联[1]。

每个逻辑单元则由一个4输入查找表(LUT)、一个可编程触发器、快速进位链、级连链组成,多个LAB和多个EAB则可通过快速通道互相连接。

EAB是ACEX系列器件在结构设计上的一个重要部件,他是输入埠和输出埠都带有触发器的一种灵活的RAM块,其主要功能是实现一些规模不太大的FIFO、ROM、RAM和双埠RAM等。

在本液晶显示接口电路中,EAB主要用宏功能模块实现片上ROM。

它通过调用FPGA上的EAB资源来实现汉字的显示和字符的存储,并根据控制信号产生的地址值从ROM中读取字符值,然后送LCD显示器进行显示。

由于所用的图形点阵液晶块内置有SED1520控制器,所以,其电路特性实际上就是SED1520的电路特性。

SED1520的主要特性如下:

(1)具有液晶显示行驱动器,具有16路行驱动输出,并可级联实现32行驱动。

(2)具有液晶显示列驱动器,共有61路列驱动输出。

(3)内置时序发生器,其占空比可设置为1/16和1/32两种。

(4)内藏显示内存,显示内存内的数据可直接显示,"1"为显示,"0"为不显示。

(5)接口总线时序可适配8080系列或M6800系列,并可直接与计算机接口。

(6)操作简单,有13条控制指令。

(7)采用CMOS工艺,可在电压低至2.4-7.0V时正常工作,功耗仅30μW。

本设计所用的字符液晶模块CM12232由两块SED1520级来驱动,其中一个工作在主工作方式下,另一个工作在从方式下,主工作方式SED1520负责上半屏16行的驱动和左半屏的61列驱动,从工作方式的SED1520则负责下半屏16行的驱动和右半屏的61列驱动,使能信号E1、E2用来区分具体控制的是那一片SED1520,其系统的硬件连接图如图1所示。

由图1可见,该系统的硬件部分连接十分简单,其中FPGA部分没画出,而液晶与FPGA的接口则可直接以网表的形式给出,将它们直接与FPGA的普通I/O引脚相连即可。

系统的软件接口实现具体实现的重点是如何从存放有字符的ROM块中读出数据,并按照液晶的时序正确的写入,在介绍具体实现方法前,首先要熟悉SED1520的指令。

 

SED1520的控制指令表:

指令名称

控制信号

控制代码

A0R/W

D7D6D5D4D3D2D1D0

复位

00

11100010

显示开关设置

00

1010111Di

地址排序设置

00

1010000A

体闲状态设置

00

1010010S

占空比设置

00

1010100Du

显示起始行设置

00

110L4L3L2L1L0

页面地址设置

00

101110P1P0

列地址设置

00

0C6C5C4C3C2C1C0

启动改写方式

00

11100000

结束改写方式

00

11101110

读取状态字

01

BUSYADCON/OFFRESET0000

写显示数据

10

数据

读显示数据

11

数据

表4

图12系统硬件连接图

第4章设计过程

4.1初始化部分的状态机设计

执行时间

字符模块初始化的流程图

 

图13LCD初始化流程图

4.2时钟模块的设计

由于FPGA开发板上自带的晶振频率为50MHZ,而所需要的时钟频率则需要小于13.9K。

因此需要一个分频器对其进行分频。

这里采用简单的计数器对其进行分频,通过分频器将外部输入的32MHZ的信号分成频率为153600HZ的信号。

在分频之后由于时钟信号需要同时控制LCD模块以及FPGA的模块,因此需要编写一个程序,使得两者之间同步。

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_arith.all;

useieee.std_logic_unsigned.all;

entitybaudis

port(clk,resetb:

instd_logic;

bclk:

outstd_logic);

endbaud;

architecturebehavioralofbaudis

begin

process(clk,resetb)

variablecnt:

integer;

begin

ifresetb='1'then

cnt:

=0;bclk<='0';

elsifrising_edge(clk)then

ifcnt>=208thencnt:

=0;bclk<='1';

elsecnt:

=cnt+1;bclk<='0';

endif;

endif;

endprocess;

endbehavioral;

 

图14时钟模块

图15时钟模块的仿真图形

4.3中文字符部分的数据模块

中文部分由于VHDL中无法识别中文,使用时需要参照中文字符表,将需要的字符所对应的数据输入RAM,然后通过和英文模块不重复的符号来实现对其的调用。

如“肖”这个中文字符,所对应国标码”D0A4”,因此在函数部分应为:

constantdata_buf:

databuffer:

=(x"D0",x"A4");

本程序驱动液晶显示“江西理工大学应用科学学院课程设计”“自动化”“091”“肖小龙”“2012.1.3”。

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_arith.all;

useieee.std_logic_unsigned.all;

entitylcdis

generic(divide_to_100k:

integer:

=1000);

port(clk,rst:

instd_logic;

rw,rs,e,lcd_rst:

outstd_logic;

lcd_data:

outstd_logic_vector(7downto0));

endlcd;

architecturebehavioraloflcdis

signalclk_100k:

std_logic;

typestateis(s0,s1,s2,s3,s4);

signalcurrent_s:

state;

typedata_bufferisarray(0to65)ofstd_logic_vector(7downto0);

constantdata_buf:

data_buffer:

=

(x"BD",x"AD",x"CE",x"F7",--江西

x"C0",x"ED",x"B9",x"A4",--理工

x"B4",x"F3",x"D1",x"A7",--大学

x"D3",x"A6",x"D3",x"C3",--应用

x"BF",x"C6",x"D1",x"A7",--科学

x"D1",x"A7",x"D4",x"BA",--学院

x"BF",x"CE",x"B3",x"CC",--课程

x"C9",x"E8",x"BC",x"C6",--设计

x"D7",x"D4",x"B6",x"AF",x"BB",x"AF",--自动化

x"A3",x"B0",x"A3",x"B9",x"A3",x"B1",--091

x"D0",x"A4",x"D0",x"A1",x"C1",x"FA",--肖小龙

x"A3",x"B2",x"A3",x"B0",x"A3",x"B1",x"A3",x"B2",x"A3",x"AE",x"A3",x"B1",x"A3",x"AE",x"A3",x"B3");--2012.1.3

begin

process(clk)

variablecnt:

integerrange0todivide_to_100k;

begin

ifrising_edge(clk)thencnt:

=cnt+1;

ifcnt=divide_to_100kthencnt:

=0;

endif;

ifcnt

elseclk_100k<='1';

endif;

endif;

endprocess;

process(clk_100k)

variablecn

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

当前位置:首页 > 高等教育 > 经济学

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

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