• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種紅外仿真圖像數(shù)據(jù)流播放器設(shè)計與實現(xiàn)

      2018-04-25 07:36:48揚剛
      計算機測量與控制 2018年4期
      關(guān)鍵詞:播放器存儲器內(nèi)核

      ,揚剛,,

      (中國酒泉衛(wèi)星發(fā)射中心,甘肅 酒泉 732750)

      0 引言

      紅外圖像以其獨特的成像特點和復(fù)雜天氣條件下的適應(yīng)能力,已經(jīng)成為發(fā)射場光電經(jīng)緯儀最重要的目標跟蹤測量、景象獲取和輻射特性測量的手段。而目前光學(xué)仿真訓(xùn)練系統(tǒng)主要針對可見光測量系統(tǒng),紅外圖像的仿真訓(xùn)練系統(tǒng)研究較少。為滿足仿真訓(xùn)練的需求,實現(xiàn)不同任務(wù)目標的成像和飛行姿態(tài)仿真,以及環(huán)境背景的仿真,采用增強現(xiàn)實的思想,提出基于紅外虛擬目標與真實背景融合的紅外圖像仿真方法,提升仿真訓(xùn)練效果,該方法采用高速實時數(shù)據(jù)流的播放技術(shù),因此,研究高速實時數(shù)據(jù)流播放器成為實現(xiàn)紅外圖像仿真的關(guān)鍵。

      目前,現(xiàn)有的大眾型多媒體播放器通常是一種集成音頻、視頻、圖片瀏覽于一體的多功能播放器。由于主要應(yīng)用于人眼觀賞,所以一般存在格式比較固定,播放的幀頻較低等不足?,F(xiàn)有的播放器技術(shù)存在的問題突出表現(xiàn)為以下幾點:

      1)通用的基于專用ASIC的播放器,以大眾化視聽為目的,格式固定,各種性能指標都比較低,不能滿足專業(yè)領(lǐng)域的需求;

      2)一些簡單的僅使用FPGA實現(xiàn)的圖像播放器,由于FPGA內(nèi)部存儲器非常小,都是播放固定格式的單幀圖像,主要用來測試電路的時序關(guān)系正確性,無法滿足高帶寬、高幀頻的需求。

      3)目前的播放器都不具備實時圖像與仿真圖像信息合成的功能,不能實現(xiàn)同時輸入和輸出。

      為了滿足光電經(jīng)緯儀仿真訓(xùn)練系統(tǒng)對高速實時數(shù)據(jù)流播放的需求,本文提出了一種基于FPGA和DSP技術(shù)實現(xiàn)的紅外圖像仿真高速實時數(shù)據(jù)流播放器,實現(xiàn)高帶寬、高幀頻、高分辨率的圖像流數(shù)據(jù)的實時輸出,用于光電經(jīng)緯儀仿真訓(xùn)練系統(tǒng)的紅外仿真圖像的高速實時播放。

      1 高速實時數(shù)據(jù)流播放器總體設(shè)計

      播放器主要包括了FPGA芯片(Xilinx公司的XC5VLX110T)、DSP芯片(TI公司的TMS320C6474)以及時鐘芯片、FLASH存儲器、DDR2存儲器、SFP千兆網(wǎng)模塊以及SFP光模塊等。

      播放器工作的3個過程,即圖像采集、虛擬目標疊加、圖像發(fā)送,3個過程并行執(zhí)行。整個處理模塊的輸入與輸出接口為圖像輸入光纖口和圖像輸出光纖口、編碼器輸入串口、虛擬目標輸入千兆網(wǎng)口。DSP芯片具有3個獨立的內(nèi)核,每個內(nèi)核具有完全對等的結(jié)構(gòu)和功能。根據(jù)播放器的應(yīng)用需求,播放器具有虛擬目標圖像接收功能、虛擬目標與真實背景融合功能、真實背景圖像輸入與融合圖像輸出功能。每個功能賦給1個獨立的DSP內(nèi)核去完成。其中,DSP的第一個內(nèi)核用來負責(zé)與外部主機進行千兆網(wǎng)絡(luò)通信,DSP的第二個內(nèi)核用來接收外部的串口數(shù)據(jù)輸入及進行疊加算法運算,DSP的第三個內(nèi)核負責(zé)與FPGA進行SRIO通信,將FPGA芯片中FIFO內(nèi)的數(shù)據(jù)搬運到DSP的第三個內(nèi)核的RAM中,并把RAM 中的數(shù)據(jù)傳輸?shù)酵獠緿DR2中。DSP的3個內(nèi)核都可以訪問外部DDR2,通過訪問外部DDR2可以實現(xiàn)3個內(nèi)核之間的數(shù)據(jù)共享。

      疊加算法運算由DSP的第二個內(nèi)核來完成。第二個內(nèi)核在每次幀中斷來時,采集實時編碼器數(shù)據(jù),把虛擬目標的指向編碼器與實時編碼器進行比對計算出像素偏移量,在采集好的圖像合適位置疊加上虛擬目標,并進行邊緣融合處理,使得虛擬目標與背景融合效果更逼真。虛擬目標圖像數(shù)據(jù)通過千兆網(wǎng)傳輸,由DSP的第一個內(nèi)核接收并緩存至DDR2。

      經(jīng)過疊加處理后的增強現(xiàn)實圖像信息在外部DDR2上,DSP的第三個內(nèi)核首先從DDR2中分批傳輸圖像到第三個內(nèi)核的L2中,再通過SRIO接口把L2的數(shù)據(jù)發(fā)送到FPGA,在FPGA中實現(xiàn)電光轉(zhuǎn)換發(fā)送出去。

      播放器總體結(jié)構(gòu)如圖1所示。在上電后, FLASH存儲器中的代碼自動加載到FPGA芯片內(nèi)部開始工作,通過千兆網(wǎng)模塊將仿真圖像發(fā)送到DDR2存儲器上緩存,F(xiàn)PGA芯片讀取DDR2存儲器中的疊加圖像并進行電光轉(zhuǎn)換,發(fā)送到光模塊輸出,實現(xiàn)整個虛擬目標疊加的功能。FLASH存儲器與FPGA芯片連接,F(xiàn)LASH存儲器用于存儲FPGA代碼,加載代碼后驅(qū)動FPGA芯片進行數(shù)據(jù)處理;DDR2存儲器與DSP芯片連接,DDR2存儲器用于存儲仿真圖像;FPGA芯片與DSP芯片連接,用于實現(xiàn)從DDR2存儲器中讀取圖像數(shù)據(jù)發(fā)送到FPGA芯片對應(yīng)的FPGA內(nèi)部串行口上;光模塊與FPGA芯片連接,用于將FPGA串行通道上的數(shù)據(jù)通過光模塊發(fā)送到外部光纖通道;千兆網(wǎng)模塊與DSP芯片連接,用于將外部產(chǎn)生的仿真圖像通過千兆網(wǎng)模塊和DSP芯片傳輸?shù)紻DR2存儲器上。

      圖1 播放器總體結(jié)構(gòu)圖

      2 關(guān)鍵算法實現(xiàn)

      2.1 多級緩存?zhèn)鬏數(shù)妮斎肟刂?/h3>

      圖2所示為播放器多級緩存?zhèn)鬏數(shù)妮斎肟刂七壿媹D。利用該控制邏輯,實現(xiàn)了外部圖像數(shù)據(jù)通過光纖輸入到FPGA內(nèi)部的GTP緩存控制器,再由SRIO輸入到DSP的DDR2存儲器。該多級緩存?zhèn)鬏數(shù)妮斎肟刂七壿嬀唧w算法如下:

      圖2 播放器多級緩存?zhèn)鬏數(shù)妮斎肟刂七壿媹D

      1)光纖圖像接收解析模塊,根據(jù)上述設(shè)計的光纖圖像幀格式、包格式,解析出需要的幀首信號、幀尾信號、16位圖像原始數(shù)據(jù)、原始數(shù)據(jù)有效信號。

      2)在FPGA內(nèi)部構(gòu)建一個256 Kbit的FIFO緩沖區(qū)。解析出的幀首信號作為FIFO的復(fù)位信號,16位原始數(shù)據(jù)有效信號作為該FIFO的寫使能,16位圖像原始數(shù)據(jù)連接到FIFO的數(shù)據(jù)輸入端口?;谶@樣的寫邏輯,實現(xiàn)了外部光纖圖像數(shù)據(jù)不斷輸入到內(nèi)部FPGA的FIFO中。但是這個FIFO的容量有限,不能保存下一幅完整的圖像,因此需要下面的讀邏輯來讀取FIFO內(nèi)的數(shù)據(jù)。

      3)構(gòu)造一個讀控制邏輯。讀邏輯由FIFO的wr_data_count信號來決定是否對FIFO進行讀取,設(shè)置門限為2 Kbit,即wr_data_count信號大于1023后,啟動SRIO使能信號igen_bypass_vld_i信號。每啟動1次后,能夠以3.125 Gbps的數(shù)率傳輸2 Kbit到DSP端。在A步驟中,外部原始圖像數(shù)據(jù)光纖傳輸數(shù)率為2.5 Gbps,小于讀數(shù)據(jù)速率。因此,F(xiàn)IFO能夠完整接收并完全轉(zhuǎn)移一幅完整圖像,而且FIFO不會產(chǎn)生溢出。

      4)由FPGA的FIFO中讀取的圖像數(shù)據(jù),通過SRIO接口輸出到了DSP端的內(nèi)部L2RAM中,然而可用于圖像緩存的L2RAM容量只有256 Kbit,不能緩存下一幅完整圖像,因此設(shè)計了兩個128 Kbit的緩存用來做乒乓(PingPong)接收,在步驟3)中構(gòu)建一個SRIO,每傳輸完128 Kbit產(chǎn)生一個脈沖信號go_gpio7_s,該信號通過GPIO輸出到DSP中,作為DSP進行乒乓切換的中斷源。

      5)當Ping部分在接收SRIO數(shù)據(jù)時,通過DMA的方式將Pong中的數(shù)據(jù)從L2RAM讀走輸出到DDR2中。從L2RAM到DDR2的數(shù)據(jù)讀走數(shù)率為3.2 Gbps,該速率大于SRIO寫入L2RAM的速率。因此,可以保證傳輸過程中L2RAM不會發(fā)生溢出。

      重復(fù)1)~5)的步驟,實現(xiàn)光纖圖像數(shù)據(jù)不間斷地送到DSP外部DDR2的緩存。從各級緩存數(shù)據(jù)傳輸速率可以看出,光纖速率小于SRIO速率,SRIO速率小于L2RAM搬運到DDR2速率,使用上述多級緩存輸入控制邏輯算法可以實現(xiàn)實時背景圖像的輸入。

      2.2 多級乒乓切換的輸出控制

      虛擬目標疊加功能從外部來看,每次輸出一幀圖像;從內(nèi)部來看,輸出過程首先由DSP發(fā)出圖像傳輸開始信號,然后將圖像分成很多小塊,逐次將每小塊數(shù)據(jù)通過SRIO發(fā)送到FPGA內(nèi)部FIFO中,再將FIFO內(nèi)的圖像數(shù)據(jù)通過包格式轉(zhuǎn)換后發(fā)送到GTP端口上。圖像數(shù)據(jù)就不間斷地從DDR2上的原始格式轉(zhuǎn)換到光纖上的包格式數(shù)據(jù),從而完成每幀圖像的輸出。因此,設(shè)計一種基于多級乒乓切換的虛擬目標疊加圖像的數(shù)據(jù)輸出算法。

      圖3所示為播放器多級乒乓切換的輸出控制邏輯圖。主機上虛擬目標疊加的圖像數(shù)據(jù)首先通過網(wǎng)絡(luò)發(fā)送到裝置在DSP上的連續(xù)DDR2存儲器中,即圖中的DDR2_圖像流區(qū)域,該圖像流為圖像的壓縮格式,以便提高緩存的相對容量,圖像解壓縮目標區(qū)域為DDR2_LOOPA/B,啟動虛擬目標疊加圖像輸出后,圖像數(shù)據(jù)從DDR2_LOOPA或DDR2_LOOPB中不斷切換輸出到DSP的內(nèi)部L2RAM_a或L2RAM_b上。然后SRIO控制器將L2RAM_a或L2RAM_b中的圖像塊數(shù)據(jù)通過treq_data的32位數(shù)據(jù)線發(fā)送到FIFO中,輸出有效信號為treq_vld_n信號,GTP緩存控制器根據(jù)FIFO的狀態(tài),當FIFO內(nèi)字節(jié)數(shù)到達2 kbit后,便開始往GTP端口輸出FIFO中的數(shù)據(jù)。這樣,通過DSP程序控制SRIO控制器,不間斷地把DDR2上的圖像流數(shù)據(jù)發(fā)送到外部SFP光纖上,從而實現(xiàn)了的疊加圖像的數(shù)據(jù)輸出。

      圖3 播放器多級乒乓切換的輸出控制邏輯圖

      2.3 圖像緩存循環(huán)隊列控制

      圖4所示為播放器圖像緩存循環(huán)隊列控制圖。將DSP的DDR2存儲器分割成3個功能循環(huán)的區(qū)域DDR2_LOOP0、DDR2_LOOP1、DDR2_LOOP2。

      圖4 播放器圖像緩存循環(huán)隊列控制圖

      播放器圖像緩存循環(huán)隊列控制算法如下:

      1)在FPGA中,通過光纖圖像接收解析模塊,解析出幀首信號。通過GPIO輸出到DSP中作為圖像幀頭信號中斷源。該中斷用來初始化若干變量,圖像幀號(FRAME_CNT)統(tǒng)計等。

      2)光測設(shè)備實時背景圖像通過光纖接口(2.5 Gbps)進來,在FPGA內(nèi)部進行光電轉(zhuǎn)換,通過DSP與FPGA之間的SRIO接口(3.125 Gbps)把圖像數(shù)據(jù)輸入到DSP的內(nèi)核緩存(L2)中,接著把L2中的圖像數(shù)據(jù)通過DMA方式傳到DSP的外部DDR2中,一幀圖像要經(jīng)過多次這樣的傳輸方式完成采集工作,即前述的多級緩存?zhèn)鬏斈J降倪壿嬁刂?。采集占用區(qū)域為DDR2_LOOP2,此時該區(qū)域的功能標記為DDR2_RECV,保存了當前正在接收到的背景圖像。

      3)虛擬目標圖像與背景圖像的疊加合成處理也在DDR2中進行,處理占用區(qū)域為DDR2_LOOP0,此時該部分DDR2的功能標記為DDR2_ADD。該DDR2_LOOP0中的背景圖像是上一幀的背景圖像。

      4)經(jīng)過疊加處理后的圖像信息在外部DDR2的區(qū)域DDR2_LOOP1上,此時該區(qū)域功能標記為DDR2_SEND。此時的背景圖像相對當前幀來說,已經(jīng)是兩幀前的背景圖像。DSP首先從DDR2_LOOP1中分批傳輸圖像到L2中,再通過SRIO接口把L2的數(shù)據(jù)發(fā)送到FPGA,在FPGA中實現(xiàn)電光轉(zhuǎn)換發(fā)送出去。

      5)上述過程是以幀中斷作為同步關(guān)系,通過FRAME_CNT除以3得到的余數(shù)來實現(xiàn)圖像緩存隊列的切換。當余數(shù)為0時,DDR2_LOOP2映射成DDR2_RECV,DDR2_LOOP0映射成DDR2_ADD,DDR2_LOOP1映射成DDR2_SEND。

      6)下一幀中斷到來時,F(xiàn)RAME_CNT加1,余數(shù)為1,DDR2_LOOP2映射成DDR2_ADD, DDR2_LOOP0映射成DDR2_SEND,DDR2_LOOP1映射成DDR2_RECV。

      7)又一幀中斷到來時,F(xiàn)RAME_CNT加1,余數(shù)為2,DDR2_LOOP2映射成DDR2_SEND, DDR2_LOOP0映射成DDR2_RECV,DDR2_LOOP1映射成DDR2_ADD。

      8)再一幀中斷到來時,F(xiàn)RAME_CNT加1,余數(shù)為0,DDR2_LOOP2映射成DDR2_RECV, DDR2_LOOP0映射成DDR2_ADD,DDR2_LOOP1映射成DDR2_SEND。該步驟同步驟5)相同,這樣實現(xiàn)從5)~7)周而復(fù)始的循環(huán)隊列切換。

      3 實驗結(jié)果與分析

      在DSP的第三個內(nèi)核的L2緩存上有FPGA端口的輸入和輸出,還有和DSP外部DDR2的輸入和輸出,通過實際測試L2緩存的讀寫速度為4 GB/s以上,單個功能帶寬可以達到1 GB/s。對于外部DDR2而言,包括采集寫入DDR2、發(fā)送讀取DDR2、疊加讀寫DDR2,DDR2的理論帶寬為2.5 GB/s,通過實測大于1.5 GB/s,單個功能帶寬可以達到500 MB/s。對于圖像大小為0.5 MB(512*512*16 bits),幀頻為100幀每秒而言需要的總的帶寬為150 Mb/s。這些數(shù)據(jù)表明硬件結(jié)構(gòu)滿足訪問L2RAM和DDR2的最大帶寬要求。從DSP端來看,高效率的存儲器也在物理上保證了圖像采集、處理、發(fā)送的并行執(zhí)行。

      接收數(shù)據(jù)時,播放器將從光纖接口讀取數(shù)據(jù)并傳輸?shù)紽PGA的GTP模塊,圖像數(shù)據(jù)接收控制邏輯再將GTP數(shù)據(jù)解析緩存到內(nèi)部FIFO中,然后通過SRIO控制器,將FIFO內(nèi)部的數(shù)據(jù)傳輸?shù)紻SP的內(nèi)部RAM中,并在傳輸一定的數(shù)據(jù)量后發(fā)送中斷到DSP端口通知數(shù)據(jù)到達,DSP在收到通知中斷后,從內(nèi)部RAM中把數(shù)據(jù)傳輸?shù)酵獠緿DR2存儲器上,在一幀時序內(nèi),將每次的數(shù)據(jù)組合成一幅完整的圖像并緩存在DDR2上。發(fā)送圖像數(shù)據(jù)時,播放器首先從DSP的DDR2空間把數(shù)據(jù)傳輸?shù)絻?nèi)部RAM上,再通過SRIO端口,把數(shù)據(jù)發(fā)送到FPGA的內(nèi)部FIFO中,F(xiàn)PGA的FIFO在達到一定的數(shù)據(jù)量后自啟動讀取操作,從FIFO中輸出數(shù)據(jù)到GTP端口,通過GTP把數(shù)據(jù)發(fā)送到光纖接口上,最終實現(xiàn)了圖像數(shù)據(jù)的發(fā)送。

      4 結(jié)束語

      本文設(shè)計了一種采用FPGA和DSP技術(shù)實現(xiàn)的紅外仿真圖像高速實時數(shù)據(jù)流播放器,用于光電經(jīng)緯儀紅外仿真系統(tǒng)的虛擬目標與真實背景圖像的實時融合處理,實現(xiàn)了高帶寬、高幀頻、高分辨率的圖像流數(shù)據(jù)的實時輸出,解決了仿真目標與真實背景融合的大數(shù)據(jù)量運算問題。在實際應(yīng)用中,取得了較好的視覺效果,該技術(shù)能夠廣泛應(yīng)用于其他光學(xué)仿真系統(tǒng)。

      參考文獻:

      [1] Gonzalez R C, Woods R E,阮秋琦,等譯. Digital Image Processing /數(shù)字圖像處理[M]. 北京:電子工業(yè)出版社,2002.

      [2] 于正林,譚 微,姜 濤.飛行目標跟蹤訓(xùn)練視景仿真技術(shù)研究[J].計算機仿真,2011,28(4):379-383.

      [3] 王習(xí)文,陳 娟,王秋平.基于視景仿真的光電經(jīng)緯儀模擬訓(xùn)練器[J].吉林大學(xué)學(xué)報(工學(xué)版),2011,41(2):509-513.

      [4] 王習(xí)文,陳 娟,王秋平.光電經(jīng)緯儀跟蹤飛行目標的一種仿真方法研究[J].計算機仿真,2009,26(4):38-42.

      [5] 田 耕,徐文波.Xinlinx FPGA開發(fā)實用教程[M]. 北京:清華大學(xué)出版社,2010.

      猜你喜歡
      播放器存儲器內(nèi)核
      萬物皆可IP的時代,我們當夯實的IP內(nèi)核是什么?
      強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
      靜態(tài)隨機存儲器在軌自檢算法
      Walkman誕生40周年 索尼適時發(fā)布NW-ZX500和NW-A100系列播放器
      基于STM32的MP3播放器設(shè)計
      電子制作(2019年9期)2019-05-30 09:41:44
      基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計
      Linux內(nèi)核mmap保護機制研究
      Moon ACE播放器/放大器一體機
      播放器背板注塑模具設(shè)計
      中國塑料(2015年8期)2015-10-14 01:10:55
      存儲器——安格爾(墨西哥)▲
      庆阳市| 万载县| 保亭| 奉化市| 乐都县| 尼木县| 泌阳县| 安化县| 延长县| 黄陵县| 南投县| 阿拉善右旗| 伊金霍洛旗| 杨浦区| 宜州市| 望城县| 横峰县| 莲花县| 福建省| 原阳县| 德兴市| 互助| 岢岚县| 水城县| 土默特左旗| 黄浦区| 新疆| 田林县| 丹阳市| 梁河县| 文登市| 乌鲁木齐市| 姜堰市| 白河县| 新津县| 和静县| 安新县| 怀宁县| 鹤山市| 梧州市| 盐山县|