基于Nios II系统实现LCD显示控制IP核的设计_第1页
基于Nios II系统实现LCD显示控制IP核的设计_第2页
基于Nios II系统实现LCD显示控制IP核的设计_第3页
基于Nios II系统实现LCD显示控制IP核的设计_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于NiosII系统实现LCD显示控制IP核的设计基于NiosII软核的SOPC(SystemONProgrammableChip)是Altera公司提出的片上可编程系统解决方案,它将CPU、存储器、I/O接口、DSP模块以及锁相环(PLL)的系统设计所必须的模块集成到一片FPGA上,构成一个可编程的片上系统,使所设计的电路在其规模、可靠性、体积、功耗、功能、上市周期、开发成本、产品维护以及硬件升级等多方面实现最优化。目前在AlteraSOPCBuilder下集成了包括UART、SPI、Ethernet、SDRAM、Flash、DMA等控制器的IP核。此外,用户也可以根据系统的需要自己设计或者购买第三方厂商的IP核通过Avalon总线像搭积木一样方便地将这些IP捆绑的系统上。但是在显示接口上,Altera公司只提供了一个16*2的字符型LCD控制器的IP核,只能用来显示数字和英文字母。如用户需要图形显示(如MP4和PDA)则需要外接专用控制芯片或自己设计IP核,使用起来很不方便。因此我们设计一个基于NiosII系统的可配置LCD控制器的IP核,本IP核可以方便的通过Avalon挂接到NiosII的系统上。考虑到目前LCD显示屏的实际需要,我们设计的LCD显示控制IP核具有以下主要功能:·以Avalon总线流传输模式提供接口;·为LCD屏提供扫描时序信号和显示数据;·提供可以选择的分辨率,最大可以支持1024*768;·可以通过软件配置显存的基地址和大小;1.Avalon总线规范1.1总线概述Avalon总线是Altera公司为SOPC系统开发的一种专用的内部连线技术,是一种理想的用于系统处理器和外设之间的内联总线。它是构建在NiosII软核的基础上,由Altera公司提供SOPCBuilder系统设计工具自动生成。Avalon总线支持多个主外设,任何一个主外设都可以直接进行存储器访问(DMA),而无须NiosII处理器的干预。一般的系统总线(如AMBA总线)都是采用主端总裁机制,而Avalon采用DMA从端仲裁机制,能够实现真正意义上的多模块DMA并行传输,而不相互影响。Avalon总线允许多个主端口连接到总线模块,实现总线的的并发多主端口传输的功能,而总线模块不需要额外的特殊信号;当有多个主外设试图同时访问同一外设时,由Avalon总线模块内部的从端口仲裁逻辑来处理冲突,对于主端口来说,它并不会感到有另一个主端口也在争用该外设,而是简单的发现它的等待请求信号一直有效,直到目标外设从端口准备好来处理自己的请求。因此,多个主外设只要不是同时访问同一个从外设,即可同时进行总线传输。仲裁的详细信息被封装在总线内部,主外设和从外设的接口是一致的,与外设的数量无关。1.2Avalon总线流传输模式Avalon规定了各种传输模式,这里只介绍本IP核所使用的流传输模式。关于其他的总线模式读者可以Avalon的总线规范。流传输模式是在流模式主外设和流模式从外设之间建立一个开放的信道以供连续的数据传输。该信道使得只要存在有效数据,数据便能在主从端口对之间流动,主外设不必为了确定从端口是否可用而不断地访问从外设的寄存器。流传输模式使得主从端口之间的数据吞吐量达到最大,同时避免了从外设数据溢出。流传输模式最适合DMA传输。一个只包含简单的流控制信号和一个计数器的DMA控制器就可以用来在一个从外设和一个存储器之间连续地传输数据。由于数据流是从Avalon总线流向LCD控制器,所以是流模式的从端口写传输。图1显示了流模式从端口写传输的模型。除了基本从端口传输中使用的信号外,流模式外设的接口中又引入了readyfordata、dataavailable和endofpacket三个信号。流模式从端口就是指使用了一个或多个上述信号的从端口。readyfordata有效表示外设准备好接受Avalon总线模块的写传输;dataavailable有效表示能够为来自Avalon总线模块的读传输提供数据。Avalon总线模块只在readyfordata或dataavailable有效时才会发起传输行为。endofpacket信号的含义取决于用户设计。2.Avalone流模式LCD控制器IP核设计LCD控制器按功能可划分为三个模块:接口模块,数据处理模块和时序产生模块。接口模块主要用来对系统进行配置,获取系统状态信息以及从内存读出将要显示的数据信息;数据处理模块根据系统的配置信息,对读入控制器的内存数据进行相应的处理,以符合用户设置的显示要求;时序产生模块产生显示时序信号,使得系统在不同的配置下都能产生与之相应的精确时序,以保证图象的正确显示。在具体实现时,这三个部分又可以划分为不同的功能模块来完成系统的总体功能。整个模块包括配置寄存器接口模块、DMA接口模块组成和异步FIFO模块,时序产生部分由时序产生模块构成。2.1DMA接口模块一般情况下,LCD显示需要进行大批量的数据传送。在标准VGA(640×48060Hz)模式下,每个像素点的扫描周期只有40ns。如此高速的数据传输,如果直接通过CPU来操作,将会消耗大量的CPU时间。为了提高CPU的工作效率,我们在NiosII下利用DMA(DirectMemoryAccess,直接存储器访问)来完成。利用DMA控制器在LCD控制器和显示存储器SDRAM之间建立一条专用的DMA传输通道,通过DMA控制器自动的读去图象数据,不需要CPU干预。在DMA传输时,首先需要由CPU对DMA进行初始化,设置显示存储器的基地址和长度以及LCD控制器输入寄存器的地址,然后打开DMA传输通道,使DMA在没有CPU干预的情况下直接从显示存储器读取显示数据传送到LCD控制的FIFO中。NiosII可以在DMA暂停传输的期间操作SDRAM中的显存,完成LCD显示图像的更新。DMA接口采用Avalon主设备端口来实现。2.2配置积存器接口模块系统可以通过配置寄存器接口模块对LCD显示控制器进行各种功能配置;LCD控制器也可以通过接口模块向系统反馈所需的状态信息,从而实现对系统状态的检测和控制。通过针对不同种类的LCD屏幕和不同的显示模式提供相应寄存器,可以保证对于各种LCD显示屏的兼容。2.3异步FIFO模块由于总线接口模块和LCD控制器工作在不同的时钟域,如果直接传送数据将会使电路进入亚稳态,无法正常工作。所以使用异步FIFO做为接口在两个时钟之间传递数据。典型的异步FIFO由异步双端口RAM和控制逻辑构成。2.4LCD时序产生模块通过读取配置寄存器获得像素时钟,行周期,帧周期,同步头宽度以及时钟分频系数等信息后,LCD时序产生模块产生LCD显示需要的行同步信号、帧同步信号以及复合消隐信号。3.LCD控制器IP核的仿真调试与安装3.1LCD控制器IP核的仿真调试本IP核使用VerilogHDL来编写,首先在Modelsim6.1下先进行RTL级的功能仿真,当所有功能都满足要求时,就可以使用综合工具综合后加入延时信息进行进行时序仿真。如果时序仿真也满足电路的设计要求,就可以当做一个NiosII系统自定义的组件加到NiosII系统中去。3.2LCD控制器IP核的安装Avalon流模式的LCD控制器需要安装到SOPCBuilder中,以便将其加入到NiosII系统中。这里的LCD控制器是一个典型的流模式自定义外设。启动DMA传输后,DMA控制器将批量数据送往LCD控制器,因此也可将LCD控制器看成FIFO类型的存储器外设。选择AvalonComponents-》LegacyComponents-》InterfacetoUserLogic,加入LCD控制器的IP核。3.3实际测试效果图实际测试是在Altera的DE2开发板上进行的。使用的LCD屏是夏普公司的800*600型号为LQ080V3DG01的TFTLCD屏,实际的显示效

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论