SOPCEDA综合课程设计报告液晶显示屏LCD显示接口设计Word文档格式.docx
- 文档编号:20571941
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:24
- 大小:950.44KB
SOPCEDA综合课程设计报告液晶显示屏LCD显示接口设计Word文档格式.docx
《SOPCEDA综合课程设计报告液晶显示屏LCD显示接口设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《SOPCEDA综合课程设计报告液晶显示屏LCD显示接口设计Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
LCD液晶显示器是LiquidCrystalDisplay的简称,LCD的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。
比CRT要好的多,但是价钱较其它显示器贵。
1.1.2点阵LCD的显示原理
在数字电路中,所有的数据都是以0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。
对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。
而对于中文,常用却有6000以上,于是我们的DOS前辈想了一个办法,就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。
而剩下的低128位则留给英文字符使用,即英文的内码。
那么,得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?
这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状。
1.1.3液晶显示模块接口时序
模块有并行和串行两种连接方法(时序如下):
1、8位并行连接时序
图5MPU写资料到模块
图6MPU从模块读出资料
2、串行连接时序图
图7串行连接时序图
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屏),至少需要显示“江西理工大学应用科学学院课程设计”字样,另外需要显示班级姓名和日期。
其它功能可自行增加!
第2章设计内容提要及说明
2.1元件原理图
图1下载/编程接口电路图
图2液晶显示屏
2.1.1模块引脚说明
表1模块引脚
逻辑工作电压(VDD):
3.3~5.5V
电源地(GND):
0V
工作温度(Ta):
0~+50℃(常温)/-20~70℃(宽温)
2.1.2接口时序
a)8位并行连接时序图
图3MPU写资料到模块
图4MPU从模块读出资料
a)串行连接时序图
图5串行时序图
表2时钟周期表
串行数据传送共分三个字节完成:
第一字节:
串口控制——格式11111ABC
A为数据传送方向控制:
H表示数据从LCD到MCU,L表示数据从MCU到LCD。
B为数据类型选择:
H表示数据室显示数据,L表示数据室控制指令。
C固定为0。
第二字节:
(并行)8位数据的高4位——格式DDDD0000
第三字节:
(并行)8位数据的低4位——格式DDDD0000
串行接口时序参数:
(测试条件:
T=25℃VDD=4.5V)
2.212864指令系统
2.2.1用户指令集
指令表1:
(RE=0:
基本指令集)
表3基本指令表
指令表2:
(RE=1:
扩充指令集)
表4扩充指令表
2.2.2FPGA与LCD连接方式
FPGA与LCD连接方式:
(仅PK2型含此)。
由实验电路结构图COM可知,默认情况下,FPGA是通过89C51单片机控制LCD液晶显示的,但若FPGA中有Nios嵌入式系统,则能使FPGA直接控制LCD显示。
方法是拔去此单片机(在右下侧),用连线将座JP22/JP21(LCD显示器引脚信号)各信号分别与座JP19/JP20(FPGA引脚信号)相连接即可。
图6实验电路结构图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的控制指令表
第四章设计过程
4.1初始化部分的状态机设计
根据字符模块初始化的流程图:
图1LCD初始化流程图
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;
ifresetb='
1'
then
cnt:
=0;
bclk<
='
0'
;
elsifrising_edge(clk)then
ifcnt>
=208thencnt:
elsecnt:
=cnt+1;
endif;
endprocess;
endbehavioral;
图2时钟模块
图3系统的仿真图形
4.3中文字符部分的数据模块
中文部分由于VHDL中无法识别中文,使用时需要参照中文字符表,将需要的字符所对应的数据输入RAM,然后通过和英文模块不重复的符号来实现对其的调用。
如“江”这个中文字符,所对应国标码”bdad”,因此在函数部分应为:
constantdata_buf:
data_buffer:
=(x"
bd"
x"
ad"
);
本程序驱动液晶显示“江西理工大学应用科学学院课程设计”“班级”“姓名”“日期”
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:
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);
=(
x"
BD"
AD"
CE"
F7"
C0"
ED"
B9"
A4"
B4"
F3"
D1"
A7"
D3"
A6"
C3"
BF"
C6"
D4"
BA"
B3"
CC"
C9"
E8"
BC"
D7"
B6"
AF"
BB"
x"
A3"
B1"
B0"
x"
B2"
D0"
A1"
C1"
FA"
AE"
process(clk)
integerrange0todivide_to_100k;
ifrising_edge(clk)thencnt:
ifcnt=divide_to_100kthencnt:
ifcnt<
divide_to_100k/2thenclk_100k<
='
elseclk_100k<
process(clk_100k)
variablecnt1:
integerrange0to500;
variablecnt1_1:
integerrange0to100;
variablecode_cnt:
integerrange0to13;
variabledata_cnt:
integerrange0to48;
ifrising_edge(clk_100k)then
ifrst='
thencurrent_s<
=s0;
cnt1:
=0;
cnt1_1:
=0;
code_cnt:
data_cnt:
lcd_rst<
elsecasecurrent_sis
whens0=>
rw<
rs<
e<
cnt1:
=cnt1+1;
ifcnt1<
250thenlcd_rst<
elsifcnt1<
500thenlcd_rst<
elsifcnt1=500then
lcd_rst<
cnt1:
current_s<
=s1;
whens1=>
cnt1_1:
=cnt1_1+1;
ifcnt1_1<
1*3thene<
rw<
elsifcnt1_1<
2*3thenlcd_data<
=x"
0c"
10*3thene<
elsifcnt1_1=10*3thencnt1_1:
current_s<
=s2;
whens2=>
ifcnt1_1<
1*3thene<
rs<
rw<
80"
=s3;
whens3=>
=data_buf(data_cnt);
elsifcnt1_1=2*3thendata_cnt:
=data_cnt+1;
100thene<
ifcnt1_1=100thencnt1_1:
ifdata_cnt=16thencurrent_s<
=s4;
data_cnt:
whenothers=>
=s0;
endcase;
endBehavioral;
图4显示文字的模块
图5系统的仿真图形
4.4图形的数据模块
ENTITYlcdlinehoziIS
PORT(CLK,key3:
INSTD_LOGIC;
CK0,DISP,Hsync,Vsync:
OUTSTD_LOGIC;
rgb:
OUTSTD_LOGIC_VECTOR(0TO23)
);
END;
ARCHITECTUREWXOFlcdlinehoziIS
SIGNALCLK_TEMP1,CLK_TEMP2,CK:
STD_LOGIC;
SIGNALCNT1,CNT2:
STD_LOGIC_VECTOR(2DOWNTO0);
signalcnt:
std_logic_vector(1downto0);
SIGNALHS_CNT,VS_CNT:
INTEGERRANGE0TO525;
signalrgbx,rgby:
STD_LOGIC_VECTOR(0TO23);
CONSTANTTHp:
INTEGER:
=41;
CONSTANTTHb:
=2;
CONSTANTTHf:
CONSTANTTVp:
=10;
CONSTANTTVb:
CONSTANTTVF:
CONSTANTTHd:
=480;
CONSTANTTVd:
=272;
BEGIN
PROCESS(key3)
BEGIN
ifkey3'
eventandkey3='
ifcnt="
10"
thencnt<
="
00"
elsecnt<
endif;
endprocess;
process(cnt)
begin
thenrgb<
111111111111111111111111"
elsifcnt="
01"
thenrgb<
=rgbx;
=rgby;
elsergb<
000000000000000000000000"
process(hs_cnt,vs_cnt)
ifhs_cnt<
102thenrgbx<
elsifhs_cnt<
162thenrgbx<
000000000000000011111111"
222thenrgbx<
111111110000000000000000"
282thenrgbx<
000000001111111111111111"
342thenrgbx<
000000001111111100000000"
402thenrgbx<
111111110000000011111111"
462thenrgbx<
111111111111111100000000"
522thenrgbx<
elsergbx<
101010101010101010101010"
ifvs_cnt<
43thenrgby<
elsifvs_cnt<
75thenrgby<
107thenrgby<
139thenrgby<
171thenrgby<
203thenrgby<
235thenrgby<
267thenrgby<
elsergby<
CLOCK:
PROCESS(CLK)
IFCLK'
EVENTANDCLK='
THEN
IFCNT1=2THENCNT1<
000"
ELSECNT1<
=CNT1+1;
ENDIF;
ENDIF;
ENDPROCESS;
PROCESS(CLK)
THEN
IFCNT2=2THENCNT2<
ELSEC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SOPCEDA 综合 课程设计 报告 液晶显示屏 LCD 显示 接口 设计