《液晶显示接口电路设计.docx》由会员分享,可在线阅读,更多相关《液晶显示接口电路设计.docx(12页珍藏版)》请在课桌文档上搜索。
1、EDA技术课程设计任务书班级:姓名:学号:设计题目:液晶显示接口电路一、设计目的进一步稳固理论知识,培养所学理论知识在实际中的应用能力;掌握EDA设计的一般方法;熟悉一种EDA软件,掌握一般EDA系统的调试方法;利用EDA软件设计一个电子技术综合问题,培养VHDL编程、书写技术报告的能力。为以后进行工程实际问题的研究打下设计根底。二、设计任务掌握液晶显示器(LCD)的根本原理,利用FPGA设计一个控制液晶显示模块(LCM)的接口电路,实现对LCM的有效控制,要求能显示中文和英文两种字符,下载并测试电路功能,分析芯片资源的占用情况。三、设计要求(1)通过对相应文献的收集、分析以及总结,给出相应课
2、题的背景、意义及现状研究分析。(2)通过课题设计,掌握计算机组成原理的分析方法和设计方法。(3)学习按要求编写课程设计报告书,能正确阐述设计和实验结果。(4)学生应抱着严谨认真的态度积极投入到课程设计过程中,认真查阅相应文献以及实现,给出个人分析、设计以及实现。四、设计时间安排查找相关资料(1天)、设计并绘制系统原理图(2天)、编写VHDL程序(2天)、调试(2天)、编写设计报告(2天)和辩论(1天)。五、主要参考文献1江国强编著.EDA技术与实用(第三版).北京:电子工业出版社,2011.21曹昕燕,周凤臣.EDA技术实验与课程设计.北京:清华大学出版社,2006.53阎石主编.数字电子技术
3、根底.北京:高等教育出版社,2003.指导教师签字:年月日液晶显示接口电路设计摘要本文以显示汉字和字母字符为例,介绍LCD液晶显示器接口电路。设计采用ST7920控制器控制的液晶显示模块(LCM),利用FPGA实现对该模块的控制。设计从液晶显示器的原理入手,介绍了液晶显示模块的根本设计方法,其中FPGA技术为液晶显示模块提供控制信号和数据输入信号。设计采用的液晶显示器为点阵式,为16x16的点阵。对自定义汉字而言,在16x16的点阵上,根据汉字的字形,可以得到汉字的字模。而字母的显示设计要相对简单一些,因为有固定的字符库,根据字符库即可得到字符相应的编码,而显示在16x8的点阵上。为了简化程序
4、,可以将字模编码送入存储器中,然后利用FPGA控制技术,将字模编码送入显示模块中显示出来。关键词:EDA,FPGA,LCD,接口电路目录第一章绪论11.1 设计目的和意义11.2 设计任务及要求1第二章总体设计22.1 液晶显示器工作原理22.1.1 系统设计52.1.2 1.CD接口电路的设计52.1.3 自定义汉字的显示62.1.4 显示接口电路的顶层电路72.1.5 Mif文件6第三章系统仿真63.1字符输入63.1仿真波形9第四章源程序10第五章结论10参考文献14第一章绪论1.1 设计目的和意义进一步稳固理论知识,培养所学理论知识在实际中的应用能力;掌握EDA设计的一般方法;熟悉一种
5、EDA软件,掌握一般EDA系统的调试方法;利用EDA软件设计一个电子技术综合问题,培养VHDL编程、书写技术报告的能力。为以后进行工程实际问题的研究打下设计根底。由于液晶显示器具有工作电压低、功耗小、寿命长、易集成、方便携带并且显示信息量大、无辐射、无闪烁等优点,进行该设计能使我深入理解液晶显示的原理和方法,对以后使用和设计都意义重大。目前市场上大局部LCD的接口是模拟接口,存在着传输信号易受干扰、显示器内部需要参加模数转换电路、无法升级到数字接口等问题,LCD的数字接口尚未形成统一标准,LCD的关键性的优势却很难充分发挥。但随着数字时代的到来,数字接口必将采用代替模拟接口。FPGA既解决了定
6、制电路的缺乏,又克服了原有可编程器件门电路数有限的缺点。FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。1.2 设计任务及要求掌握液晶显示器(LCD)的根本原理,利用FPGA设计一个控制液晶显示模块(LCM)的接口电路,实现对LCM的有效控制,要求能显示中文和英文两种字符,下载并测试电路功能,分析芯片资源的占用情况第二章总体设计2.1 液晶显示器工作原理液晶显示器采用点阵式,不仅可以显示中英文字符,而且还可以显示图形,根据设计要求,能显示中文和英文两种字符。对于中文字符,我采用自定义汉字类型,而英文字符的显示由液晶显示模块内部提供。采用LMG-SSC12K64
7、DLGY液晶显示模块,模块带有英文字库和BIG5码中文字库,可显示4行8个字符,且每个字符为16x16中文字。模块内部的液晶控制器为ST7920,ST7920内部内置了2MB中文字型ROM(CGROM),提供8192个中文字型(16x16点阵);16KB半宽字型ROM(HCGROM),126个西文字型(16x8点阵);64x16位字符显示RAM(DDRAM),64x16位字符产生RAM(CGRAM),64x32个字节的绘图RAM(GDRAM),以及256点的ICoNRAM(IRAM)。通过对ST7920的指令操作,可实现文字和图形的混合显示、清屏、光标移位、显示开关、光标显示/隐藏、显示字体闪
8、烁、光标移位、显示移位、垂直画面旋转、反白显示、休眠等功能。ST7920内部有两个8位的存放器:数据存放器(DR)和指令存放器(IR)。通过数据存放器可以存取DDRAM/CGRAM/GDRAM/IRAM的值,以及目标RAM的地址;通过指令命令选择数据存放器的存取对象,每次的数据存放器存取动作都将自动地以上次选择的目标RAM地址来进行写入和读取。表2-1LMG-SSC12K64DLGY液晶显示模块的外部引脚引脚号符号电平功能1VSSGND(OV)2VDDH/LDC+5V3N.CN.C4RSH/L存放器选择5R/WH/L读/写6EH,H指向L使能信号7DBOH/LDO8DBIH/LDl9DB2H/
9、LD210DB3H/LD311DB4H/LD412DB5H/LD513DB6H/LD614DB7H/LD715A(+)DC+5VLED背光+16K(一)OVLED背光+从外部引脚可知,此LCM有八条数据线DB7DB0,三条控制线RS、R/W、E,可以方便地与微处理器、微控制器或者FPGA相连,通过向LCM送入数据和指令,就可以使LCM正常工作,这里选择与FPGA相连。ST7920的存放器选择信号RS及读写控制信号R/W可选择控制接口4种读写模式,如表22所示。表22ST7920的根本操作RSR/W功能说明LL写指令到指令存放器IRLH读出忙标识BF及地址计数器AC的状态HL写数据到数据存放器D
10、RHH从数据存放器DR中读出数据ST7920的指令集包括根本指令和扩充指令,其中根本指令有Il条(见表3),扩充指令有7条(见表4),每条指令的长度都为8位。两类指令的选择由选择控制位RE决定,RE=O,为根本指令,RE=I,为扩充指令。将RE的状态更改后,后续指令将维持在这一状态,除非再次更改RE状态,否那么使用相同指令集时,无需重新设置RE。表2-3ST7920的根本指令表指令指令码描述RSR/WDB7DB6DB5DB4DB3DB2DBlDBO清屏OOOOOOOOO1去除屏幕,光标回原位返回OOOOOOOO1X设DDRAM地址为0,显示回原位,其内容不变输入方式设置OOOOOOO1I/DS
11、设光标移动方向并指定显示是否移IZD=I:增加;0:减少S=I:显示移动;默认0显示开关控制OOOOOO1DCBD=I:显示;0:关闭C=1:光标翻开;0:光标关闭B=I:光标位字符闪烁;0:不闪烁移位OOOOO1S/CR/LXXSZC=1:显示移动;0:光标移动RZL=I:右移;0:左移功能设置OOOO1DLXOREXXDL=I:8位接口RE:选择控制位CGRAM地址设置OOO1AC5AC4AC3AC2AClACO设CGRAM地址DDRAM地址设置OO1OAC5AC4AC3AC2AClACO殳DDRAM/也址写数CGZDDRAM1OD7D6D5D4D3D2DlDO写数据到内部RAM(DDRA
12、M/CGRAM/GRAM)读数从内部据由RAM(DDRACGZD11D7D6D5D4D3D2DlDOM/CGRAM/GDRARAM)读出数M据ST7920在接收指令前,FPGA必须先确认ST7920处于空闲状态,即读取的忙信号位BF为。时,才能接收新的指令。假设在送出一条指令前不检查BF状态,那么需要延时一段时间,确保上一条指令执行完毕。ST7920的每条指令长度为8位,但是自定义字型的编码为16位,必须通过连续写入DDRAM两个字节数据的形式完成显示,先写入高字节(DB15DB8),再写入低字节(D7D0)。ST7920字型ROM提供8192个点的16x16中文字形图像以及126个168点的
13、数字/符号图像,它使用两个字节(中文字形)或一个字节(数字/符号)提供字型编码选择,配合DDRAM将要显示的字型码写入到DDRAM中,硬件将自动的依照编码从CGROM或HCGROM中将要显示的字型显示在液晶屏上。ST7920的CGRAM提供四个16x16点的自定义图像空间,可实现造字功能。自定义字型一次最多只能定义4个,使用者也可以将内部字型未提供的图像字型定义到CGRAM中,便可通过DDRAM显示在屏幕中。2.1.1 系统设计2.1.2 1.CD接口电路的设计RS*-1FPGA与液晶模块的接此做各FPGA与液晶模块酌接口电路如图2-1所示。其中,IjX)D7为数据总辞接口,RC助液为读操作,
14、鼾6O时,为操作。RS为存放姬,为O13悌旅舰你放为十时*七搀翻桥存放器,对LCM的写命令展作可分为妇、.几个步骤:屏1) RSM,RW=O,EN=O;张定工作方式为写命令;存放器。I列驱动器组2) Ri=O,KW三(N=1,Db=具体命令享;使gLCM,将命令出写入LCM3) R!5亍RTW=0,七N高了!写命令工作结束。对LCM的写显示数据操作可分为如下几个步骤:1) RS=I,RW=O,EN=O;设定工作方式为写数据存放器。2) RS=I,RW=0,EN=LDB=具体显示数据;使能LCM,将显示内容写入LCM。3) RS=I,RW=0,EN=O;写显示数据结束。程序设计时,可采用状态机控
15、制各个步骤的进行。2.2.2自定义汉字的显示对于自定义汉字的显示,首先需要获得自定义汉字的字模。我设计的是显示“农电”两个字,根据字模可以得到这两个汉字的编码,每取8个点作为一个字节,如果最后缺乏8个点那么补满8位。ST7920提供16x16的点阵,可以显示四个自定义的汉字,农电两个字的字模就是由16x16点阵而来的。“农”“电”两字的字模如下:农的字模:DBOOHOOHOOH80HOOH80H01HOOH3FHF3H2IH04H02HOOH05HOOHDB0884HI8H48H28H30H48HIOH88H08HOAH04HOCH03HOOHOOH电的字模:DBOOHOOH01H80H01H
16、80H01H80HIFHF8HIlH88H11H88IFHF8HDBIFHF8H11H88H1IH88H11H88HIFHF8HOlH83HOlHFFHOOHOOH要注意的是:1)在将字模放入CGRAM之前,一定要先设定CGRAM的地址。2)在显示数据之前,一定要把自定义汉字的字模放入CGRAM中。3)CGROM的内容确定后,要指定在液晶屏上的显示位置,即设定DDRAM的地址。2.2.3显示接口电路的顶层电路图22显示接口电路的顶层电路原理图Ipm模块为存储器模块,自定义汉字的字模编码就存储在里面并且当控制信号到来时,将字模送入Icdcgram模块并通过该模块显示出字形。SClk为系统时钟,s
17、tart为启动显示信号,Clear为清零信号,1Cden为LCM使能输入端,1CdrAv为LCM读/写输入端,1Cdd/i为LCM存放器选择输入端,1Cdd70为LCM数据输入端。lpm-rom0中存放的是RAM的地址和字模编码,大大简化了程序的设计。2.2.4Mif文件自定义字形显示“农”“电”时,依据字形的字模数据设置存储器的存储数据,存储器的mif文件内容图2-3所示。图2-3农电的mif文件第三章系统仿真3.1字符输入此电路的仿真主要关注在时钟及输入信号的控制下,FPGA是否能够输出满足LCM时序的控制信号。假设存储器中存放数据,仿真的波形如图3-1,3-2所示。由波形图可看出,在时钟
18、信号的作用下,对LCM的操作为写操作,与送入LCM的数据mif文件一致。图3-1为“农”字的局部输入3.1仿真波形图3-2自定义字形仿真波行第四章源程序显示“农”“电”两个自定义字行的VHDL的源程序如下:1.IBRARYieee;USEieee.std_logic_l164.all;USEieee.stdOgiC_arith.all;USEieee.std_logic_unsigned.all;ENTITYIcdcgramISP0RT(sclk,start,clear:instdOgic;prom_data:instd_logic_vector(8downtoO);en,r_w,rs:out
19、std_logic;promadr:bufferstd_logic_vector(7downtoO);db:outstd_logic_vector(7downtoO);IeddataioutSKUOgiJVeCtOr(8downto0);ENDIcdcgram;ARCHITECTUREarchOFIcdcgramIStypestateis(s,sl,s2);signalsta,clr-sta:state;signalclk:std_logic;signalcount:std_logic_vector(8downtoO);signalreg_rs:std_logic_vector(0to10);
20、signallcddata:std_logic_vector(8downtoO);signalinit:stdjogic;signallex:StdJogic;beginprocess(sclk)beginifclear=1,thencount=000000000;elsifsclkeventandsclk=,thencount=count+1;endif;endprocess;clk=count(8);-process(clear,start,sclk,clk)process(clear,start,sclk)beginifsclkeventandsclk=1thenifclear-then
21、sta=s;init=O;promadrrs=,Or-w=Oen=Oclr-stars=,O,;r_w=,O,;en=,l,;clr_sta=s2;dbrs=0r-w=0en=,0clr-stanull;endcase;elseifstart=,1thenlcx=clk;iflcx=0andclk=thenifpromadr=,01001011thenlcddata=prom-data;leddatars=(notICddata(8);r_wrs=(notlcddala(8)jr-w=,0en三,1,ista=s2idbrs=(notlcddata(8)r-w=,O,en=,Ostanull;
22、endcase;elsepromadr=,01OOO11,;endif;endif;endif;endif;endif;endprocess;ENDarch;第五章结论本设计是基于FPGA控制,利用FPGA控制实现了对字符点阵液晶的控制,该方案硬件电路简单,软件程序简洁,对液晶的控制简单而且稳定,且可灵活改动,假设要改变液晶显示的汉字,只需改变ROM表中的字模即可,实践证明,该设计是对液晶应用的一种行之有效的方法。数字型的液晶显示器具有工作电压低、功耗小、寿命长、易集成、方便携带并且显示信息量大、无辐射、无闪烁等优点,因此在显示领域应用泛,不久就会全面取代现在的模拟CRT显示器。通过设计了解了液晶显示接口电路方面的相关背景知识、设计方法。设计仍有缺乏之处,需要努力改良。参考文献1江国强.EDA技术与应用.北京:电子工业出版社,2007.2赵俊超.集成电路设计VHDL教程.北京:北京希望电子工业出版社,2002.3延明,张亦华.数字电路EDA技术入门.北京:北京邮电大学出版社,2005.4李莉,路而红.电子设计自动化(EDA)课程设计与工程实例ML北京:中国电力出版社,2009.5杨晓慧.基于FPGA的设计EDA/SOPC技术与VHDLM.北京:国防工业出版社,2007.