青岛科技大学本科毕业设计(论文)11概述1.1课题概述本文所要进行描述的设计是运用VHDL语言和VerilogHDL语言,通过分析LCD控制器的硬件结构和控制时序,使用SoPC技术,把NiosCPU和LCD控制器放在同一个FPGA中。并通过对相应变量的参数化,实现有一定通用性的LCDIP核设计。目的是解决在利用QuartusⅡ进行Nios系统开发时,由于内部没有可用LCD的IP,影响产品开发的问题。1.2LCD控制器软核设计所要设计的LCD控制器是要求符合Avalon总线规范的。FPGA中集合了NiosⅡCPU、DMA和LCD控制器模块,以及三态桥(连接Flash)、SDRAM控制器。LCD控制器的位置如图(1-1)所示,一端连接Avalon总线,一端连接LCD接口(LCD屏幕标准接口)。LCD控制器负责从SDRAM中提取显示数据,经处理符合LCD时序规范,送至LCD接口,实现显示图像。图1-1系统总貌图Fig.1-1SystemSummarization基于NiosII的LCD控制器IP核设计22相关技术介绍本小节主要介绍本论文中所涉及的关键理论和技术,包括LCD显示技术,SOPC技术,SOPC技术特点,NiosII处理器,Avalon总线,DMA技术。2.1LCD显示技术在1970年,Ferguson制造了第一台具有实用性的LCD。LCD使用液晶屏幕显示图象,液晶屏幕以电压供应的改变而改变光线的折射来产生色彩的变化LCD显示屏一般都应用在便携电脑或多媒体放映机上。大部分桌面电脑的纯平LCD显示器就是采用了LCD技术。利用液晶制成的显示器称为液晶显示器,英文称LCD(LiquidCrystalDisplay)。其种类可分为依驱动方式之静态驱动(Static)、单纯矩阵驱动(SimpleMatrix)以及主动矩阵驱动(ActiveMatrix)三种。而其中,单纯矩阵型又俗称的被动式(Passive),可分为扭转向列型(TwistedNematic,简称TN)和超扭转式向列型(SuperTwistedNematic,简称STN)两种;而主动矩阵型则以薄膜式晶体管型(ThinFilmTransistor;TFT)为目前主流。LCD因具有工作电压低、功耗小、显示信息量大、寿命长、易集成、方便携带和电磁辐射污染小等优点,在显示技术中异军突起,被广泛应用于手机、PDA产品、手持式仪器仪表等便携式电子产品与设备中。LCD驱动电路是液晶显示系统的重要组成部分,是一种计算机(或MCU)和液晶屏之间的接口电路,其主要功能是通过调制输出到液晶显示器件电极上的电位信号的相位、峰值、频率等参数来建立交流驱动电场。由于LCD的规格相差较大,常规的方法是针对每一种LCD开发专门的驱动电路,这样的设计浪费时间,而且复用性较差。为此,设计一种可用于多数小规模LCD驱动电路的IP核,通过复用该IP核来解决这个问题是非常必要的。目前,国际上只有I-Shou大学的Yu-JungHuang等人设计了可驱动不同规模LCD的驱动电路IP核,通过在系统中植入嵌入式微处理器来实现这一功能。但是,这种嵌入式微处理器使系统更复杂,而且成本更高。本文设计的可驱动不同规模LCD的驱动电路IP核是采用FPGA来实现的,能有效克服电路系统复杂和高成本这两个缺点。青岛科技大学本科毕业设计(论文)32.2SOPC技术SoPC(SystemOnaProgramChip,片上可编程系统)是以PLD(ProgrammableLogicDevice,可编程逻辑器件)取代ASIC(ApplicationSpecificIntegratedCircuits,专用集成电路),更加灵活、高效的SoC(SystemOnChip)解决方案。它最早是由美国Altera公司于2000年提出的,并同时推出了相应的开发软件QuartusⅡ。SoPC是基于FPGA(FieldProgrammableGateArray,现场可编程门阵列)解决方案的SoC,与ASIC的SoC解决方案相比,SoPC系统及其开发技术具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能,具有更多的特色,构成SoPC的方案也有如下多种途径。2.2.1基于FPGA嵌入IP硬核的SoPC系统即在FPGA中预先植入嵌入式系统处理器。目前最为常用嵌入式系统大多采用了含有ARM的32位知识产权处理核的器件。但通常这种系统还须配置许多接口器件才能构成一个完整的应用系统,如除配置常规的SRAM、DRAM、Flash外,还须配置网络通信接口、USB接口、VGA接口、PS/2接口或其他专用接口等。这样会增加整个系统的体积、功耗,而降低系统的可靠性。但是如果将ARM或其他知识产权核,以硬核方式植入FPGA中,利用FPGA中的可编程逻辑资源和IP软核,直接利用FPGA中的逻辑宏单元来构成该嵌入式系统处理器的接口功能模块,就能很好的解决这些问题。这样就能使得FPGA中的硬件设计核硬件实现更与处理器的强大软件功能有机的相结合,高效的实现SoPC系统。2.2.2基于FPGA嵌入IP软核的SoPC系统将IP硬核直接植入FPGA的解决方案也存在许多不完美之处。例如硬核多来自第3方公司,导致FPGA器件价格相对偏高;由于硬核是预先植入的,设计者无法根据实际需要改变处理器的结构,如总线规模,接口方式,乃至指令形式,更不能将FPGA逻辑资源构成的硬件模块以指令的形式内置嵌入式系统的硬件加速模块(如DSP模块),以适应更多的电路功能要求;无法根据实际设计需求在同一FPGA中使用多个处理器核。以上诸多不利因素可利用软核嵌入式系统处理器来有效的解决。基于NiosII的LCD控制器IP核设计4目前最有代表性的软核嵌入式系统处理器分别是Altera的Nios和NiosⅡ核,及Xilinx的MicroBlaze核。特别是前者,即NiosCPU系统,将很好的解决上述不利因素。Altera的Nios核是用户可随意配置和构建的32位/16位总线(用户可选的)指令集和数据通道的嵌入式系统32位处理器IP核,采用Avalon总线结构通信接口,带有增强的内存、调试和软件功能(C或汇编程序优化开发功能);含有FirstSiliconSolutions(FS2)开发的基于JTAG的片内设备(OCI)内核。此外,基于QuartusⅡ平台的用户可编程的Nios核含有许多可配置的接口模块核,包括:可配置高速缓存(包括片内ESB、外部SRAM或SDRAM,100MB以上单周期访问速度)模块,可配置RS232通信口、SDRAM控制器、标准以太网协议接口、DMA、定时器、协处理器等。在植入FPGA前,用户可根据设计要求,利用QuartusⅡ和SoPCBuilder,对Nios及其外围系统进行构建,使该嵌入式系统在硬件结构、功能特点、资源占有等方面全面满足用户系统设计的要求。2.2.3基于HardCopy技术的SoPC系统HardCopy就是利用原有的FPGA开发工具,将成功实现于FPGA器件上的SoPC系统通过特定的技术直接向ASIC转化,从而克服传统ASIC技术中普遍存在的问题。HardCopy技术是一种全新的SoC级ASIC设计解决方案,它是将专用的硅片设计和FPGA至HardCopy自动迁移过程结合在一起的技术。首先利用QuartusⅡ将系统模型成功实现于HardCopyFPGA上,然后帮助设计者把可编程解决方案无缝的迁移到低成本的ASIC上的实现方案。这样,HardCopy器件就把大容量FPGA的灵活性和ASIC的市场优势结合起来,实现对于有较大批量要求并对成本敏感的电子系统产品上,从而避开了直接设计ASIC的困难,达到降低成本,加快面市周期的目的。2.3SOPC技术的特点SoPC技术主要面向单片系统级专用集成电路设计的计算机技术,与传统的专用集成电路设计技术相比,其特点有:设计全程,包括电路系统描述、硬件设计、仿真测试、综合、调试、系青岛科技大学本科毕业设计(论文)5统软件设计,直至整个系统的完成,都由计算机进行。设计技术直接面向用户,即专用集成电路的被动使用者同时也可能是专用集成电路的主动设计者。系统级专用集成电路的实现有了更多的途径,即除传统的ASIC器件外,还能通过大规模FPGA等可编程器件来实现。2.4NiosII处理器Nios嵌入式处理器是用户可配置的通用RISC嵌入式处理器,它是一个非常灵活和强大的处理器。Nios处理器的易用和灵活已经使它成为世界上最流行的嵌入式处理器。嵌入式设计者SoPCBuilder系统开发工具能够很容易地创建自己的处理器系统。SoPCBuilder可用于集成一个或多个可配置的带有许多标准外围设备的NiosCPU,并利用自动形成的Avalon交换结构总线将这些系统连接在一起。Nios嵌入式处理器是FPGA生产厂商Altera公司推出的软核(SoftCore)CPU,是一种面向用户的,可以灵活定制的通用RISC(精简指令集架构)嵌入式CPU。Nios以软核的方式提供给用户,并专为在Altera的FPGA上实现作了优化,用于SoPC集成,最后在FPGA上实现。SOPC系统主要包括一个CPU、I/O终端申请、计时器、UART口及大量的通用寄存器。Nios的数据总线和地址总线由用户定义(最大为32位),也可以根据具体需求增加并行输入输出端、连接外设的接口逻辑等。NiosⅡ系列软核处理器是Altera的第二代FPGA嵌入式处理器,其性能超过200DMIPS(DhrystoneMillionInstructionsexecutedPerSecond)。Altera的Stratix、StratixGX、StratixⅡ和Cyclone系列FPGA全面支持NiosⅡ处理器,以后推出的FPGA器件也将支持NiosⅡ。NiosⅡ系列能够满足任何应用32位嵌入式微处理器的需要,用户可以将第一代Nios处理器设计移植到某种NiosⅡ处理器上,Altera将长期支持现有FPGA系列上的第一代Nios处理器。另外,Altera提供了一键式移植选项,可以升级至NiosⅡ系列。NiosⅡ处理器也能够在HardCopy器件中实现,Altera还为基于NiosⅡ处理器的系统提供ASIC的移植方式。NiosⅡ处理器还具有完善的软件开发套件,包括编译器、集成开发环境(IDE)、JTAG调试器、实时操作系统(RTOS)和TCP/IP协议。设计者能够用基于NiosII的LCD控制器IP核设计6AlteraQuartusⅡ开发软件中的SoPCBuilder系统开发工具很容易地创建专用的处理器系统,并能够根据系统的需求添加NiosⅡ处理器核的数量。使用NiosII软件开发工具能够为NiosII系统构建软件,即一键式自动生成适用于系统硬件的专用C/C++运行环境。NiosII集成开发环境(IDE)提供了许多软件模板,简化了项目设置。此外,NiosII开发套件包括两个第三方实时操作系统(RTOS)——MicroC/OS-II(Micrium),NucleusPlus(ATI/Mentor)以及供网络应用使用的TCP/IP协议。在FPGA中使用软核处理器比硬核的优势在于,硬核实现没有灵活性,通常无法使用最新的技术。随着系统日益先进,基于标准处理器的方案会被淘汰,而基于NiosII处理器的方案是基于HDL(HardwareDescriptionLanguage,硬件描述语言)源码构建的,能够修改以满足新的系统需求,避免了被淘汰的命运。将处理器实现为HDL的IP核,开发者能够完全定制CPU和外设,获得恰好满足需求的处理器。2.5Avalon总线简介Avalon总线是Altera公司设计的用于SoPC中,连接片上处理器和其它IP模块的一种简单的总线协议,规定了主部件和从部件之间进行连接的端口和通信的时序。Avalon总线的主要设计目的如下:简单性,提供一种非常易于理解的协议;优化总线逻辑的资源使用率,将逻辑单元保存在PLD中;同步操作,将其它的逻辑单元很好地集成到同一PLD中,同时避免复杂的时