SOPCEDA综合课程设计报告液晶显示屏LCD显示接口设计(共25页).doc

上传人:飞****2 文档编号:5343378 上传时间:2022-01-03 格式:DOC 页数:25 大小:1.36MB
返回 下载 相关 举报
SOPCEDA综合课程设计报告液晶显示屏LCD显示接口设计(共25页).doc_第1页
第1页 / 共25页
SOPCEDA综合课程设计报告液晶显示屏LCD显示接口设计(共25页).doc_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《SOPCEDA综合课程设计报告液晶显示屏LCD显示接口设计(共25页).doc》由会员分享,可在线阅读,更多相关《SOPCEDA综合课程设计报告液晶显示屏LCD显示接口设计(共25页).doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上江西理工大学应用科学学院SOPC/EDA综合课程设计报告设计题目:液晶显示屏LCD显示接口设计设计者: 学号: 班级: 指导老师: 时间: 设计报告综合测试总评格式(10)内容(40)图表(10)答辩(20)平时(20)专心-专注-专业目 录1 11112234 4712 21 22 23 第1章 预习知识1.1 液晶显示屏的基本原理与使用方法1.1.1 点阵型LCD简介LCD液晶显示器是Liquid Crystal Display的简称,LCD的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,

2、将光线折射出来产生画面。比CRT要好的多,但是价钱较其它显示器贵。1.1.2 点阵LCD的显示原理在数字电路中,所有的数据都是以0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。而对于中文,常用却有6000以上,于是我们的DOS前辈想了一个办法,就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低128位则留给英文字符使用,即英文的内码。那么,得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义

3、有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状。1.1.3 液晶显示模块接口时序模块有并行和串行两种连接方法(时序如下):1、8位并行连接时序图5 MPU写资料到模块图6 MPU从模块读出资料2、串行连接时序图图7 串行连接时序图1.2 课程设计题目:液晶显示屏LCD显示接口设计1.2.1 课程设计目的及基本要求 液晶显示屏已广泛应用于人们的日常生活中,在各种领域中起到越来越重要的位置。因此,掌握和控制液晶显示屏是非常重要的技能。进行课程设计是加强实践,提高动手能力的重要环节,通过课程设计,同时在软件编程,排错调试,相关仪器设备的使用技术等方面得到全面的提高。掌握液晶显示屏实现的相

4、关方法,为将来的实际工作打下一定的基础。本课程设计是以SED1520控制器为基础,基本要求是: 1、掌握SED1520控制器基本结构2、掌握液晶显示屏的工作原理及使用方法3、掌握用VHDL语言编写程序 4、掌握Quartus II的使用方法 5、掌握GW48系列SOPC/EDA实验开发系统:a:闲置不用GW48系统时,必须关闭电源,拔下电源插头! b:在实验中,当选中某种模式后,要按一下右侧的复位键,以使系统进入该结构模式工作。c:换目标芯片时要特别注意,不要插反或插错,也不要带电插拔,确信插对后才能开电源。其它接口都可带电插拔。请特别注意,尽可能不要随意插拔适配板,及实验系统上的其他芯片。d

5、:并行口工作模式设置在“EPP”模式!e: 跳线座“SPS”默认向下短路(PIO48);右侧开关默认拨向“TO MCU”。f: 对于GW48-PK2系统,左下角拨码开关除第4档“DS8使能”向下拨(8数码管显示)外,其余皆默认向上1.3 课程设计题目内容要求使用FPGA设计一个液晶显示屏LCD显示的控制器,使其能够显示文字、数字或图形(根据需要选择LCD屏),至少需要显示“江西理工大学应用科学学院课程设计”字样,另外需要显示班级姓名和日期。其它功能可自行增加! 第2章 设计内容提要及说明2.1 元件原理图图1 下载/编程接口电路图图2 液晶显示屏2.1.1 模块引脚说明表1 模块引脚逻辑工作电

6、压(VDD):3.35.5V电源地(GND):0V工作温度(Ta):0+50(常温)/ -2070(宽温)2.1.2 接口时序模块有并行和串行两种连接方法(时序如下):a) 8位并行连接时序图图3 MPU写资料到模块图4 MPU从模块读出资料a) 串行连接时序图图5 串行时序图表2 时钟周期表串行数据传送共分三个字节完成:第一字节:串口控制格式 11111ABC A为数据传送方向控制:H表示数据从LCD到MCU,L表示数据从MCU到LCD。 B为数据类型选择: H表示数据室显示数据,L表示数据室控制指令。C固定为0。第二字节:(并行)8位数据的高4位格式DDDD0000第三字节:(并行)8位数

7、据的低4位格式DDDD0000串行接口时序参数:(测试条件: T=25 VDD=4.5V)2.2 12864指令系统2.2.1 用户指令集指令表1:(RE=0:基本指令集)表3 基本指令表指令表2:(RE=1:扩充指令集)表4 扩充指令表2.2.2 FPGA与LCD连接方式FPGA与LCD连接方式:(仅PK2型含此)。由实验电路结构图COM可知,默认情况下,FPGA是通过89C51单片机控制LCD液晶显示的,但若FPGA中有Nios嵌入式系统,则能使FPGA直接控制LCD显示。方法是拔去此单片机(在右下侧),用连线将座JP22/JP21(LCD显示器引脚信号)各信号分别与座JP19/JP20(

8、FPGA引脚信号)相连接即可。图6 实验电路结构图COM第3章 系统硬件设计本方案采用的FPGA为Alter公司的ACEX1K30芯片,它可提供系统的时钟及读写控制,ACEX系列的FPGA由逻辑数组块LAB(Logic array block)、嵌入式数组块EAB(embedded arr ay block)、快速互联以及IO单元构成,每个逻辑数组块包含8个逻辑单元LE(logicelement)和一个局部互联1。每个逻辑单元则由一个4输入查找表(LUT)、一个可编程触发器、快速进位链、级连链组成,多个LAB和多个EAB则可通过快速通道互相连接。EAB是ACEX系列器件在结构设计上的一个重要部

9、件,他是输入埠和输出埠都带有触发器的一种灵活的RAM块,其主要功能是实现一些规模不太大的FIFO、ROM、RAM和双埠RAM等。在本液晶显示接口电路中,EAB主要用宏功能模块实现片上ROM。它通过调用FPGA上的EAB资源来实现汉字的显示和字符的存储,并根据控制信号产生的地址值从ROM中读取字符值,然后送LCD显示器进行显示。由于所用的图形点阵液晶块内置有SED1520控制器,所以,其电路特性实际上就是SED1520的电路特性。SED1520的主要特性如下: (1)具有液晶显示行驱动器,具有16路行驱动输出,并可级联实现32行驱动。(2)具有液晶显示列驱动器,共有61路列驱动输出。(3)内置时

10、序发生器,其占空比可设置为1/16和1/32两种。(4)内藏显示内存,显示内存内的数据可直接显示,1为显示,0为不显示。(5)接口总线时序可适配8080系列或M6800系列,并可直接与计算机接口。(6)操作简单,有13条控制指令。(7)采用CMOS工艺,可在电压低至2.4-7.0V时正常工作,功耗仅30W。本设计所用的字符液晶模块CM12232由两块SED1520级连驱动,其中一工作在主工作方式下,另一个工作在从方式下,主工作方式SED1520负责上半屏16行的驱动和左半屏的61列驱动,从工作方式的SED1520则负责下半屏16行的驱动和右半屏的61列驱动,使能信号E1、E2用来区分具体控制的

11、是那一片SED1520,其系统的硬件连接图如图1所示。由图1可见,该系统的硬件部分连接十分简单,其中FPGA部分没画出,而液晶与FPGA的接口则可直接以网表的形式给出,将它们直接与FPGA的普通I/O引脚相连即可。系统的软件接口实现具体实现的重点是如何从存放有字符的ROM块中读出数据,并按照液晶的时序正确的写入,在介绍具体实现方法前,首先要熟悉SED1520的指令。SED1520的控制指令表第四章 设计过程4.1 初始化部分的状态机设计根据字符模块初始化的流程图:图1 LCD初始化流程图4.2 时钟模块的设计由于FPGA开发板上自带的晶振频率为50MHZ,而所需要的时钟频率则需要小于13.9K

12、。因此需要一个分频器对其进行分频。这里采用简单的计数器对其进行分频,通过分频器将外部输入的32MHZ的信号分成频率为HZ的信号。在分频之后由于时钟信号需要同时控制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:out std_logic);end baud;architec

13、ture behavioral of baud isbeginprocess(clk,resetb)variable cnt:integer;beginif resetb=1 thencnt:=0;bclk=208 then cnt:=0;bclk=1;else cnt:=cnt+1;bclk=0;end if;end if;end process;end behavioral;图2 时钟模块图3 系统的仿真图形4.3 中文字符部分的数据模块中文部分由于VHDL中无法识别中文,使用时需要参照中文字符表,将需要的字符所对应的数据输入RAM,然后通过和英文模块不重复的符号来实现对其的调用。如“江”

14、这个中文字符,所对应国标码”bdad”,因此在函数部分应为:constant data_buf : data_buffer := (xbd,xad);本程序驱动液晶显示“江西理工大学应用科学学院课程设计”“班级”“姓名”“日期”library ieee;use ieee.std_logic_1164.all;use 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, r

15、s, 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,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 :=

16、 (xBD,xAD,xCE,xF7, xC0,xED,xB9,xA4, xB4,xF3,xD1,xA7, xD3,xA6,xD3,xC3, xBF,xC6,xD1,xA7, xD1,xA7,xD4,xBA, xBF,xCE,xB3,xCC, xC9,xE8,xBC,xC6, xD7,xD4,xB6,xAF,xBB ,xAF , xA3,xB1,xA3,xB0, xA3 ,xB2, xD7,xA4,xD0, xA1,xC1, xFA, xA3,xB2,xA3,xB0,xA3,xB1,xA3,xB3,xA3,xAE, xA3,xB1,xA3,xAE,xA3,xB3);beginprocess(cl

17、k)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 cntdivide_to_100k/2 then clk_100k= 0;else clk_100k = 1;end if;end if;end process;process(clk_100k)variable cnt1:integer range 0 to 500;variable cnt1_1:integer range 0

18、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 rw= 1;rs = 1;e = 1;cnt1:=cnt1+1;if cnt1 250 then lcd_rst = 0;elsif cnt1 500 then lc

19、d_rst = 1;elsif cnt1=500 then lcd_rst = 1;cnt1 := 0;current_s cnt1_1:=cnt1_1+1; if cnt1_1 1*3 then e = 1;rs = 0;rw = 0;elsif cnt1_12*3 then lcd_data=x0c;elsif cnt1_110*3 then e=0;elsif cnt1_1=10*3 then cnt1_1:=0;current_scnt1_1:=cnt1_1+1; if cnt1_11*3 then e=1;rs=0;rw=0;elsif cnt1_12*3 then lcd_data

20、=x80;elsif cnt1_110*3 then e=0;elsif cnt1_1=10*3 then cnt1_1:=0;current_s if cnt1_11*3 then e=1;rs=1;rw=0;elsif cnt1_12*3 then lcd_data=data_buf(data_cnt);elsif cnt1_1=2*3 then data_cnt:= data_cnt+1;elsif cnt1_1100 then e=0;end if;cnt1_1:=cnt1+1;if cnt1_1=100 then cnt1_1:=0;if data_cnt=16 then curre

21、nt_scurrent_s=s0;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;

22、ARCHITECTURE WX OF 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;

23、CONSTANT THf:INTEGER :=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 key3event and key3=1 then if cnt=10 then cnt=00; else cnt=cnt+1; end if; end if; end process; process(cnt) begin if c

24、nt=00 then rgb=11; elsif cnt=01then rgb=rgbx; elsif cnt=10then rgb=rgby; else rgb=00; end if;end process; process(hs_cnt,vs_cnt) begin if hs_cnt102 then rgbx=00; elsif hs_cnt162 then rgbx=11; elsif hs_cnt222 then rgbx=00; elsif hs_cnt282 then rgbx=11; elsif hs_cnt342 then rgbx=00; elsif hs_cnt402 th

25、en rgbx=11; elsif hs_cnt462 then rgbx=00; elsif hs_cnt522 then rgbx=11; else rgbx=10; end if; if vs_cnt43 then rgby=00; elsif vs_cnt75 then rgby=11; elsif vs_cnt107 then rgby=00; elsif vs_cnt139 then rgby=11; elsif vs_cnt171 then rgby=00; elsif vs_cnt203 then rgby=11; elsif vs_cnt235 then rgby=00; e

26、lsif vs_cnt267 then rgby=11; else rgby=10; end if; end process; CLOCK:PROCESS(CLK) BEGIN IF CLKEVENT AND CLK=1THEN IF CNT1=2 THEN CNT1=000; ELSE CNT1=CNT1+1;END IF; END IF; END PROCESS; PROCESS (CLK) BEGIN IF CLKEVENT AND CLK=0 THEN IF CNT2=2 THEN CNT2=000; ELSE CNT2=CNT2+1;END IF; END IF; END PROCE

27、SS; PROCESS(CLK) BEGIN IF CLKEVENT 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 CLKEVENT AND CLK=0THEN IF CNT2=0 THEN CLK_TEMP2=1; ELSIF CNT2=1 THEN CLK_TEMP2=0; END IF; END IF; END PROCESS; CK=CLK_TEMP1 OR CLK_TEMP2; C

28、K0=CK; PROCESS(CK) BEGIN IF CKEVENT 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-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; E

29、LSE HS_CNT=HS_CNT+1;END IF;END IF; END PROCESS; END WX;图6 显示图像模块图7 系统的仿真图形图8 系统连接图图9 系统仿真结果第5章 课程设计总结这次实习是我们第一次做课程设计,对我们来说很重要。它使我们的理论知识与实践充分地结合,还具有较强的实践动手能力,从实践中发现问题,分析问题和解决问题,为将来的实际工作打下一定的基础。本次实习中资料的搜集和整理尤其关键,它考察我们对信息的提取能力,从而为提出设计方案做准备。在设计过程中好多电路图看起来简单,但要我们编译却非常难,这时就要看我们对理论知识的应用。这次的实习使我意识到理论知识和实践能力

30、的不足,所以,在以后的学习生活中,我需要更努力地学习和实践。这次EDA课程设计历时两周,可以说是苦多于甜,但是可以学到很多很多的东西,不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解,让我们对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。在波形仿真时,也遇到了一点困难,想要的结果不能在波形上得到正确的显示:在设定输入的时钟

31、信号以及楼层请求信号后,但是始终看不到所要到达的楼层。后来,在数十次的调试之后,才发现是因为输入的信号对于器件的延迟时间控制得不对。经过屡次调试,终于找到了比较合适的输入数值,得到了完整的仿真结果。 其次,在连接各个模块的时候一定要注意各个输入、输出引脚的线宽,因为每个线宽是不一样的,只要让各个线宽互相匹配,才能得出正确的结果,否则,出现任何一点小的误差就会导致整个文件系统的编译出现错误提示,在器件的选择上也有一定的技巧,只有选择了合适当前电路所适合的器件,编译才能得到完满成功。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起

32、来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。参考文献1 潘永雄编著。新编单片机原理与应用(第二版),西安电子科技大学出版社。3 刘韬,楼兴华。FPGA数字电子系统设计与开发实例导航,人民邮电出版社。2 潘松,黄继业。,EDA技术与VHDL(第二版),清华大学出版社。4 周立功等编著。EDA实验与实践,北京航空航天大学出版社。5 6 7 致谢总的来说,这次的液晶显示屏LCD显示接口设计还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。最后,对给过我帮助的所有同学和指导老师表示忠心的感谢!特别是要感谢王忠锋老师,因为在课程设计还没开始前,老师就叫我们早做准备,熟悉Quartus的使用方法,又告诉我们设计资料的来源,在设计过程中还要给我们一一解决难题,使我们的课程设计能够较成功地完成。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 教育教学

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁