新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM和FPGA架構的三維圖形加速系統

        基于ARM和FPGA架構的三維圖形加速系統

        作者: 時間:2011-09-15 來源:網絡 收藏

          系統硬件實現

          本文選用S3C2410嵌入式處理器和Cyclone II系列實現以及其他功能模塊,輔以LCD屏、串口等外圍電路實現整個圖形系統。

          電源設計

          本系統需要多個不同電壓值的直流電源供電,包括5V、3.3V、1.8V和1.2V。其中5V電源從外部直流電源直接引入,而其他電壓值則由5V電壓變換得到。

          S3C2410的內核電壓為1.8V,外部I/O和存儲器電壓為3.3V。系統選用低壓差穩壓器AS1117實現這兩種電壓的轉換,固定輸出時只需三個引腳,如圖3所示。  

        1.8V電源電路
        圖3 1.8V電源電路

          本文使用TPS70345為提供1.2V內核電壓和3.3V IO電壓。

          ARM與接口電路

          生成三維圖形時,嵌入式微處理器上運行的圖形應用程序生成三維圖形的渲染列表,并將渲染列表寫入到FPGA的渲染列表緩沖區中,等待模塊的處理。ARM與FPGA接口電路既要保證可以完成渲染列表的寫操作,又要能夠對FPGA中總線接口模塊、模塊、LCD控制器等的內部寄存器進行讀寫操作。接口電路如圖4所示。  

        基于ARM和FPGA架構的三維圖形加速系統
        圖4 ARM與FPGA接口電路

          系統軟件設計

          系統軟件架構

          本文使用FPGA實現整個三維圖形處理流水線,由硬件完成三維圖形生成和處理。運行在操作系統上的圖形應用程序通過調用圖形API實現具體應用,而驅動程序將圖形API的調用轉換成渲染列表,從而將具體的三維圖形處理任務交給硬件完成,如圖5所示。  

        基于ARM+FPGA架構的三維圖形加速系統流程
        圖5 系統軟件架構

          考慮到嵌入式圖形系統除了進行三維圖形處理之外,還應當能夠為用戶提供友好的用戶圖形操作界面,本文采用了Windows CE操作系統。

          驅動程序設計

          設備驅動程序在操作系統和硬件設備之間建立了一個橋梁,讓操作系統能夠識別設備并為應用程序提供設備服務。

          本文中FPGA實現的圖形加速模塊作為一個設備掛接在系統中。系統在軟件上只需要將渲染列表寫到該設備的地址空間,因此本文使用了簡單的流式接口驅動,所有的流接口驅動程序都使用相同的一組流接口函數。

          渲染列表的傳遞是不需要反饋的,系統將渲染列表寫入設備(GPU)后并不需要從設備中獲取數據,因此流接口函數GPU_Read()并不需要實現具體功能,只在GPU_Write()中將渲染列表寫入到設備中。另外,系統在普通圖形界面和三維顯示兩種顯示模式下使用的是不同的LCD控制器。前者使用S3C2410中集成的LCD控制器,而后者使用的是FPGA模塊中實現的LCD控制器,兩種模式下通過LCD總線切換模塊進行切換。

          結語

          本文設計了基于ARM和FPGA的嵌入式圖形系統,使用FPGA在硬件上實現三維圖形處理,緩解嵌入式CPU在處理三維圖形時因計算量過大而導致系統效率降低的問題。圖像顯示符合人眼對圖像連續性的要求。


        上一頁 1 2 下一頁

        關鍵詞: FPGA 圖形加速

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 苏州市| 丁青县| 宁强县| 惠水县| 广水市| 天等县| 五台县| 辽宁省| 花莲市| 伊金霍洛旗| 个旧市| 嫩江县| 临沂市| 孝昌县| 安阳市| 中方县| 博爱县| 通河县| 都安| 屏山县| 张家界市| 富裕县| 青海省| 邹城市| 庆安县| 天峻县| 分宜县| 乌鲁木齐县| 玉树县| 青州市| 达孜县| 西丰县| 利川市| 五峰| 阿城市| 满洲里市| 沅江市| 丹巴县| 宜君县| 岢岚县| 额济纳旗|