版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、江西理工大学应用科学学院SOPC/EDA综合课程设计报告设计题目:液晶显示屏LCD显示接口设计设计者: 学号: 班级: 指导老师: 时间: 设计报告综合测试总评格式(10)内容(40)图表(10)答辩(20)平时(20)目 录第1章 预习知识.1 1.1 液晶显示屏的基本原理与使用方法11.1.1 点阵型LCD简介11.1.2 点阵LCD的显示原理11.1.3 液晶显示模块接口时序11.2 课程设计题目:液晶显示屏LCD显示接口设计21.2.1 课程设计目的及基本要求21.3 设计要求3第2章 设计内容提要及说明.4 2.1 元件原理图42.2 12864指令系统7第3章 系统硬件设计.10第
2、4章 设计过程.12第5章 实习总结 21致谢 22参考文献 23 第1章 预习知识1.1 液晶显示屏的基本原理与使用方法1.1.1 点阵型LCD简介LCD液晶显示器是Liquid Crystal Display的简称,LCD的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。比CRT要好的多,但是价钱较其它显示器贵。1.1.2 点阵LCD的显示原理在数字电路中,所有的数据都是以0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要8位(一
3、字节)即可。而对于中文,常用却有6000以上,于是我们的DOS前辈想了一个办法,就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低128位则留给英文字符使用,即英文的内码。那么,得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状。1.1.3 液晶显示模块接口时序模块有并行和串行两种连接方法(时序如下):1、8位并行连接时序图5 MPU写资料到模块图6 MPU从模块读出资料2、串行连接时序图图7 串行连接时序图1.2
4、课程设计题目:液晶显示屏LCD显示接口设计1.2.1 课程设计目的及基本要求 液晶显示屏已广泛应用于人们的日常生活中,在各种领域中起到越来越重要的位置。因此,掌握和控制液晶显示屏是非常重要的技能。进行课程设计是加强实践,提高动手能力的重要环节,通过课程设计,同时在软件编程,排错调试,相关仪器设备的使用技术等方面得到全面的提高。掌握液晶显示屏实现的相关方法,为将来的实际工作打下一定的基础。本课程设计是以SED1520控制器为基础,基本要求是: 1、掌握SED1520控制器基本结构2、掌握液晶显示屏的工作原理及使用方法3、掌握用VHDL语言编写程序 4、掌握Quartus II的使用方法 5、掌握
5、GW48系列SOPC/EDA实验开发系统:a:闲置不用GW48系统时,必须关闭电源,拔下电源插头! b:在实验中,当选中某种模式后,要按一下右侧的复位键,以使系统进入该结构模式工作。c:换目标芯片时要特别注意,不要插反或插错,也不要带电插拔,确信插对后才能开电源。其它接口都可带电插拔。请特别注意,尽可能不要随意插拔适配板,及实验系统上的其他芯片。d:并行口工作模式设置在“EPP”模式!e: 跳线座“SPS”默认向下短路(PIO48);右侧开关默认拨向“TO MCU”。f: 对于GW48-PK2系统,左下角拨码开关除第4档“DS8使能”向下拨(8数码管显示)外,其余皆默认向上1.3 课程设计题目
6、内容要求使用FPGA设计一个液晶显示屏LCD显示的控制器,使其能够显示文字、数字或图形(根据需要选择LCD屏),至少需要显示“江西理工大学应用科学学院课程设计”字样,另外需要显示班级姓名和日期。其它功能可自行增加! 第2章 设计内容提要及说明2.1 元件原理图图1 下载/编程接口电路图图2 液晶显示屏2.1.1 模块引脚说明表1 模块引脚逻辑工作电压(VDD):3.35.5V电源地(GND):0V工作温度(Ta):0+50(常温)/ -2070(宽温)2.1.2 接口时序模块有并行和串行两种连接方法(时序如下):a) 8位并行连接时序图图3 MPU写资料到模块图4 MPU从模块读出资料a) 串
7、行连接时序图图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.2 12864指令系统2.2.1 用户指令集指令表1:(RE=0:基本指令集)表3 基本指令表指令表2:(RE=1:扩充指令集)表4 扩充指令表2.2.2
8、FPGA与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(Logic array block)、嵌入
9、式数组块EAB(embedded arr ay block)、快速互联以及IO单元构成,每个逻辑数组块包含8个逻辑单元LE(logicelement)和一个局部互联1。每个逻辑单元则由一个4输入查找表(LUT)、一个可编程触发器、快速进位链、级连链组成,多个LAB和多个EAB则可通过快速通道互相连接。EAB是ACEX系列器件在结构设计上的一个重要部件,他是输入埠和输出埠都带有触发器的一种灵活的RAM块,其主要功能是实现一些规模不太大的FIFO、ROM、RAM和双埠RAM等。在本液晶显示接口电路中,EAB主要用宏功能模块实现片上ROM。它通过调用FPGA上的EAB资源来实现汉字的显示和字符的存储
10、,并根据控制信号产生的地址值从ROM中读取字符值,然后送LCD显示器进行显示。由于所用的图形点阵液晶块内置有SED1520控制器,所以,其电路特性实际上就是SED1520的电路特性。SED1520的主要特性如下: (1)具有液晶显示行驱动器,具有16路行驱动输出,并可级联实现32行驱动。(2)具有液晶显示列驱动器,共有61路列驱动输出。(3)内置时序发生器,其占空比可设置为1/16和1/32两种。(4)内藏显示内存,显示内存内的数据可直接显示,"1"为显示,"0"为不显示。(5)接口总线时序可适配8080系列或M6800系列,并可直接与计算机接口。(6)
11、操作简单,有13条控制指令。(7)采用CMOS工艺,可在电压低至2.4-7.0V时正常工作,功耗仅30W。本设计所用的字符液晶模块CM12232由两块SED1520级连驱动,其中一工作在主工作方式下,另一个工作在从方式下,主工作方式SED1520负责上半屏16行的驱动和左半屏的61列驱动,从工作方式的SED1520则负责下半屏16行的驱动和右半屏的61列驱动,使能信号E1、E2用来区分具体控制的是那一片SED1520,其系统的硬件连接图如图1所示。由图1可见,该系统的硬件部分连接十分简单,其中FPGA部分没画出,而液晶与FPGA的接口则可直接以网表的形式给出,将它们直接与FPGA的普通I/O引
12、脚相连即可。系统的软件接口实现具体实现的重点是如何从存放有字符的ROM块中读出数据,并按照液晶的时序正确的写入,在介绍具体实现方法前,首先要熟悉SED1520的指令。SED1520的控制指令表 第四章 设计过程4.1 初始化部分的状态机设计根据字符模块初始化的流程图:图1 LCD初始化流程图4.2 时钟模块的设计由于FPGA开发板上自带的晶振频率为
13、50MHZ,而所需要的时钟频率则需要小于13.9K。因此需要一个分频器对其进行分频。这里采用简单的计数器对其进行分频,通过分频器将外部输入的32MHZ的信号分成频率为153600HZ的信号。在分频之后由于时钟信号需要同时控制LCD模块以及FPGA的模块,因此需要编写一个程序,使得两者之间同步。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY baud IS port(clk,resetb:in std_logic; bclk:o
14、ut std_logic);end baud;architecture behavioral of baud isbeginprocess(clk,resetb)variable cnt:integer;beginif resetb='1' thencnt:=0;bclk<='0'elsif rising_edge(clk)then if cnt>=208 then cnt:=0;bclk<='1'else cnt:=cnt+1;bclk<='0'end if;end if;end process;end
15、behavioral;图2 时钟模块图3 系统的仿真图形4.3 中文字符部分的数据模块中文部分由于VHDL中无法识别中文,使用时需要参照中文字符表,将需要的字符所对应的数据输入RAM,然后通过和英文模块不重复的符号来实现对其的调用。如“江”这个中文字符,所对应国标码”bdad”,因此在函数部分应为:constant data_buf : data_buffer := (x"bd",x"ad");本程序驱动液晶显示“江西理工大学应用科学学院课程设计”“班级”“姓名”“日期”library ieee;use ieee.std_logic_1164.all;u
16、se ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity lcd isgeneric(divide_to_100k :integer:=1000);port(clk, rst:in std_logic;rw, rs, e, lcd_rst :out std_logic;lcd_data:out std_logic_vector(7 downto 0); end lcd;architecture behavioral of lcd issignal clk_100k:std_logic;type state is(s0,
17、s1,s2,s3,s4);signal current_s: state ;type data_buffer is array (0 to 65) of std_logic_vector ( 7 downto 0 ) ;constant data_buf : data_buffer := (x"BD",x"AD",x"CE",x"F7", x"C0",x"ED",x"B9",x"A4", x"B4",x"F
18、3",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",
19、 x"C9",x"E8",x"BC",x"C6", x"D7",x"D4",x"B6",x"AF",x"BB" ,x"AF" , x"A3",x"B1",x"A3",x"B0", x"A3" ,x"B2", x"D7",x"A4",x&qu
20、ot;D0", x"A1",x"C1", x"FA", x"A3",x"B2",x"A3",x"B0",x"A3",x"B1",x"A3",x"B3",x"A3",x"AE", x"A3",x"B1",x"A3",x"AE",x"A3&qu
21、ot;,x"B3");beginprocess(clk)variable cnt:integer range 0 to divide_to_100k;beginif rising_edge(clk)then cnt:=cnt+1;if cnt=divide_to_100k then cnt:=0;end if;if cnt<divide_to_100k/2 then clk_100k<= '0'else clk_100k <= '1'end if;end if;end process;process(clk_100k)var
22、iable cnt1:integer range 0 to 500;variable cnt1_1:integer range 0 to 100;variable code_cnt:integer range 0 to 13;variable data_cnt:integer range 0 to 48; beginif rising_edge(clk_100k)thenif rst = '1' then current_s <= s0 ; cnt1 := 0 ;cnt1_1 := 0;code_cnt := 0 ; data_cnt := 0 ; lcd_rst <
23、;= '0'else case current_s iswhen s0=> rw<= '1'rs <= '1'e <= '1'cnt1:=cnt1+1;if cnt1 < 250 then lcd_rst <= '0'elsif cnt1 < 500 then lcd_rst <= '1'elsif cnt1=500 then lcd_rst <= '1'cnt1 := 0;current_s <= s1;end if;wh
24、en s1=>cnt1_1:=cnt1_1+1; if cnt1_1 < 1*3 then e <= '1'rs <= '0'rw <= '0'elsif cnt1_1<2*3 then lcd_data<=x"0c"elsif cnt1_1<10*3 then e<='0'elsif cnt1_1=10*3 then cnt1_1:=0;current_s<=s2;end if;when s2=>cnt1_1:=cnt1_1+1; if cnt
25、1_1<1*3 then e<='1'rs<='0'rw<='0'elsif cnt1_1<2*3 then lcd_data<=x"80"elsif cnt1_1<10*3 then e<='0'elsif cnt1_1=10*3 then cnt1_1:=0;current_s<=s3;end if;when s3=> if cnt1_1<1*3 then e<='1'rs<='1'rw<=&
26、#39;0'elsif cnt1_1<2*3 then lcd_data<=data_buf(data_cnt);elsif cnt1_1=2*3 then data_cnt:= data_cnt+1;elsif cnt1_1<100 then e<='0'end if;cnt1_1:=cnt1+1;if cnt1_1=100 then cnt1_1:=0;if data_cnt=16 then current_s<=s4;data_cnt:=0;end if;end if;when others=>current_s<=s0;
27、end case;end if;end if;end process;end Behavioral;图4 显示文字的模块图5 系统的仿真图形4.4 图形的数据模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY lcdlinehozi IS PORT( CLK,key3: IN STD_LOGIC; CK0,DISP,Hsync,Vsync:OUT STD_LOGIC; rgb:OUT STD_LOGIC_VECTOR(0 TO 23) ); END;ARCHITECTURE WX O
28、F lcdlinehozi ISSIGNAL CLK_TEMP1,CLK_TEMP2,CK :STD_LOGIC ;SIGNAL CNT1,CNT2:STD_LOGIC_VECTOR(2 DOWNTO 0);signal cnt:std_logic_vector(1 downto 0);SIGNAL HS_CNT,VS_CNT:INTEGER RANGE 0 TO 525;signal rgbx,rgby: STD_LOGIC_VECTOR(0 TO 23);CONSTANT THp:INTEGER :=41;CONSTANT THb:INTEGER :=2;CONSTANT THf:INTE
29、GER :=2;CONSTANT TVp:INTEGER :=10;CONSTANT TVb:INTEGER :=2;CONSTANT TVF:INTEGER :=2;CONSTANT THd:INTEGER :=480;CONSTANT TVd:INTEGER :=272;BEGINPROCESS(key3) BEGIN if key3'event and key3='1' then if cnt="10" then cnt<="00" else cnt<=cnt+1; end if; end if; end pro
30、cess; process(cnt) begin if cnt="00" then rgb<="111111111111111111111111" elsif cnt="01"then rgb<=rgbx; elsif cnt="10"then rgb<=rgby; else rgb<="000000000000000000000000" end if;end process; process(hs_cnt,vs_cnt) begin if hs_cnt<102 t
31、hen rgbx<="000000000000000000000000" elsif hs_cnt<162 then rgbx<="000000000000000011111111" elsif hs_cnt<222 then rgbx<="111111110000000000000000" elsif hs_cnt<282 then rgbx<="000000001111111111111111" elsif hs_cnt<342 then rgbx<=&qu
32、ot;000000001111111100000000" elsif hs_cnt<402 then rgbx<="111111110000000011111111" elsif hs_cnt<462 then rgbx<="111111111111111100000000" elsif hs_cnt<522 then rgbx<="111111111111111111111111" else rgbx<="101010101010101010101010" en
33、d if; if vs_cnt<43 then rgby<="000000000000000000000000" elsif vs_cnt<75 then rgby<="000000000000000011111111" elsif vs_cnt<107 then rgby<="111111110000000000000000" elsif vs_cnt<139 then rgby<="000000001111111111111111" elsif vs_cnt<
34、;171 then rgby<="000000001111111100000000" elsif vs_cnt<203 then rgby<="111111110000000011111111" elsif vs_cnt<235 then rgby<="111111111111111100000000" elsif vs_cnt<267 then rgby<="111111111111111111111111" else rgby<="10101010101
35、0101010101010" end if; end process; CLOCK:PROCESS(CLK) BEGIN IF CLK'EVENT AND CLK='1'THEN IF CNT1=2 THEN CNT1<="000" ELSE CNT1<=CNT1+1;END IF; END IF; END PROCESS; PROCESS (CLK) BEGIN IF CLK'EVENT AND CLK='0' THEN IF CNT2=2 THEN CNT2<="000" E
36、LSE CNT2<=CNT2+1;END IF; END IF; END PROCESS; PROCESS(CLK) BEGIN IF CLK'EVENT AND CLK='1' THEN IF CNT1=0 THEN CLK_TEMP1<='1' ELSIF CNT1=1 THEN CLK_TEMP1<='0' END IF; END IF; END PROCESS; PROCESS (CLK) BEGIN IF CLK'EVENT AND CLK='0'THEN IF CNT2=0 THEN
37、CLK_TEMP2<='1' ELSIF CNT2=1 THEN CLK_TEMP2<='0' END IF; END IF; END PROCESS; CK<=CLK_TEMP1 OR CLK_TEMP2; CK0<=CK; PROCESS(CK) BEGIN IF CK'EVENT AND CK='1' THEN IF HS_CNT=THp-1 THEN Hsync<='1' HS_CNT<=HS_CNT+1; ELSIF HS_CNT=THp+THb+THd+THf-1 THEN-
38、524 HS_CNT<=0;Hsync<='0' IF VS_CNT=TVp+TVb+TVd+TVf-1 THEN-285 VS VS_CNT<=0;Vsync<='0'DISP<='1' ELSIF VS_CNT=TVp-1 THEN Vsync<='1'VS_CNT<=VS_CNT+1; ELSE VS_CNT<=VS_CNT+1; END IF; ELSE HS_CNT<=HS_CNT+1;END IF;END IF; END PROCESS; END WX;图6 显示图像模块图7 系统的仿真图形图8 系统连接图图9 系统仿真结果第5章 课程设计总结这次实习是我们第一次做课程设计,对我们来说很重要。它使我们的理论知识与实践充分地结合,还具有较强的实践动手能力,从实践中发现问题,分析问题和解决问题,为将来的实际工作打下一定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据采集集成施工方案(3篇)
- 早春女装活动策划方案(3篇)
- 柱子钢筋加固施工方案(3篇)
- 欧美趣味活动策划方案(3篇)
- 沉降观测投标施工方案(3篇)
- 海恒的营销方案(3篇)
- 烟囱涂油漆施工方案(3篇)
- 瑜伽办卡营销方案(3篇)
- 知识付费价格营销方案(3篇)
- 竖井人行梯施工方案(3篇)
- DL-T5706-2014火力发电工程施工组织设计导则
- (高清版)JTGT 3365-05-2022 公路装配式混凝土桥梁设计规范
- 专题1中考化学培优拓展微专题-装置的气密性检查精练(解析版)
- 危化品安全管理培训模板如何正确穿戴和使用防护装备
- 初二数学下册《平行四边形》课件
- 中国大唐集团公司电力工程安全检查与评价管理规定
- 海南中考历史模拟试题卷解析版
- 23S519 小型排水构筑物(带书签)
- 2019年江西省中考化学试题及答案
- 现代汉语词兼类教学课件
- (电梯)工程保修三方协议
评论
0/150
提交评论