基于FPGA的一種高速圖形幀存設計
幀存是圖形處理器與顯示設備之間的數據通道,所有要顯示的圖形數據首先是存放在幀存之中,然后才送出去顯示的,因此幀存的設計是圖形顯示系統設計的一個(gè)關(guān)鍵。傳統上,可以用來(lái)設計幀存的存儲器件有多種,如DRAM、VRAM、SDRAM及SRAM等。DRAM、VRAM及SDRAM屬于動(dòng)態(tài)存儲器,容量大、價(jià)格便宜,但速度比SRAM慢,而且在使用中需要定時(shí)刷新。當圖形處理器沒(méi)有外部專(zhuān)用刷新接口時(shí),就需要設計刷新電路,這給系統設計帶來(lái)不便。SRAM器件高速且接口簡(jiǎn)單,但是價(jià)格較貴、容量小。近年來(lái),隨著(zhù)SRAM容量的不斷增大和價(jià)格的不斷下降,在一些需要高速實(shí)時(shí)顯示的圖形顯示系統中,用高速SRAM設計圖形幀存越來(lái)越普遍。本文介紹已在項目中實(shí)際應用的采用雙SRAM幀存交替切換的高速幀存設計方法。詳細介紹應用FPGA設計幀存控制器,實(shí)現幀存的交替、上電清屏及借鑒電影遮光板原理實(shí)現單幀雙掃描的方法。
本文引用地址:http://dyxdggzs.com/article/189780.htm1 圖形顯示系統簡(jiǎn)介
圖1是某專(zhuān)用圖形顯示系統結構框圖,圖形顯示系統采用DSP+FPGA構架。圖形處理器采用AD公司的ADSP21061芯片;AMLCD采用Korry公司的KDM710全彩色液晶顯示模塊,該模塊為5×5英寸、600×600分辨率全彩色液晶顯示模塊,24位數字RGB輸入;兩個(gè)幀存A和B采用IDT公司的71V424L10V高速異步靜態(tài)RAM(讀寫(xiě)速度為10ns)。系統采用雙幀存輪流操作方法:當DSP向其中一個(gè)幀存寫(xiě)像素時(shí),由FPGA構成的幀存控制器將另一個(gè)幀存中的像素順序讀出,送給AMLCD顯示;反之亦然。圖形顯示系統通過(guò)IDT公司的71V04雙口RAM接收主機的顯示信息。圖1中的幀存控制器和視頻控制器由Xilinx公司的SpartanII芯片XC2S50實(shí)現。 視頻控制器產(chǎn)生KDM710顯示模塊所需的一些時(shí)序控制信號:行同步信號/HSYNC、場(chǎng)同步信號/VSYNC、數據使能信號DATA_EN和像素時(shí)鐘信號DCLK等。幀存控制器產(chǎn)生24位RGB顏色數據信號,該RGB數據信號與視頻控制器中的時(shí)序控制信號相配合,在液晶顯示屏上顯示出穩定的圖形。有關(guān)視頻控制器的設計方法參見(jiàn)文獻[2]。

2 幀存控制器設計
2.1總線(xiàn)切換模塊
圖2為幀存控制器總線(xiàn)切換模塊框圖。地址總線(xiàn)通過(guò)多路選擇器(MUX)切換,所有數據總線(xiàn)通過(guò)三態(tài)門(mén)掛在SRAM的數據總線(xiàn)上。幀存SRAM的數據總線(xiàn)上掛著(zhù)三路數據:一路是DSP的數據總線(xiàn)數據;一路是FPGA的數據總線(xiàn)數據;還有一路是系統上電清屏用的背景寄存器數據系統剛上電時(shí),幀存之中存放的是隨機數,畫(huà)面顯示的將是隨機畫(huà)面,需要將背景數據送入兩個(gè)幀存 ??偩€(xiàn)的切換由體切換信號Sel和上電清屏信號Clear控制。幀存控制器在上電時(shí),通過(guò)上電清屏時(shí)序將兩塊幀存中寫(xiě)入背景顏色數據。在上電清屏過(guò)程中,Clear信號為高。當Clear為高時(shí),兩個(gè)地址總線(xiàn)選擇器都選擇FPGA總線(xiàn),即FPGA的地址總線(xiàn)指向兩個(gè)幀存,兩個(gè)幀存的數據總線(xiàn)全指向背景數據寄存器,即三態(tài)門(mén)1、2、3和4關(guān)閉,而三態(tài)門(mén)5和6打開(kāi)。在上電清屏時(shí)序完成之后,幀存總線(xiàn)的控制由體選擇信號Sel控制。當DSP對幀存A進(jìn)行寫(xiě)操作時(shí),FPGA所產(chǎn)生的總線(xiàn)對幀存B進(jìn)行讀操作;反之亦然。如圖2所示,當Sel為高時(shí),DSP地址總線(xiàn)選擇幀存A,三態(tài)門(mén)1打開(kāi),三態(tài)門(mén)3、5關(guān)閉;FPGA地址總線(xiàn)選擇幀存B,相應的數據總線(xiàn)三態(tài)門(mén)4打開(kāi),2、6關(guān)閉。背景寄存器中的顏色數據可以由用戶(hù)自己定義。

評論