SG-DMA模式液晶显示模块的设计

2013-07-07 10:27胡海波
黑龙江工程学院学报 2013年1期
关键词:液晶显示视频信号液晶屏

马 成,胡海波,贺 纲

(黑龙江工程学院 电气与信息工程学院,黑龙江 哈尔滨150050)

目前,常用的液晶显示控制器主要有两种:一种是将LCD液晶显示模块的控制信号、驱动信号和动态显示存储器集成到单片IC中,做成专用的液晶控制芯片。例如SSD1289、SED1335等,这种专用集成控制芯片经常与相对应的液晶屏做到一块电路板中,或者将这些液晶驱动芯片以特殊的封装形式直接集成到液晶屏中,形成液晶屏模块,直接购买这些模块进行实验或产品开发。一种是以FPGA为核心,配合一些模拟驱动芯片和作为显存的RAM芯片构成LCD液晶屏的控制系统。这两种控制方法各有利弊,第一种利用专用芯片的控制方法,使用方便,可以缩短产品的开发周期,但是成本高,灵活性差。第二种利用分立元件的LCD控制系统,利用系统现有的FPGA资源,增加液晶控制的灵活性,由于此时要加外部显存,成本降低有限。

本文提出了第三种控制LCD显示器的方法,本方法基于ATERA公司提供的FPGA内嵌Niosii内核构成的嵌入式系统平台,再利用Niosii内核中SG-DMA和同步视频信号发生器两个组件相结合来控制LCD液晶显示器,这种方法不用外扩RAM单独作为显存,而是利用Niosii系统RAM的部分单元作为显存,进而降低了产品成本和体积,提高了LCD液晶显示器的控制速度。

1 基于FPGA芯片Niosii软核的构建

在ALTERA的开发环境quartus II中,直接利用Tools下面的SOPC Builder工具定制所需要的Niosii软核[3]。这里必须选择的组件有处理器Niosii Processor,分为经济型、快速型和标准型3种;桥接适配器Bridges and Adapters,内存和内存控制器Memories and Memory Controllers,还有用于调试的JTAG to Avalon Master Bridge。其余的组件,比如标准输入输出管脚IO、串行口、SPI、USB等外围设备可以根据自己的需要定制,定制界面如图1所示。

图1 Niosii软核及外围组件的定制

2 SG-DMA组件的工作模式及配置方法

ALTERA公司的开发工具Quartus ii的最新版本,除了原有的基于avalon-mm总线的DMA之外[8],增加了 SG-DMA(Scatter-Gather DMA Controller)这种基于avalon-ST流总线的DMA IP核,更适合于大量数据流传输的场合,使用起来比较灵活,增加了与外设流器件配合的能力。将CPU的数据存储器SDRAM分割出一部分用作显存是本文的核心思想。要想实现SDRAM共享,还不会产生数据冲突,就需要定制Nios ii内核中的一个重要组件,就是Memories and Memory Controllers下面的 SG-DMA (Scatter-Gather DMA Controller)组件。根据所需显存位宽、显存大小等要求对SGDMA组件进行设置。

SG-DMA控制器内核与外设存储器的数据传输如图2所示。SG-DMA数据传输模式一共有3种:1)存储器到存储器(Memory to memory),2)数据流到存储器(Data stream to memory),3)存储器到数据流(Memory to data stream)。SGDMA组件将非连续内存数据传送到另一个连续的地址空间,反之亦可。在实际的应用中可以有不止一个DMA通道,每个通道具有单独的描述符来定义数据传输模式。Nios ii用一个独立的软件模块控制所有的DMA通道。

图2 SG-DMA控制器内核与外设存储器的数据传输

本文选择的是存储器到数据流传输模式,SGDMA组件之间将Nios ii CPU写入SDRAM中的显示数据传到内部数据流部件FIFO中,FIFO再通过数据格式转换组件把显存数据送到同步视频信号发生器,最后利用同步视频信号发生器产生出合适的信号去控制液晶,直接显示文字或图形。由于SG-DMA增加了Descriptor Processor,可以实现批量工作,从而进一步减轻Nios ii主处理器的工作负担,只需要将Descriptor命令字写入到相应的Descriptor memory中即可。descriptor memory的设置,原则上只要带有avalon-mm接口的存储器都可以用来做descriptor memroy,因此,将decriptor memory与主存分离,由于要把主存的一部分作为显存来用,本文直接使用主存的一部分作为descriptor memroy。另外,SG-DMA的有关设置,例如channel和error的位数控制可以参考avalon-st流接口数据手册,依照需要设置接口。

3 同步视频信号发生器模块的驱动

ALTERA公司为了方便用户对液晶屏幕的驱动,利用SOPC Builter为Nios ii处理器定制适应各种液晶屏幕的视频信号发生器(video sync generator)。同步视频信号发生器接收RGB格式的连续显示数据流,按照合适的时序输出到片外的液晶显示控制器中。按照不同显示分辨率和同步时序对视频信号发生器进行配置。

为了使同步视频信号发生器能够得到合适的输入信号,还需要在SG-DMA之后加入FIFO、Pixel Converter和Data Format Adapter 3个组件,连接方式如图3所示。其中FIFO组件负责数据缓存,Pixel Converter组件负责把像素显示数据转换成适合同步视频信号发生器接收格式的数据,Data Format Adapter组件负责把1组24位的数据流转换成3组不同颜色的8位数据流,最后输送到视频信号发生器组件的输入端。这4个Nios ii软核的组件详细设置可查阅ALTERA的相关文档。

图3 显示同步视频信号发生器驱动流程

4 SG-DMA组件的软件控制

为了方便用户控制SG-DMA组件,ALTERA公司将Nios ii底层驱动程序集成到一个称作HAL的系统库。直接调用HAL库中的代码控制SGDMA工作。应用时必须将altera_avalon_sgdma_descriptor.h、altera_avalon_sgdma_regs.h和altera_avalon_sgdma.h 3个文件包含到头文件中。基本思路是:先设置好SG-DMA的基本配置,然后设置好SG-DMA的回调函数,最后启动SG-DMA完成DMA发送。由于本文是利用SG-DMA来控制外围设备液晶屏幕,因此,这里只涵盖了SG-DMA从内存读取数据到数据流的过程,具体程序流程如图4所示。

4 SG-DMA软件程序流程

5 应用DE0开发板实现液晶显示

按照上文的方案,构建出驱动LCD液晶显示的整体系统如图5所示。这里的FPGA控制板采用ALTERA公司官方发布的一款FPGA开发板(型号DE0),核心FPGA芯片是EP3C16F484C6。液晶屏采用夏普5.7寸LQ057Q3DG02,分辨率为320×240,信号接口是并行RGB信号。经过实际验证,本文提出的控制液晶屏显示方案确实可行,可以方便地控制各种带有标准RGB信号接口的液晶显示器,应用到实际项目中。

图5 开发板和液晶屏连接

6 结束语

实验证明,利用本文Nios ii内核组件控制LCD液晶屏幕的方法是可行的。显示文字和图形的效果非常好,屏幕更新速度快,可以流畅地显示动态图像。本系统的创新点是巧妙地利用Nios ii内核SGDMA等组件,将Nios ii CPU本身使用的SDRAM部分空间作为显存,即节省了硬件成本,又简化了电路板布线的复杂程度,提高了系统的可靠性。本系统可以灵活定制显存的大小,根据不同型号液晶屏来设置视频信号发生器的数据输出格式。本方案接口电路灵活,稳定可靠,广泛应用到各种工业显示系统中。

[1]陈卓,杨爱良,王骥.基于PLB总线的多通道SGDMA设计[J].航空电子技术,2009(1):12-15.

[2]王慧,郭攀锋.液晶显示控制器ST7565R的研究与编程[J].电子技术应用,2009(12):53-56.

[3]李兰英.Nios II嵌入式软核SOPC设计原理及应用[M].北京:北京航空航天大学出版社,2006:25-40.

[4]彭宏,曾江波.基于SOPC的GPONONU硬件平台设计与实现[J].光通信技术,2009(7):38-41.

[5]秦进平,刘海成,周正林.数字电子与EDA技术[M].北京:科学出版社,2011:108-135.

[6]刘建平,曾文海.采用FPGA的LCD转VGA控制器的设计[J].计算机系统应用,2011(10):71-73.

[7]陈重,李浩,陈曦.新型高分辨率LCD控制器的设计与实现[J].电子技术应用,2011(6):123-126.

[8]鲍凯凯,彭华,郑彪.MSP430采样数据与外设间的DMA传输[J].信息技术,2011(10):139-141.

[9]李钢.STM32直接驱动RGB接口的TFT数字彩屏设计[J].单片机与嵌入式系统应用,2011(8):28-30.

[10]彭晴晴,孟令军.基于NiosⅡ的LVDS图像数据缓存系统的设计[J].电视技术,2011(13):28-30.

猜你喜欢
液晶显示视频信号液晶屏
基于STM32F4的多通道串口驱动TFT液晶屏显示系统设计
浅析新一代视频信号ICtCp
短距视频信号无线通信网络
一种消除液晶屏高温MURA的工艺研究
基于机器视觉的液晶屏字符缺陷检测系统设计
122×32 点阵液晶显示汉字原理实验
基于图像处理的电能表液晶屏质量检测方法
小飞鸽ZY—2250D数字机无视频输出故障的应急处理
界面致稳型柔性胆甾相液晶显示器件的制备与性能
从马吕斯定律到液晶显示原理