基于FPGA的一种高速图形帧存设计
发布时间:2008/5/28 0:00:00 访问次数:502
摘要:帧存是图形显示系统的核心部件之一,帧存的设计关系到系统的整体性能。介绍了一种高速图形帧存的设计方法。该高速帧存采用sram作为存储体,应用fpga实现双帧存交替切换、上电清屏等功能,并借鉴电影遮光板的原理实现单帧双扫描功能,增加了系统视频带宽。该帧存已在某型飞机座舱图形显示系统中获得成功应用。
关键词:图形帧存 仪表装置 lcd vhdl fpga
帧存是图形处理器与显示设备之间的数据通道,所有要显示的图形数据首先是存放在帧存之中,然后才送出去显示的,因此帧存的设计是图形显示系统设计的一个关键。传统上,可以用来设计帧存的存储器件有多种,如dram、vram、sdram及sram等。dram、vram及sdram属于动态存储器,容量大、价格便宜,但速度比sram慢,而且在使用中需要定时刷新。当图形处理器没有外部专用刷新接口时,就需要设计刷新电路,这给系统设计带来不便。sram器件高速且接口简单,但是价格较贵、容量小。近年来,随着sram容量的不断增大和价格的不断下降,在一些需要高速实时显示的图形显示系统中,用高速sram设计图形帧存越来越普遍。本文介绍已在项目中实际应用的采用双sram帧存交替切换的高速帧存设计方法。详细介绍应用fpga设计帧存控制器,实现帧存的交替、上电清屏及借鉴电影遮光板原理实现单帧双扫描的方法。
1 图形显示系统简介
图1是某专用图形显示系统结构框图,图形显示系统采用dsp+fpga构架。图形处理器采用ad公司的adsp21061芯片;amlcd采用korry公司的kdm710全彩色液晶显示模块,该模块为5×5英寸、600×600分辨率全彩色液晶显示模块,24位数字rgb输入;两个帧存a和b采用idt公司的71v424l10v高速异步静态ram(读写速度为10ns)。系统采用双帧存轮流操作方法:当dsp向其中一个帧存写像素时,由fpga构成的帧存控制器将另一个帧存中的像素顺序读出,送给amlcd显示;反之亦然。图形显示系统通过idt公司的71v04双口ram接收主机的显示信息。图1中的帧存控制器和视频控制器由xilinx公司的spartanii芯片xc2s50实现。 视频控制器产生kdm710显示模块所需的一些时序控制信号:行同步信号/hsync、场同步信号/vsync、数据使能信号data_en和像素时钟信号dclk等。帧存控制器产生24位rgb颜色数据信号,该rgb数据信号与视频控制器中的时序控制信号相配合,在液晶显示屏上显示出稳定的图形。有关视频控制器的设计方法参见文献[2]。
2 帧存控制器设计
2.1总线切换模块
图2为帧存控制器总线切换模块框图。地址总线通过多路选择器(mux)切换,所有数据总线通过三态门挂在sram的数据总线上。帧存sram的数据总线上挂着三路数据:一路是dsp的数据总线数据;一路是fpga的数据总线数据;还有一路是系统上电清屏用的背景寄存器数据系统刚上电时,帧存之中存放的是随机数,画面显示的将是随机画面,需要将背景数据送入两个帧存。总线的切换由体切换信号sel和上电清屏信号clear控制。帧存控制器在上电时,通过上电清屏时序将两块帧存中写入背景颜色数据。在上电清屏过程中,clear信号为高。当clear为高时,两个地址总线选择器都选择fpga总线,即fpga的地址总线指向两个帧存,两个帧存的数据总线全指向背景数据寄存器,即三态门1、2、3和4关闭,而三态门5和6打开。在上电清屏时序完成之后,帧存总线的控制由体选择信号sel控制。当dsp对帧存a进行写操作时,fpga所产生的总线对帧存b进行读操作;反之亦然。如图2所示,当sel为高时,dsp地址总线选择帧存a,三态门1打开,三态门3、5关闭;fpga地址总线选择帧存b,相应的数据总线三态门4打开,2、6关闭。背景寄存器中的颜色数据可以由用户自己定义。
2.2 控制模块
帧存控制器的控制模块产生体选择信号sel和上电清屏时序信号clear,控制模块的结构框图如图3所示。图中,/vsync是场同步信号,该信号经过一个微分电路,产生一个像素时钟周期宽的使能脉冲信号,控制计数器的计数使能。计数器为一模2计数器,sel信号为场同步信号/vsync的四分频,在出现两个场同步信号之后,才切换帧存,即两个帧存使用的顺序是:aabbaa...这种控制方式类似于电影遮光板的设计思想,使一幅画面在屏幕上重复出现两次,从而在25hz的帧频时能获得50hz的场频,使系统视频带宽增加一倍。如当场频50hz时,图形处理器可以有40ms的时间处理一帧图形数据。图4为帧存控制时序图,clear信号的产生过程如下:系统上电时,rst信号高一段时
摘要:帧存是图形显示系统的核心部件之一,帧存的设计关系到系统的整体性能。介绍了一种高速图形帧存的设计方法。该高速帧存采用sram作为存储体,应用fpga实现双帧存交替切换、上电清屏等功能,并借鉴电影遮光板的原理实现单帧双扫描功能,增加了系统视频带宽。该帧存已在某型飞机座舱图形显示系统中获得成功应用。
关键词:图形帧存 仪表装置 lcd vhdl fpga
帧存是图形处理器与显示设备之间的数据通道,所有要显示的图形数据首先是存放在帧存之中,然后才送出去显示的,因此帧存的设计是图形显示系统设计的一个关键。传统上,可以用来设计帧存的存储器件有多种,如dram、vram、sdram及sram等。dram、vram及sdram属于动态存储器,容量大、价格便宜,但速度比sram慢,而且在使用中需要定时刷新。当图形处理器没有外部专用刷新接口时,就需要设计刷新电路,这给系统设计带来不便。sram器件高速且接口简单,但是价格较贵、容量小。近年来,随着sram容量的不断增大和价格的不断下降,在一些需要高速实时显示的图形显示系统中,用高速sram设计图形帧存越来越普遍。本文介绍已在项目中实际应用的采用双sram帧存交替切换的高速帧存设计方法。详细介绍应用fpga设计帧存控制器,实现帧存的交替、上电清屏及借鉴电影遮光板原理实现单帧双扫描的方法。
1 图形显示系统简介
图1是某专用图形显示系统结构框图,图形显示系统采用dsp+fpga构架。图形处理器采用ad公司的adsp21061芯片;amlcd采用korry公司的kdm710全彩色液晶显示模块,该模块为5×5英寸、600×600分辨率全彩色液晶显示模块,24位数字rgb输入;两个帧存a和b采用idt公司的71v424l10v高速异步静态ram(读写速度为10ns)。系统采用双帧存轮流操作方法:当dsp向其中一个帧存写像素时,由fpga构成的帧存控制器将另一个帧存中的像素顺序读出,送给amlcd显示;反之亦然。图形显示系统通过idt公司的71v04双口ram接收主机的显示信息。图1中的帧存控制器和视频控制器由xilinx公司的spartanii芯片xc2s50实现。 视频控制器产生kdm710显示模块所需的一些时序控制信号:行同步信号/hsync、场同步信号/vsync、数据使能信号data_en和像素时钟信号dclk等。帧存控制器产生24位rgb颜色数据信号,该rgb数据信号与视频控制器中的时序控制信号相配合,在液晶显示屏上显示出稳定的图形。有关视频控制器的设计方法参见文献[2]。
2 帧存控制器设计
2.1总线切换模块
图2为帧存控制器总线切换模块框图。地址总线通过多路选择器(mux)切换,所有数据总线通过三态门挂在sram的数据总线上。帧存sram的数据总线上挂着三路数据:一路是dsp的数据总线数据;一路是fpga的数据总线数据;还有一路是系统上电清屏用的背景寄存器数据系统刚上电时,帧存之中存放的是随机数,画面显示的将是随机画面,需要将背景数据送入两个帧存。总线的切换由体切换信号sel和上电清屏信号clear控制。帧存控制器在上电时,通过上电清屏时序将两块帧存中写入背景颜色数据。在上电清屏过程中,clear信号为高。当clear为高时,两个地址总线选择器都选择fpga总线,即fpga的地址总线指向两个帧存,两个帧存的数据总线全指向背景数据寄存器,即三态门1、2、3和4关闭,而三态门5和6打开。在上电清屏时序完成之后,帧存总线的控制由体选择信号sel控制。当dsp对帧存a进行写操作时,fpga所产生的总线对帧存b进行读操作;反之亦然。如图2所示,当sel为高时,dsp地址总线选择帧存a,三态门1打开,三态门3、5关闭;fpga地址总线选择帧存b,相应的数据总线三态门4打开,2、6关闭。背景寄存器中的颜色数据可以由用户自己定义。
2.2 控制模块
帧存控制器的控制模块产生体选择信号sel和上电清屏时序信号clear,控制模块的结构框图如图3所示。图中,/vsync是场同步信号,该信号经过一个微分电路,产生一个像素时钟周期宽的使能脉冲信号,控制计数器的计数使能。计数器为一模2计数器,sel信号为场同步信号/vsync的四分频,在出现两个场同步信号之后,才切换帧存,即两个帧存使用的顺序是:aabbaa...这种控制方式类似于电影遮光板的设计思想,使一幅画面在屏幕上重复出现两次,从而在25hz的帧频时能获得50hz的场频,使系统视频带宽增加一倍。如当场频50hz时,图形处理器可以有40ms的时间处理一帧图形数据。图4为帧存控制时序图,clear信号的产生过程如下:系统上电时,rst信号高一段时