基于FPGA的嵌入式系统设计LCD显示控制器学士学位论文.docx
- 文档编号:26046409
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:60
- 大小:618.85KB
基于FPGA的嵌入式系统设计LCD显示控制器学士学位论文.docx
《基于FPGA的嵌入式系统设计LCD显示控制器学士学位论文.docx》由会员分享,可在线阅读,更多相关《基于FPGA的嵌入式系统设计LCD显示控制器学士学位论文.docx(60页珍藏版)》请在冰豆网上搜索。
基于FPGA的嵌入式系统设计LCD显示控制器学士学位论文
北方民族大学
学士学位论文
论文题目:
基于FPGA的嵌入式系统设计---LCD显示控制器
北方民族大学教务处制
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
摘要
相比于其它终端显示设备,液晶显示器具有低压、微功耗、显示信息量大、体积小等优点,在移动通信终端、便携计算机、GPS卫星定位系统等领域有广泛用途,成为使用量最大的显示器件。
液晶显示控制器作为液晶驱动电路的核心部件通常由集成电路组成,通过为液晶显示系统提供时序信号和显示数据来实现液晶显示。
随着大容量可编程逻辑器件的不断涌现,FPGA技术越来越多地应用在大规模集成电路的设计中。
FPGA(FieldProgrammableGateArray)具有功能强大、集成度高、灵活性好、速度快、高稳定性和易于实现复杂逻辑功能等优点。
以FPGA为硬件编程语言来实现的LCD控制器,具有易于集成到片上系统、方便修改、适应不同液晶显示器的特点。
与传统嵌入式系统设计不同,Nios系统的开发分硬件开发和软件开发两个流程,SOPC是可编程技术发展到一定阶段的必然产物。
它作为SOC和PLD/FPGA相结合的一项综合技术,集合了两者的优点,适合于两者的应用领域。
现代社会,以计算机技术为核心的信息技术迅速发展,以及信息的爆炸式增长,人类获得的视觉信息很大部分是从各种各样的电子显示器件上获得的,对这些显示器件的要求也越来越高。
在这些因素的驱动下,显示技术也取得了飞速的发展。
使用FPGA/CPLD设计的液晶控制器具有很高的灵活性,可以根据不同的液晶类型、尺寸、使用场合特别是不同的工业产品,做一些特殊的设计,以最小的代价满足系统的要求,而且可以解决通用的液晶显示控制器本身固有的一些缺点。
本文利用VHDL硬件描述语言设计了液晶显示控制器,实现了替代专用集成电路驱动控制LCD的作用。
关键词:
LCD,FPGA,SOPC,Nios
ABSTRACT
Comparedtootherterminaldisplaydevice,LCDdisplayhastheadvantagesoflow-voltage,micropower,theinformationvolume.Itiswidelyusedasthemaximumuseofthedisplaydeviceinthemobilecommunicationterminal,portablecomputer,GPSsatellitepositioningsystems.LCDcontrollerforLCDdrivercircuitofthecorecomponentsrealizetheliquidcrystaldisplaybyprovidetimingsignalsanddisplaydataFortheliquidcrystaldisplaysystem.
Withhigh-capacityprogrammablelogicdevicescontinuetoemerge,FPGAtechnologyisincreasinglyusedinlargescaleintegratedcircuitdesign.FPGA(FieldProgrammableGateArray)ispowerful,highintegration,goodflexibility,speed,highstabilityandeasytoimplementcomplexlogicfunctionsandsoon.TheLCDcontrollerrealizedwithFPGA-hardwareprogramminglanguageiseasytointegratedtoaSoCsystemandmodifytoadapttodifferentcharacteristicsofliquidcrystaldisplays.
Itisdifferentwiththetraditionalembeddedsystemdesign,theNiossystemdevelopmentisdividedthehardwaredevelopmentandthesoftwaredevelopstwoflows,SOPCisthecertainoutcomeofprogrammabletechniquedeveloping.AsthetechnologyofSOCandPLD/FPGAcombined,integratedtheadvantagesofboth,adapttotheapplicationdomainofboth.
Modernsociety,informationtechnologybasedoncomputerhasarapiddevelopmentofinformationtechnologyandinformationhasanexplosivegrowth.Humanvisualinformationisobtainedmostlyfromavarietyofelectronicdisplaydevices,sotherequirementsofthesedisplaydevicesarealsoincreasing.Drivenbythesefactors,displaytechnologyhasmadearapiddevelopment.TheLCDcontrollerwhichusingtheFPGA/CPLDdesignisflexibility.Itcandosomespecialdesigntomeetthesystemrequirementsatminimumcostunderthedifferentcrystaltypes,sizes,theoccasionofdifferentindustrialproducts.ItcanalsosolvecommonLCDcontrollerinherentdrawbacks.
Inthispaper,weusetheVHDLhardwaredescriptionlanguage.ItcanreplacethespecificintegratedcircuittocontroltheLCD.
KEYWORDS:
LCD,FPGA,SOPC,Nios
前言
EDA技术及嵌入式系统已取得了巨大发展。
通用计算机系统的技术要求是高速、海量的数值计算;技术发展方向是总线速度的无限提升,存储容量的无限扩大。
而嵌入式计算机系统的技术要求则是对象的智能化控制能力;技术发展方向是与对象系统密切相关的嵌入性能、控制能力与控制的可靠性。
通过使用可编程逻辑器件,嵌入式系统开发商不但能提高系统的整体性能,而且能够从可编程逻辑器件原本就具备的开发时间短、上市快的特点受益。
嵌入式系统已深入应用到军事、生态环境监测、基础设施安全、医疗健康、工厂自动化、智能交通控制、智能居家、安全报警等领域。
人们80%的信息都是通过视觉获得的,一个良好的显示终端对人们获取信息十分重要。
而液晶显示技术逐渐成熟,已是型嵌入式设备显示终端的主流设备。
使用FPGA来设计一个嵌入式LCD显示控制器来进一步降低成本和功耗具有显著的实际意义。
在本设计中,主要设计了三个子模块,分频模块、LCD显示模块和执行指令模块。
设计的顶层模块将调用这三个子模块来实现LCD显示控制功能。
采用的是相对独立的VHDL语言,便于移植和修改。
使用模块化设计,降低了对目标硬件器件的依赖。
第一章绪论
1.1.重点研究对象
本课题通过对LCD显示控制器的VHDL设计,使学生熟练掌握用EDA的方法设计大型数字系统的能力,并通过下载可编程控制器件FPGA上实现设计功能。
本课题通过对LCD显示控制器的设计,在LCD模块上显示“WELCOMETODIANXUEYUAN”和“GOODLUCK”等字符,设计一个顶层模块然后在其下面建立3个功能独立的子模块,即分频模块、LCD显示模块和执行指令模块。
这3个子模块最后在顶层模块中被调用并装配在一起,共同完成要求。
分频模块
在接口电路中,时钟信号的作用至关重要。
一般FPGA的外部时钟信号可达几十兆赫,但是由于一些接口电路的特性所致,这样高频率的时钟不适合电路工作,所以应该引进时钟分频电路,产生频率适合接口电路的时钟信号,这样才能便于接口电路工作。
实现分频的方法主要有:
(1)偶数分频
对时钟进行偶数分频,使占空比达到50%很简单,只要使用一个计数器,在计数器的前一半时间里,实输出电平为高电平,在计数的后一半时间里,使输出电平为低电平,这样输出的时钟信号就是占空比为50%的时钟信号。
(2)奇数分频
与偶数分频相同,但是如果要求占空比为50%,则可以先对输入时钟的上升沿技计数,然后让一个内部信号在前一半时间里为低电平在后半段时间里为高电平,同时对输入时钟的下降沿进行计数,让另一个内部信号在前一半的时间里为高电平,后一半时间里为低电平。
然后让两个内部信号相与,则得到半个时钟周期的一个高电平,再让这个信号与另一个信号相或,就得到占空比为50%的输出时钟。
(3)非整数分频
若时钟源与频率不成整数关系,则可以采用小数分频器进行分频。
方法为,采用VHDL硬件描述语言先实现任意模N的计数器,然后将模N的计数器与异或门和2分频器连接起来。
即可以实现半整数分频。
显示模块
显示数值由显示控制单元外部的其它模块提供,将数值的个位,十位百位等分别传送。
随着模块的工作,不断向LCD显示控制单元输送最新数据信息在特定的位置上显示当信息位置固定不变时,在显示单元内部定义常量,向固定位置传送即可。
写信息时为了保证信息的正确显示,每行都重新确定了DDRAM地址,避免液晶自动计数出现混乱。
执行指令模块
显示控制单元实现采用状态机,将整个LCD屏幕刷新一次的控制分为若干单元状态。
这些状态包括初始等待,液晶显示功能设置,DDRAM地址设定,文字数值信息传输等等。
1.2.EDA技术简介
EDA是电子设计自动化(ElectronicDesignAutomation)缩写,以计算机为工具,根据硬件描述语言HDL(HardwareDescriptionlanguage)完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。
典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器。
综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形描述,针对给定的硬件系统组件,进行编译、优化、转换和综合,最终获得我们欲实现功能的描述文件。
综合器在工作前,必须给定所要实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用一定的方式联系起来。
也就是说,综合器是软件描述与硬件实现的一座桥梁。
综合过程就是将电路的高级语言描述转换低级的、可与目标器件FPGA/CPLD相映射的网表文件求是科技[15]。
适配器的功能是将由综合器产生的网表文件配置与指定的目标器件中,产生最终的下载文件,如JED文件。
适配所选定的目标器件(FPGA/CPLD芯片)必须属于在综合器中已指定的目标器件系列。
基于EDA工具的FPGA/CPLD开发流程:
开发步骤:
1、文本/原理图编辑与修改。
首先利用EDA工具的文本或图形编辑器将设计者的设计意图用文本(ABEL-HDL程序)或图形方式(原理图或状态图)表达出来。
2、编译。
完成设计描述后即可通过编译器进行排错编译,变成特定的文本格式,为下一步的综合做准备。
3、综合。
这是将软件设计与硬件的可实现性挂钩,是将软件转化为硬件电路的关键步骤。
综合后HDL综合器可生成ENIF、XNF或VHDL等格式的网表文件,他们从门级开始描述了最基本的门电路结构。
4、行为仿真和功能仿真。
利用产生的网表文件进行功能仿真,以便了解设计描述与设计意图的一致性。
(该步骤可以略去)。
5、适配。
利用FPGA/CPLD布局布线适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、布局布线。
该操作完成后,EDA软件将产生针对此项设计的适配报告和JED下载文件等多项结果。
适配报告指明了芯片内资源的分配与利用、引脚锁定、设计的布尔方程描述情况。
6、功能仿真和时序仿真。
该不妨真实接近真实器件运行的方针,仿真过程已将器件的硬件特性考虑进去了,因此仿真精度要高的多。
(该步骤也可略去)
7、下载。
如果以上的所有过程都没有发现问题,就可以将适配器产生的下载文件通过FPGA/CPLD下载电缆载入目标芯片FPGA或CPLD中。
8、硬件仿真与测试。
1.3.FPGA简介
FPGA(FieldProgrammableGateArray)即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA的基本特点主要有:
1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC电路的中试样片。
3)FPGA内部有丰富的触发器和I/O引脚。
4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。
用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。
掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。
FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。
当需要修改FPGA功能时,只需换一片EPROM即可。
这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。
因此,FPGA的使用非常灵活。
FPGA有多种配置模式:
并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程[1]。
1.4.VHDL简介
VHDL的英文全写是:
VHSIC(VeryHighSpeedIntegratedCircuit)HardwareDescriptiongLanguage.即超高速集成电路硬件描述语言。
它的主要是应用在数字电路的设计中。
用高级语言设计电路的流程:
1.使用文本编辑器输入设计源文件;
2.使用编译工具编译源文件。
3.(可选步骤)功能仿真。
4.综合。
综合的目的是在于将设计的源文件由语言转换为实际的电路。
5.布局、布线。
这一步的目的是生成用于烧写(编程Programming)的编程文件。
6.后仿真。
这一步主要是为了确定你的设计在经过布局布线之后,是否满足你的设计要求。
7.烧写器件(编程)[14]。
1.5.QuartusII软件简介
1.5.1.QuartusII简介
QuartusII具有如下特点:
1.支持原理图、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
2.具有运行速度快,界面统一,功能集中,易学易用等特点。
3.QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。
4.可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体。
1.5.2.QuartusII的应用
QuartusII提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:
①可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,将其保存为设计实体文件;
②芯片(电路)平面布局连线编辑;
③LogicLock增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;
④功能强大的逻辑综合工具;完备的电路功能仿真与时序逻辑仿真工具;
⑤定时/时序分析与关键路径延时分析;可使用SignalTapII逻辑分析工具进行嵌入式的逻辑分析;
⑥支持软件源文件的添加和创建,并将它们链接起来生成编程文件;
⑦使用组合编译方式可一次完成整体设计流程;自动定位编译错误;高效的期间编程与验证工具;
⑧可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件;
⑨能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。
1.5.3.QuartusII的设计流程
QuartusII设计流程如下:
设计输入:
完成期间的硬件描述,包括文本编辑器、块与符号编辑器、MegaWizard插件管理器、约束编辑器和布局编辑器等工具;
综合:
包括分析和综合器以、辅助工具和RTL查看器等工具;
布局连线:
将设计综合后的网表文件映射到实体器件的过程,包括Fitter工具、约束编辑器、布局图编辑器、芯片编辑器和增量布局连线工具;时序分析;
仿真:
QuartusII提供了功能仿真和时序仿真两种工具;
器件编程与配置:
包括四种编程模式,即被动串行模式、JTAG模式、主动串行模式和插座内编程模式[14]。
第二章基于Nios的SOPC设计
2.1.SOPC系统
SOPC(SystemOnProgrammableChip)即可编程的片上系统,或者说是基于大规模FPGA的单片系统。
SOPC技术的目标就是企图将尽可能大而完整的电子统,包括嵌入式处理器系统、接口系统、硬件协处理器或加速气系统、DSP系统、数字通信系统、存储电路以及普通数字系统等,在单一FPGA中实现,使得所设计的电路系统在其规模、可靠性、体积、功耗、功能、性能指标、上市周期、开发成本、产品维护及其硬件升级等多方面实现最优化。
SOPC从设计层次上讲,分硬件设计和软件设计;从设计流程上讲,是典型的自定向下的流程。
从设计手段上讲,相比于传统技术,更广和更深入地利用了计算机,而计算机技术无疑是当今的主流技术。
SOPC技术主要是指面向单片系统级专用集成电路设计的计算机技术,与传统的专用集成电路设计技术相比,其特点有[17]:
●设计全程,包括电路系统描述、硬件设计、仿真测试、综合、调试、系统软件设计,直至整个系统的完成,都有计算机进行。
●设计技术直接面向用户,即专用集成电路的被动使用者同时也可能是专用集成电路的主动设计者。
●系统级专用集成电路的实现有了更多的途径,即除传统的ASIC器件外,还能通过大规模FPGA等可编程器件来实现。
2.1.1.SOPC概述
Nios嵌入式CPU是一种专门为单芯片可编程系统(SOPC)设计应用而优化的CPU软核。
SOPC设计包括以32位Nios软核处理器为核心的嵌入式系统的硬件配置、硬件设计、硬件仿真、软件设计、软件调试等。
SOPC系统设计的基本软件工具主要有:
Quartus
,用于完成Nios系统的综合、硬件优化、适配、编程下载和硬件系统测试;SOPCBuilder是AlteraNios嵌入式处理器开发软件包,用于实现Nios系统的配置、生成、Nios系统相关的监控和软件调试平台的生成;ModelSim,用于对SOPCBuilder生成的Nios的HDL描述进行系统功能仿真;Matlab/DSPBuilder,可借助于生成Nios系统的硬件加速器,进而为其定制新的指令;GNUPro,用于进行软件调试。
完整的基于Nios的SOPC系统是一个软硬件复合的系统,在开发时可以分为硬件和软件两个部分。
Nios是一个可灵活定制的CPU,它的外设是可选的IP核或自定制逻辑,可以根据系统设计要求,通过SOPCBuilder向导式的界面定制裁剪得当的SOPC系统。
在设计规划后,分为硬件开发与软件开发两个流程。
Nios的硬件设计流程就是为了定制合适的CPU和外设,然后在SOPCBuilder和Quartus
中实现外设定义完成后,即可对NiosCPU和各外设模块的特性、大小及在系统中地址分配等进行设定。
接下去是启动SOPCBuilder,使之生成用于综合的硬件语言描述。
然后锁定端口引脚,启动Quartus
,对生成的Nios系统描述文件进行综合、适配和下载。
2.2.Nios嵌入式系统开发概述
2.2.1.Nios系统硬件开发流程
Nios嵌入式处理器是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 嵌入式 系统 设计 LCD 显示 控制器 学士学位 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)