国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2018-04-25 07:36:48揚(yáng)剛
關(guān)鍵詞:播放器存儲(chǔ)器內(nèi)核

,揚(yáng)剛,,

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

0 引言

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.2 多級(jí)乒乓切換的輸出控制

虛擬目標(biāo)疊加功能從外部來看,每次輸出一幀圖像;從內(nèi)部來看,輸出過程首先由DSP發(fā)出圖像傳輸開始信號(hào),然后將圖像分成很多小塊,逐次將每小塊數(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è)計(jì)一種基于多級(jí)乒乓切換的虛擬目標(biāo)疊加圖像的數(shù)據(jù)輸出算法。

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

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

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

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

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

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

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

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

3)虛擬目標(biāo)圖像與背景圖像的疊加合成處理也在DDR2中進(jìn)行,處理占用區(qū)域?yàn)镈DR2_LOOP0,此時(shí)該部分DDR2的功能標(biāo)記為DDR2_ADD。該DDR2_LOOP0中的背景圖像是上一幀的背景圖像。

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

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

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

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

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

3 實(shí)驗(yàn)結(jié)果與分析

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

接收數(shù)據(jù)時(shí),播放器將從光纖接口讀取數(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ù)到達(dá),DSP在收到通知中斷后,從內(nèi)部RAM中把數(shù)據(jù)傳輸?shù)酵獠緿DR2存儲(chǔ)器上,在一幀時(shí)序內(nèi),將每次的數(shù)據(jù)組合成一幅完整的圖像并緩存在DDR2上。發(fā)送圖像數(shù)據(jù)時(shí),播放器首先從DSP的DDR2空間把數(shù)據(jù)傳輸?shù)絻?nèi)部RAM上,再通過SRIO端口,把數(shù)據(jù)發(fā)送到FPGA的內(nèi)部FIFO中,F(xiàn)PGA的FIFO在達(dá)到一定的數(shù)據(jù)量后自啟動(dòng)讀取操作,從FIFO中輸出數(shù)據(jù)到GTP端口,通過GTP把數(shù)據(jù)發(fā)送到光纖接口上,最終實(shí)現(xiàn)了圖像數(shù)據(jù)的發(fā)送。

4 結(jié)束語(yǔ)

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

參考文獻(xiàn):

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

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

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

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

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

猜你喜歡
播放器存儲(chǔ)器內(nèi)核
萬(wàn)物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
Walkman誕生40周年 索尼適時(shí)發(fā)布NW-ZX500和NW-A100系列播放器
基于STM32的MP3播放器設(shè)計(jì)
電子制作(2019年9期)2019-05-30 09:41:44
基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
Linux內(nèi)核mmap保護(hù)機(jī)制研究
Moon ACE播放器/放大器一體機(jī)
播放器背板注塑模具設(shè)計(jì)
存儲(chǔ)器——安格爾(墨西哥)▲
沈丘县| 西贡区| 沾化县| 新乡市| 商城县| 江永县| 上虞市| 大兴区| 当雄县| 芜湖县| 昌图县| 潼关县| 钟山县| 乌拉特中旗| 峨边| 江都市| 连平县| 江源县| 韶关市| 景东| 鹤岗市| 榆林市| 吉林市| 定州市| 会泽县| 高碑店市| 尼木县| 沁阳市| 阳曲县| 瓮安县| 宁远县| 昌江| 堆龙德庆县| 阳江市| 玛沁县| 温州市| 梅州市| 新和县| 遂昌县| 潮州市| 来凤县|