e-works数字化企业网  »  文章频道  »  产品创新数字化(PLM)  »  EDA

基于Niosll的TFT-LCD控制器设计与实现

2008/9/22    来源:万方数据    作者:杨亮亮  凌朝东  李国刚  刘一平      
关键字:NiosII  LCD控制器  IP核  
随着液晶显示器在便携式嵌入式产品中得到了愈来愈广泛的应用.本文基于Altera公司的NiosII软核处理器,在FPGA芯片上完成了一种TFT-LCD控制器的设计。该控制器具有支持多种颜色深度、根据不同LCD面板的参数而可配置等特点,支持大部分通用的TFT-LCD面板。使用硬件描述语言和Altera公司的EDA软件Quartus II V7.O进行设计.并完成KTL级仿真与布局布线后的后仿真及板级验证。

    引言

    液晶显示器(I.quid crystal display,LCD)以其体积小、平板化、无辐射、低功耗和接口数字化等特点在便携式嵌入式产品中得到了愈来愈广泛的应用,有着非常广阔的市场前景。但是LCD屏的生产厂商很多,标准也不统一,不同厂家的LCD屏常常不能与一般的LCD控制器无缝连接。而LCD屏厂家推荐使用的其为LCD屏专门设计的时序芯片价格较高,性能却不见得好,而且外部接口逻辑需要重新设计,附加功耗等。为了最大限度地解决以上的问题,同时为了实现单片系统的设计目标,本文提出了基于SOPC(system on programmable chip)技术,采用嵌入式Nios|I软核处理器,在FPGA芯片上完成了高性能TFT-LCD控制器的设计。

    1 设计要求与整体结构介绍

    本设计实现的TFT-LCD控制器采用VerilogHDL设计,支持多种颜色深度(每个像素采用几位编码)模式,同时适用于具有不同参数的TFT-LCD面板。控制器中图像数据缓存器image_fifo采用片内FIFO,大小为256x24bit,也可以根据需要进行调整。图像数据采用DMA传输方式,通过总线主端口突发块传输方式实现从原始图像数据存储器image-ram到片上图像数据缓存器image_fifo的自动数据读取。

    TFT-LCD控制器设计要求:独立的行/列同步信号:

    支持24bpp、18bpp、16bpp、8bpp、4bpp和自定义颜色深度模式:最大支持液晶屏幕大小是1,024×1,024像素;具有256x24bit的调色板;支持Avalon总线:输出数据24bitRGB(8:8:8);DMA传输模式。

    典型的液晶显示应用系统包括如下几个部件:液晶显示器,液晶显示控制器,总线,MCU,显示存储器。液晶显示控制器在显示系统中起着关键的作用。本设计采用自顶向下的设计方法,根据液晶显示控制器设计要求,可把其划分为4个主要组成模块:接口模块、内存模块、数据处理模块和时序产生模块,图1是系统的结构图。

    2详细设计

    2.1MCU与总线的选择

    MCU是一个显示系统的核心,它负责整个系统包括对液晶显示控制器的配置,同时处理生成需要被显示的数据并保存在显示存储器中,为控制器提供原始的显示数据。在系统初始化时,MCU负责根据软件的需要和液晶显示器的参数来配置显示控制器,待配置完成后启动显示控制器开始显示图像。在显示过程中,MCU负责接受处理控制器发出的中断信号,检查中断类型,并作出相应的处理。

    本设计选用的是Altera公司推出的嵌入式Niosll软核处理器,该处理器具有最高能达到200DMIPS的性能。Niosll处理器允许用户增加自定义指令和自定义硬件加速单元,无缝移植自定义外设和接口逻辑,在性能提升的同时,方便了用户的设计。

    图1系统结构图

    基于NiosIl软核处理器的SOPC系统采用的是Avalon交换式总线,该总线是Altera开发的一种专用的内部连线技术。Avalon交换式总线由Altera开发的EDA设计工具SOPC Builder自动生成,是一种用于系统处理器、内部模块以及外设之间的内联总线。Avalon交换式总线使用最少的逻辑资源来支持数据总线的复用、地址译码、等待周期的产生、外设的地址对齐(包括支持原始的和动态的总线尺寸对齐)、中断优先级的指定以及高级的交换式总线传输。在传统的总线控制模式下,当一个master占用总线时,其它的单元不能同时使用,而Avalon总线却允许他们共享。

    2.2接口模块设计

    接口模块是作为Avalon总线的从接口,主要是实现Avalon总线从接口的信号定义与一组寄存器的定义。在系统启动之前,处理器通过Avalon总线对控制器的一组寄存器进行配置及读取状态。这组寄存器包括:控制寄存器、时序寄存器、状态寄存器、DMA传输地址寄存器和中断寄存器。具体的寄存器功能如表1所示。

    其中,控制寄存器的Edma位是用来启动DMA,Pmode位用来选择颜色显示模式(24bpp、18bpp、16bpp、12bpp、8bpp、4bpp和自定义颜色模式),Eirq位用来使能中断,5-14位为LCD屏水平尺寸大小,15-24位为LCD屏的垂直尺寸大小,由此可见该控制器最大支持屏幕大小是1,024X1,024像素,其他位为保留位。时序寄存器是用来产生LCD工作时所需要的时序参数,如LCD的像素扫描频率参数、行扫描频率参数、列扫描频率参数等。状态寄存器用来查询中断状态。DMA地址寄存器用来设置和查询DMA传输的起始地址。中断寄存器用来判断中断来源和清除中断状态。

    表1LCD控制器的寄存器组

责任编辑:赵蔓
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐