新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM+FPGA架構(gòu)的三維圖形加速系統(tǒng)

基于ARM+FPGA架構(gòu)的三維圖形加速系統(tǒng)

作者: 時(shí)間:2011-08-29 來(lái)源:網(wǎng)絡(luò) 收藏

引言

本文引用地址:http://m.butianyuan.cn/article/150275.htm

  隨著處理的巨額運(yùn)算量,CPU變得不堪重負(fù)。此時(shí),需要使用特定的硬件設(shè)備來(lái)為嵌入式CPU承擔(dān)處理的任務(wù)。

  具有硬件能力的+嵌入式圖形就是其中一種解決方案。其中,處理器負(fù)責(zé)運(yùn)行嵌入式操作、執(zhí)行上層圖形應(yīng)用程序,而圖形處理所需的大量運(yùn)算則由實(shí)現(xiàn)的GPU(圖形處理單元)進(jìn)行。

  圖形API簡(jiǎn)介

  在圖形中預(yù)先定義了一組圖形API,作為一個(gè)抽象層將圖形應(yīng)用程序和圖形系統(tǒng)的具體實(shí)現(xiàn)隔離開(kāi)來(lái)。具體的圖形應(yīng)用程序都將通過(guò)這些圖形API來(lái)完成所有與繪制圖形相關(guān)的工作。這樣,同樣的應(yīng)用程序就可以在不同的目標(biāo)圖形系統(tǒng)上運(yùn)行。

  目前應(yīng)用較為廣泛的標(biāo)準(zhǔn)圖形API主要有Direct3D和OpenGL。OpenGL定義了與具體硬件實(shí)現(xiàn)無(wú)關(guān)的軟件接口,并且不受制于具體的窗體系統(tǒng)。

  本文選用23條OpenGL中最常用的API作為本系統(tǒng)的圖形API。在執(zhí)行應(yīng)用程序時(shí),具體的圖形API被轉(zhuǎn)換成GPU可以處理的渲染列表數(shù)據(jù)格式,從而將計(jì)算任務(wù)轉(zhuǎn)交由GPU完成,實(shí)現(xiàn)對(duì)圖形處理的硬件。

  系統(tǒng)硬件設(shè)計(jì)

  系統(tǒng)硬件結(jié)構(gòu)

  本文設(shè)計(jì)的嵌入式圖形系統(tǒng)由處理器的最小系統(tǒng)、實(shí)現(xiàn)的圖形、LCD控制器等功能模塊,以及常用外設(shè)接口電路組成,如圖1所示。

  

基于ARM+FPGA架構(gòu)的三維圖形加速系統(tǒng)硬件圖

  圖1 系統(tǒng)硬件結(jié)構(gòu)

  ARM處理器的最小系統(tǒng)是本系統(tǒng)的核心模塊,主要由嵌入式處理器、系統(tǒng)內(nèi)存SDRAM和FLASH存儲(chǔ)器組成。SDRAM為處理器運(yùn)行操作系統(tǒng)和執(zhí)行應(yīng)用程序提供內(nèi)存空間,F(xiàn)LASH用來(lái)存放系統(tǒng)引導(dǎo)代碼、操作系統(tǒng)內(nèi)核和應(yīng)用程序。

  圖形加速模塊是使用FPGA實(shí)現(xiàn)的嵌入式GPU,是系統(tǒng)能夠?qū)崿F(xiàn)硬件加速的關(guān)鍵部件。它通過(guò)內(nèi)部圖形處理流水線處理CPU生成的渲染列表,并最終形成像素?cái)?shù)據(jù)寫(xiě)入幀緩沖SRAM中供LCD進(jìn)行顯示。該模塊在三維圖形處理中使用固定功能的圖形處理流水線,如圖2所示。

  

圖形處理流水線示意圖

  圖2 圖形處理流水線示意圖

  圖形加速模塊在一片SRAM中生成完整幀數(shù)據(jù)后將其控制權(quán)交給LCD控制器,并使用另一片SRAM繼續(xù)下一幀數(shù)據(jù)的計(jì)算。在新的一幀數(shù)據(jù)完成后便再次與LCD控制器交換控制權(quán)。LCD控制器通過(guò)SRAM仲裁模塊從當(dāng)前顯示的幀緩存中讀出幀數(shù)據(jù),生成符合LCD顯示屏要求的時(shí)序,完成三維數(shù)據(jù)的顯示。

  系統(tǒng)中存在兩組LCD總線。一組是ARM處理器提供的LCD總線,用來(lái)顯示嵌入式操作系統(tǒng)的圖形用戶界面;另一組是進(jìn)行三維圖像顯示的LCD控制器的LCD總線??偩€切換模塊負(fù)責(zé)兩類(lèi)總線的切換,將合適的LCD總線掛接到LCD屏上進(jìn)行顯示。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉