<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 光電顯示 > 設計應用 > 基于Zynq的圖形生成電路設計與實(shí)現

基于Zynq的圖形生成電路設計與實(shí)現

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

導讀: 為了適應機載液晶顯示器向低功耗、高集成度發(fā)展的趨勢,提出了一種基于Zynq可擴展處理平臺的圖形生成電路實(shí)現方法。

本文引用地址:http://dyxdggzs.com/article/201808/386777.htm

摘要:為了適應機載液晶顯示器向低功耗、高集成度發(fā)展的趨勢,提出了一種基于Zynq可擴展處理平臺的圖形生成電路實(shí)現方法。方法以Zynq為核心搭建硬件平臺,使用Zynq集成的ARM 處理器執行圖形生成算法運算,配合可編程邏輯資源,按照一種三緩沖機制對DDR3SDRAM 幀存數據進(jìn)行緩沖處理,實(shí)現圖形的實(shí)時(shí)生成.采用本設計可以生成多種分辨率的機載圖形畫(huà)面.實(shí)驗結果表明,當生成分辨率為1024×768的EFIS電子飛行顯示系統畫(huà)面時(shí),幀率可達74fps,能夠滿(mǎn)足機載液晶顯示器高性能實(shí)時(shí)顯示需求。

1 引言

在飛機座艙顯示系統中圖形顯示占據重要地位[1].主顯示器尺寸不斷加大,分辨率不斷提高,并日益朝著(zhù)大屏幕化、綜合化、信息化和智能化方向發(fā)展[2].隨著(zhù)分辨率的提高,要顯示的信息量也大幅增加,座艙圖形綜合顯示系統是一個(gè)對實(shí)時(shí)性要求很高的系統[3],軍用飛機在做戰術(shù)動(dòng)作時(shí),畫(huà)面變換速度快,要求圖形的更新速度也必須很快,至少要比幀或場(chǎng)的刷新速度快,才可以避免畫(huà)面的斷續[4G5].采用DSP+FPGA 的圖形硬件加速架構,或者使用專(zhuān)用GPU 圖形生成芯片,都可以生成高分辨的機載顯示器圖形,但隨之而來(lái)的是產(chǎn)品成本的急劇增加以及功耗的不斷上升[6].為機載圖形顯示系統配置更合理的硬件設計和軟件架構變得尤為迫切。

Xilinx最新平臺Zynq將處理器的軟件可編程能力與FPGA 的硬件可編程能力實(shí)現完美結合,以低功耗和低成本等系統優(yōu)勢實(shí)現良好的系統性能、靈活性和可擴展性[7].本文提出一種基于Zynq可擴展處理平臺的實(shí)時(shí)圖形生成電路,利用Zynq內部集成的ARM 處理器以及可編程邏輯資源,實(shí)現了機載顯示器圖形畫(huà)面的實(shí)時(shí)生成與顯示。

2 Zynq簡(jiǎn)介

2.1 Zynq構成

Zynq構架將內部結構分為處理器系統(ProcessingSystem,PS)與可編程邏輯(ProgrammableLogic,PL)兩部分[8].PS部分包括雙ARM CortexGA9內核、存儲器接口以及通用外設接口等資源.PL部分也即常規的FPGA,通過(guò)PL生成的IP核可以作為ARM 內核的擴展外圍設備或者ARM 內核的加速部件.Zynq器件內部結構圖如圖1所示。

圖1 Zynq內部結構圖

Zynq架構可以對PL和PS中運行的自定義邏輯和軟件方便地進(jìn)行管理和規劃,PS和PL的單芯片綜合使其在I/O 數據帶寬、功能耦合、功耗預算等方面的性能表現大大超越了以往ASSP和FPGA 雙芯片解決方案。

PS和PL可以通過(guò)多種途徑實(shí)現互聯(lián),包括GPIO端口、AXI總線(xiàn)端口、EMIO 端口、中斷、DMA 等等.其中AXI總線(xiàn)是ARM 系統中連接各個(gè)模塊的主要通道,各個(gè)功能部件通過(guò)AXI總線(xiàn)實(shí)現互聯(lián).在PL中可以通過(guò)工具自動(dòng)生成帶有AXI接口的IP 核,和PS 端進(jìn)行高速數據交互。

2.2 DDR Memory控制器

Zynq內部集成的DDR memory控制器支持DDR2、DDR3、LPDDR2等多種存儲器類(lèi)型,包含了3個(gè)主要模塊:AXI存儲器端接口DDRI、帶有傳輸調度機制的中央控制器DDRC 和物理層控制器DDRP[9].DDRmemory控制器框圖如圖2所示。

圖2 DDR Memory控制器框圖

DDRI端口符合AXI總線(xiàn)標準,包含4個(gè)64位的同步AXI接口,分別為S0、S1、S2、S3,用于接收多個(gè)AXI主端的訪(fǎng)問(wèn)請求,其中S0和S1端口接收PS部分CPU 的訪(fǎng)問(wèn)請求;S2和S3端口接收PL部分邏輯端的訪(fǎng)問(wèn)請求.DDRC對來(lái)自多個(gè)AXI主端的訪(fǎng)問(wèn)請求按照其調度策略進(jìn)行裁決,裁決實(shí)施的依據是主控端訪(fǎng)問(wèn)的優(yōu)先級、等待時(shí)長(cháng)計數器和緊急信號.DDRP 處理來(lái)自于DDRC的讀寫(xiě)請求,并將其轉換成符合DDR 存儲器時(shí)序要求的特定信號。

2.3 AXI VDMA

AXI VDMA 是Xilinx公司開(kāi)發(fā)的一個(gè)軟核IP,用于在系統存儲器和支持AXI4-Stream 視頻類(lèi)型的目標IP之間提供一個(gè)高速的數據存取通道[10].AXI4-Stream 格式數據流不能直接用于驅動(dòng)顯示,還需要將數據流以視頻使能信號為界進(jìn)行分割,配合行場(chǎng)同步信號驅動(dòng)視頻終端顯示。

該IP 有兩路AXI4-Stream 接口,分別為AXI Memory Map to Stream (MM2S)Stream Master 和AXI4-Stream to Memory Map(S2MM)Stream Slave,其中MM2S為主端口,用于輸出轉換成AXI4-Stream 格式視頻流的系統存儲器中數據.S2MM 為從端口,用于接收AXI4-Stream 格式視頻流轉換成存儲器數據.MM2S和S2MM 彼此相互獨立,可以并行同時(shí)工作.PS端的處理器可通過(guò)AXI4-Lite總線(xiàn)對其內部的寄存器進(jìn)行訪(fǎng)問(wèn)以控制VDMA 工作模式、獲取VDMA 工作狀態(tài)。

3 設計實(shí)現

3.1 硬件設計

3.1.1 硬件架構

本文通過(guò)Zynq完成圖形生成與顯示功能,原理框圖如圖3所示,硬件模塊主要包括Zynq、DDR3SDRAM、FLASH、雙口RAM 等.正常工作時(shí)PS中的ARM 內核根據從雙口RAM 中接收到的繪圖指令和參數完成繪圖算法,將圖形數據寫(xiě)入DDR3SDRAM 存儲器中.PL 從DDR3中讀出圖形數據進(jìn)行顯示,并對DDR3SDRAM中的圖形數據進(jìn)行清屏處理。

圖3 Zynq圖形生成原理框圖

3.1.2 Zynq硬件平臺設計

本文通過(guò)Xilinx 的ISE14.2 軟件集成的XPS開(kāi)發(fā)環(huán)境完成Zynq圖形生成電路的硬件平臺設計.利用XPS可以快速地對Zynq系統內的各種硬件資源進(jìn)行定制設計,包括存儲器、外設、ARM 處理器、系統IP和用戶(hù)IP等.Zynq硬件平臺結構圖見(jiàn)圖4所示.

圖4 Zynq硬件結構圖

本文在Zynq中的PL 部分應用了VDMA、AXI2XSVI、XSVI2AXI、VTC等幾個(gè)IP核,其中VDMA 用于從DDR3SDRAM 中讀出圖形數據,同時(shí)向DDR3SDRAM 中寫(xiě)入全零數據以達到清屏目的.AXI2XSVI用于將AXIGStream 數據流用行、場(chǎng)同步信號進(jìn)行區隔,供外部顯示模塊進(jìn)行顯示.XSVI2AXI用于將帶有行場(chǎng)同步信號的視頻數據轉換成AXIGStream 數據流.VTC 用于生成系統運行所需時(shí)序信號.對VTC根據顯示時(shí)序進(jìn)行修改,系統即可產(chǎn)生多種分辨率圖形畫(huà)面。

3.1.3 圖形緩沖設計

本文中對DDR3SDRAM 幀存的操作包括3種類(lèi)型:PS寫(xiě)入、PL讀取、PL清零.清零從本質(zhì)上說(shuō)也是一種寫(xiě)入操作,寫(xiě)入的是全零數據.讀取和寫(xiě)入請求通過(guò)DDR 控制器中的調度機制和仲裁策略分別在不同時(shí)刻得以響應,得益于DDR3SDRAM 的高速高帶寬優(yōu)勢,外部可以同時(shí)進(jìn)行多個(gè)通道的讀寫(xiě)操作.針對本文中DDR3SDRAM 的3種操作類(lèi)型,在DDR3幀存中設置了3個(gè)緩沖區,分別為buffer0,buffer1,buffer2,相應地,VDMA 中的framebuffer數目也設置為3.buffer的切換機制如表1所示.

這種三緩沖切換機制保證了寫(xiě)入的都是已清零完成的buffer,清零的都是已讀出完成的buffer,讀出的都是已寫(xiě)入完成的buffer。

根據buffer切換機制,VDMA 中的S2MM和MM2S通道分別以指定的buffer為操作對象.初始化狀態(tài)下為每個(gè)buffer指定默認的操作模式,而后在每個(gè)幀周期內啟動(dòng)VDMA 切換buffer操作模式,從而不間斷地輸出圖形數據。

3.2 軟件設計

3.2.1 Zynq系統軟件

系統繪圖時(shí),根據雙口RAM 提供的畫(huà)面內容要求,啟動(dòng)繪圖任務(wù),并將繪圖結果保存下來(lái).顯示工作完全由PL內部的顯示邏輯負責,顯示邏輯從顯存中讀取顯示數據,按照標準時(shí)序送至顯示接口.圖形軟件的接口關(guān)系如圖5所示.

圖5 圖形生成軟件接口示意圖


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

關(guān)鍵詞:

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>