基于ARM+FPGA架構(gòu)的三維圖形加速系統(tǒng)
設(shè)備驅(qū)動(dòng)程序在操作系統(tǒng)和硬件設(shè)備之間建立了一個(gè)橋梁,讓操作系統(tǒng)能夠識(shí)別設(shè)備并為應(yīng)用程序提供設(shè)備服務(wù)。
本文中FPGA實(shí)現(xiàn)的圖形加速模塊作為一個(gè)設(shè)備掛接在系統(tǒng)中。系統(tǒng)在軟件上只需要將渲染列表寫到該設(shè)備的地址空間,因此本文使用了簡單的流式接口驅(qū)動(dòng),所有的流接口驅(qū)動(dòng)程序都使用相同的一組流接口函數(shù)。
渲染列表的傳遞是不需要反饋的,系統(tǒng)將渲染列表寫入設(shè)備(GPU)后并不需要從設(shè)備中獲取數(shù)據(jù),因此流接口函數(shù)GPU_Read()并不需要實(shí)現(xiàn)具體功能,只在GPU_Write()中將渲染列表寫入到設(shè)備中。另外,系統(tǒng)在普通圖形界面和三維顯示兩種顯示模式下使用的是不同的LCD控制器。前者使用S3C2410中集成的LCD控制器,而后者使用的是FPGA模塊中實(shí)現(xiàn)的LCD控制器,兩種模式下通過LCD總線切換模塊進(jìn)行切換。
結(jié)語
本文設(shè)計(jì)了基于ARM和FPGA的嵌入式圖形系統(tǒng),使用FPGA在硬件上實(shí)現(xiàn)三維圖形處理,緩解嵌入式CPU在處理三維圖形時(shí)因計(jì)算量過大而導(dǎo)致系統(tǒng)效率降低的問題。圖像顯示符合人眼對(duì)圖像連續(xù)性的要求。
評(píng)論