1. <rp id="zsypk"></rp>

      2. 基于DSP+FPGA的嵌入式圖像處理系統(tǒng)的發(fā)展的論文

        時(shí)間:2021-02-11 09:51:17 論文 我要投稿

        基于DSP+FPGA的嵌入式圖像處理系統(tǒng)的發(fā)展的論文

          引 言

        基于DSP+FPGA的嵌入式圖像處理系統(tǒng)的發(fā)展的論文

          伴隨著圖像處理技術(shù)的快速發(fā)展,圖像處理系統(tǒng)的性能需求也在不斷提高,特別是在實(shí)時(shí)性上的要求;赑C或者工作站的圖像處理系統(tǒng),常常不是一個(gè)可行的選擇,原因如下:應(yīng)用對(duì)處理時(shí)間要求苛刻;CCD攝像機(jī)數(shù)據(jù)量太大。另外,這類系統(tǒng)的資源有效利用率較低,體積大而笨重,功耗高,不適合便攜式應(yīng)用場(chǎng)合。

          DSP是一種基于指令和代碼的流水線處理器,具有強(qiáng)大的數(shù)據(jù)處理能力和較高的運(yùn)行速度,采用C/C++或者線性匯編語言編程,可以支持復(fù)雜的算法處理,而FPGA則屬于真正的并行架構(gòu),不同的處理操作無需競(jìng)爭(zhēng)相同的資源,每個(gè)處理任務(wù)都可以不受其他邏輯塊的影響自主運(yùn)行,因此FPGA具有強(qiáng)大的并行處理能力,其現(xiàn)場(chǎng)可編程的屬性也帶來了更大的`靈活性,但是,F(xiàn)PGA不擅長復(fù)雜的算法處理和邏輯控制。本文基于DSP+FPGA架構(gòu)構(gòu)建了一個(gè)嵌入式圖像處理系統(tǒng),使得DSP和FPGA可以發(fā)揮各自的特長,協(xié)同處理,與單獨(dú)采用DSP或FPGA的系統(tǒng)相比,本系統(tǒng)具有更強(qiáng)大的數(shù)據(jù)處理能力,且更靈活、更通用。

          1.系統(tǒng)架構(gòu)

          本系統(tǒng)采用DSP+FPGA架構(gòu),原理方框圖如圖1所示,其中DSP芯片采用TI公司單核最高性能的TMS320C6455(簡稱C6455)芯片作為核心處理器,負(fù)責(zé)完成視頻圖像的復(fù)雜算法處理,F(xiàn)PGA芯片采用Altera公司的Cyclone Ⅲ系列芯片EP3C55,F(xiàn)PGA作為DSP的協(xié)處理器,負(fù)責(zé)完成圖像的采集、顯示和傳輸?shù)容o助功能,使得DSP可以專注于算法處理。

          DSP和FPGA之間通過32位EMIF接口實(shí)現(xiàn)了高速同步無縫互聯(lián), 由圖1可知,本系統(tǒng)的動(dòng)態(tài)存儲(chǔ)器均采用DDR2 SDRAM,其中C6455所帶2片DDR2存儲(chǔ)器用來存儲(chǔ)圖像和算法數(shù)據(jù),為C6455處理大數(shù)據(jù)量、復(fù)雜算法提供了保證。FPGA所帶2片DDR2存儲(chǔ)器用來存儲(chǔ)捕捉的Camera圖像數(shù)據(jù),以便VGA顯示和DSP讀取。FPGA采集的圖像數(shù)據(jù)可通過EMIF和EDMA從FPGA所帶的DDR2存儲(chǔ)器搬運(yùn)到DSP所帶的DDR2存儲(chǔ)器。

          圖1 系統(tǒng)方框圖

          2.FPGA設(shè)計(jì)

          本文FPGA的主要功能圍繞著DDR2存儲(chǔ)器的讀寫,如圖2所示。

          圖2 FPGA的主要功能模塊圖

          相機(jī)負(fù)責(zé)向緩沖區(qū)寫數(shù)據(jù),VGA顯示和DSP負(fù)責(zé)從緩沖區(qū)讀數(shù)據(jù)。本文中的DDR2控制器工作于Full?rate模式下,需要向DDR2 driver提供2倍數(shù)據(jù)寬度,即64 b數(shù)據(jù)。本文對(duì)每個(gè)讀寫數(shù)據(jù)通道,使用獨(dú)立的FIFO進(jìn)行不同時(shí)鐘域之間的數(shù)據(jù)傳輸。從CameraLink相機(jī)的LVDS接收器解碼得到8 b圖像數(shù)據(jù),在向Write FIFO寫之前,需要按8 B進(jìn)行打包處理,合并為64 b數(shù)據(jù);而發(fā)向VGA顯示的數(shù)據(jù)在從Read FIFO中讀出后,需要先經(jīng)過拆包處理,得到8 b圖像數(shù)據(jù)后才能送給VGA Controller;從Capture FIFO讀出的數(shù)據(jù)發(fā)送給DSP之前也要經(jīng)過拆包處理,將64 b數(shù)據(jù)拆為2個(gè)32 b數(shù)據(jù)后,才能發(fā)送給EMIFA,進(jìn)行傳輸。為方便可視化驗(yàn)證算法處理結(jié)果,DSP算法處理結(jié)果可以通過McBSP發(fā)送給FPGA,F(xiàn)PGA接收到數(shù)據(jù),將其轉(zhuǎn)換為可視的屏幕位置送給VGA Controller,在屏幕上進(jìn)行疊加顯示。

          本系統(tǒng)應(yīng)用于近紅外圖像處理領(lǐng)域,采用的CameraLink相機(jī)輸出分辨率為1 024×768,幀率為30 f/s,而一般的液晶顯示器刷新頻率為60 Hz,為了將捕捉到的相機(jī)數(shù)據(jù)顯示出來,需要將30幀圖像插幀為60幀,但是顯示時(shí)鐘與相機(jī)時(shí)鐘并不是同源時(shí)鐘,其幀率并不是嚴(yán)格的兩倍關(guān)系,這種相機(jī)和顯示之間的異步時(shí)序關(guān)系如圖3所示,所以不能簡單地將一幀圖像顯示2次;同時(shí),本系統(tǒng)的近紅外圖像算法處理時(shí)間根據(jù)圖像的不同而具有不確定性,并非每幀圖像都能在一個(gè)幀周期內(nèi)處理完成;谶@兩個(gè)因素,本系統(tǒng)沒有采用常規(guī)的乒乓緩沖處理方式,而是采用了三重緩沖解決了這兩個(gè)問題。

          圖3 相機(jī)和顯示的異步時(shí)序關(guān)系

          所謂三重緩沖,也即在DDR2存儲(chǔ)器內(nèi)開辟了三個(gè)緩沖:BufferA,BufferB和BufferC。其中,讀寫操作各占一個(gè)緩沖區(qū),第三個(gè)存儲(chǔ)區(qū)作為中轉(zhuǎn),先不考慮DSP從緩沖區(qū)讀數(shù)據(jù)。

          三重緩沖的示意圖如圖4所示,假設(shè)當(dāng)前緩沖區(qū)BufferA正在進(jìn)行寫操作,緩沖區(qū)BufferB正在進(jìn)行讀操作,緩沖區(qū)BufferC則有2種可能:已寫滿(FULL)和已讀完(EMPTY)兩個(gè)狀態(tài)。此時(shí),如果需要進(jìn)行讀寫翻頁操作,即讀復(fù)位信號(hào)或?qū)憦?fù)位

          信號(hào)有效時(shí),DDR2驅(qū)動(dòng)程序可按不同情況給出不同的操作,如表1所示。

          例如,當(dāng)讀復(fù)位信號(hào)有效,寫復(fù)位信號(hào)無效時(shí),說明緩沖區(qū)BufferA尚未寫滿,而緩沖區(qū)BufferB已經(jīng)讀完,此時(shí),需要查詢緩沖區(qū)BufferC的狀態(tài),如果緩沖區(qū)BufferC處于“FULL”狀態(tài),則讀緩沖區(qū)將由當(dāng)前的緩沖區(qū)BufferB改為緩沖區(qū)BufferC,并將緩沖區(qū)BufferB設(shè)置為“EMPTY”狀態(tài);如果緩沖區(qū)BufferC處于“EMPTY”狀態(tài),則將重新讀取緩沖區(qū)BufferB。

          圖4 三重緩沖的示意圖

          表1 三重緩沖的決策表

          再考慮DSP從緩沖區(qū)讀數(shù)據(jù)的情況,為保證DSP任意時(shí)刻開始讀數(shù)據(jù),總能讀到最新的數(shù)據(jù),本文使用圖像的場(chǎng)信號(hào)FVAL下降沿作為觸發(fā),定位DSP讀數(shù)據(jù)的緩沖區(qū)地址,如果在下一個(gè)FVAL下降沿之前DSP始終未開始讀數(shù)據(jù),則在新的FVAL下降沿時(shí)刻重新定位緩沖區(qū)地址,反之,如果DSP開始讀數(shù)據(jù)了,即使在FVAL下降沿未能讀完,也會(huì)繼續(xù)讀,直到DSP讀完數(shù)據(jù),再重新定位緩沖區(qū)地址,按本文設(shè)計(jì)的方案,DSP會(huì)在很短的時(shí)間內(nèi)完成讀數(shù)據(jù)任務(wù),而如果在兩個(gè)FVAL內(nèi),DSP一直未完成讀任務(wù),則認(rèn)為發(fā)生了錯(cuò)誤,讀控制器會(huì)進(jìn)行復(fù)位矯正。

          DDR2驅(qū)動(dòng)的讀寫控制以顯示的行信號(hào)HD為周期,周期性查詢是否需要進(jìn)行讀寫操作。其狀態(tài)轉(zhuǎn)移示意圖如圖5所示。

          圖5 DDR2讀寫控制的狀態(tài)機(jī)

          SignalTap Ⅱ Logic Analyzer是Quartus Ⅱ自帶的嵌入式邏輯分析儀,與ModelSim軟件仿真有所不同,是在線式仿真,可以實(shí)時(shí)捕捉和顯示信號(hào)變化。圖6所示是本文用SignalTap Ⅱ捕捉到的數(shù)據(jù)波形。

          圖6 SignalTap Ⅱ波形圖

          3.C6455軟件設(shè)計(jì)

          本文C6455的軟件基于TI提供的搶占式多線程實(shí)時(shí)內(nèi)核DSP/BIOS進(jìn)行開發(fā),網(wǎng)絡(luò)部分使用了NDK開發(fā)套件,為了實(shí)現(xiàn)通過網(wǎng)絡(luò)發(fā)送圖像數(shù)據(jù)給計(jì)算機(jī)和接收來自計(jì)算機(jī)的圖像數(shù)據(jù),使用了面向無連接的UDP協(xié)議,相比TCP協(xié)議,UDP速度更快,更適合應(yīng)用。C6455軟件主要包含三個(gè)部分:實(shí)時(shí)性最高的硬件中斷線程(HWI);采集線程和兩個(gè)任務(wù)線程(TSK);處理線程和通信線程,流程圖如圖7所示。

          圖7 C6455程序流程圖

          4.實(shí)驗(yàn)結(jié)果

          本文提出的基于DSP+FPGA的圖像處理系統(tǒng),已經(jīng)通過實(shí)驗(yàn)驗(yàn)證。圖8展示了本系統(tǒng)圖像處理算法連續(xù)運(yùn)行500個(gè)周期的統(tǒng)計(jì)結(jié)果,圖中實(shí)線為連續(xù)10個(gè)相鄰離散點(diǎn)的平均值。由圖8可見,本系統(tǒng)既可以使算法在超過一個(gè)圖像幀周期的時(shí)間內(nèi)運(yùn)行,又可以使連續(xù)一段時(shí)間內(nèi)平均的執(zhí)行時(shí)間近似為圖像幀周期。本系統(tǒng)滿足了數(shù)據(jù)量大,算法復(fù)雜度高的系統(tǒng)需求,相比乒乓緩沖,本文所提出的三重緩沖具有更快的響應(yīng)速度。

        【基于DSP+FPGA的嵌入式圖像處理系統(tǒng)的發(fā)展的論文】相關(guān)文章:

        嵌入式圖像處理系統(tǒng)的軟件設(shè)計(jì)論文04-20

        基于嵌入式Linux系統(tǒng)的圖像處理研究論文04-15

        嵌入式軟件技術(shù)的現(xiàn)狀與發(fā)展論文05-31

        淺談基于嵌入式系統(tǒng)在教學(xué)中的應(yīng)用論文01-26

        基于知識(shí)本體的職業(yè)教學(xué)軟件發(fā)展論文01-26

        數(shù)字圖像處理技術(shù)的方法及發(fā)展方向論文05-21

        嵌入式處理器基于SPI引導(dǎo)的RAM 自檢論文04-28

        圖像加密論文報(bào)告07-14

        嵌入式系統(tǒng)應(yīng)用現(xiàn)狀及發(fā)展趨勢(shì)論文07-06

        99热这里只有精品国产7_欧美色欲色综合色欲久久_中文字幕无码精品亚洲资源网久久_91热久久免费频精品无码
          1. <rp id="zsypk"></rp>