《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于EDMA的FPGA與DSP之間圖像高速穩(wěn)定數(shù)據(jù)傳輸?shù)牡脑O(shè)計(jì)與實(shí)現(xiàn)
基于EDMA的FPGA與DSP之間圖像高速穩(wěn)定數(shù)據(jù)傳輸?shù)牡脑O(shè)計(jì)與實(shí)現(xiàn)
摘要: 圖像數(shù)據(jù)傳輸?shù)乃俣扰c穩(wěn)定性對(duì)整個(gè)系統(tǒng)的性能具有很大的影響。本文介紹了一種基于EDMA的高速穩(wěn)定的數(shù)據(jù)傳輸方法,,并在TI的DSP開(kāi)發(fā)平臺(tái)CCS下,對(duì)該方法的性能進(jìn)行了測(cè)試,。
關(guān)鍵詞: DSP 數(shù)據(jù)傳輸 Quartus
Abstract:
Key words :

數(shù)字信號(hào)處理器(DSP)是采用數(shù)字計(jì)算方法對(duì)信號(hào)進(jìn)行處理的專用芯片,。由于其性能穩(wěn)定,,可大規(guī)模集成,編程性高和易實(shí)現(xiàn)等優(yōu)點(diǎn),,被廣泛應(yīng)用,。其中,以圖像處理與DSP技術(shù)結(jié)合較為普遍,,因?yàn)閳D像所包含的信息數(shù)據(jù)量大,,而DSP的處理速度快,易于實(shí)現(xiàn)大量數(shù)據(jù)高速傳輸?shù)奶攸c(diǎn)能夠滿足這一要求,。

目前,,圖像處理技術(shù)已在通信、信息,、電子,、航天及軍事等領(lǐng)域得到廣泛應(yīng)用。與圖像處理有關(guān)的系統(tǒng)設(shè)計(jì)中,,F(xiàn)PGA加DSP構(gòu)架是普遍的使用方法,。為充分利用DSP的性能,需要在FPGA中對(duì)圖像進(jìn)行相應(yīng)的預(yù)處理,,再把圖像數(shù)據(jù)傳輸給DSP進(jìn)行處理,。所以FPGA與DSP之間的數(shù)據(jù)傳輸技術(shù)變得不可或缺。

圖像數(shù)據(jù)傳輸?shù)乃俣扰c穩(wěn)定性對(duì)整個(gè)系統(tǒng)的性能具有很大的影響,。本文介紹了一種基于EDMA的高速穩(wěn)定的數(shù)據(jù)傳輸方法,,并在TI的DSP開(kāi)發(fā)平臺(tái)CCS下,對(duì)該方法的性能進(jìn)行了測(cè)試,。

1 方案設(shè)計(jì)

文中圖像傳輸硬件系統(tǒng)結(jié)構(gòu)如圖1所示,。該系統(tǒng)中采用Ahera公司的Cyclone3系列FPGA:EP3C80F484C6,,Analog Device公司的視頻解碼芯片ADV7183,差分輸入14位數(shù)據(jù)的LVDS接口和TI公司的TMS320C6416,。該系統(tǒng)既可采集模擬視頻信號(hào),,又可采集數(shù)字視頻信號(hào)。模擬信號(hào)經(jīng)過(guò)模數(shù)轉(zhuǎn)換芯片ADV7183后變成數(shù)字信號(hào),,數(shù)字信號(hào)經(jīng)由LVDS差分接口進(jìn)入FPGA,。為調(diào)試方便,模擬圖像與數(shù)字圖像統(tǒng)一使用320×256規(guī)格,。DSP以EDMA方式接收,,經(jīng)過(guò)FPGA預(yù)處理后的圖像數(shù)據(jù),在CCS平臺(tái)下進(jìn)行顯示以驗(yàn)證傳輸?shù)恼_性,。

圖像傳輸硬件系統(tǒng)結(jié)構(gòu)

2 接口電路設(shè)計(jì)

DSP以EDMA方式從FPGA中讀取數(shù)據(jù),,需要FPGA在內(nèi)部配置一塊大小適當(dāng)?shù)拇鎯?chǔ)空間。FPGA作為一個(gè)存儲(chǔ)器,,通過(guò)DSP的外部存儲(chǔ)器接口(EMIF)與DSP相連,。硬件連接如圖2所示。

硬件連接

圖2所示為FPGA與DSP的硬件上連接示意圖,。實(shí)際使用時(shí),,并沒(méi)有使用上述所有信號(hào)線。FPGA使用到的管腳如下:CLK,,CE,,A[19:0],D[63:0]和INT,。CLK是DSP提供的同步讀寫(xiě)時(shí)鐘,,CE是DSP的片選信號(hào),A[19:0]為地址線,,D[63:0]地址線,。INT為中斷信號(hào)。

FPGA與DSP的傳輸機(jī)制:FPGA使用QuartusII開(kāi)發(fā)平臺(tái)往雙口RAM中寫(xiě)數(shù),,寫(xiě)滿后用中斷管腳INT來(lái)通知DSP讀數(shù),。DSP收到FPGA的中斷信號(hào)后,開(kāi)始讀數(shù),。讀數(shù)期間片選信號(hào)CE有效,,F(xiàn)PGA把DSP片選信號(hào)CE作為雙口RAM的讀使能,在使能期間用DSP提供的時(shí)鐘CLK讀取數(shù)據(jù),。

系統(tǒng)中DSP提供給FPGA的時(shí)鐘CLK為100MHz,。接收模擬圖像時(shí),圖像數(shù)據(jù)為8位,,只使用D[7:0]8根數(shù)據(jù)線,;接收數(shù)字圖像時(shí),,圖像數(shù)據(jù)為14位,使用D[15:0]16根數(shù)據(jù)線,,高兩位置0,。數(shù)字圖像與模擬圖像均為320×256。

3 EDMA傳輸

TMS320C6000系列DSP中的,,增強(qiáng)型直接存儲(chǔ)器訪問(wèn)(EDMA)控制器執(zhí)行所有二級(jí)高速緩存/內(nèi)存控制器與外設(shè)之間的數(shù)據(jù)傳輸,。

EDMA控制器包括事件和中斷處理寄存器、事件編碼器,、參數(shù)RAM和地址產(chǎn)生硬件電路,。事件是觸發(fā)EDMA啟動(dòng)的同步信號(hào),事件寄存器用于捕獲EDMA事件,。事件編碼器解決多個(gè)事件發(fā)生時(shí)事件的優(yōu)先級(jí)問(wèn)題,。對(duì)應(yīng)事件的傳輸參數(shù)存儲(chǔ)在EDMA參數(shù)RAM中,并且傳遞給地址產(chǎn)生硬件單元,,進(jìn)行尋址EMIF或外設(shè)執(zhí)行相應(yīng)的讀寫(xiě)操作,。

3.1 傳輸流程

使用EDMA數(shù)據(jù)傳輸?shù)姆椒ㄓ袃煞N,一種是CPU初始化的EDMA,;第二種是事件觸發(fā)的EDMA,。所有的EDMA通道都有一個(gè)特定的同步事件與之對(duì)應(yīng),,如外圍設(shè)備事件,、外部硬件中斷或EDMA傳輸完成事件都可以同步觸發(fā)EDMA的傳輸。當(dāng)通道對(duì)應(yīng)的同步事件發(fā)生或由CPU同步該通道時(shí),,通道就完成一次數(shù)據(jù)傳輸請(qǐng)求,。由事件觸發(fā)的EDMA傳輸實(shí)時(shí)性好,是一種常見(jiàn)的傳輸方式,。系統(tǒng)采用的就是事件觸發(fā)模式,,觸發(fā)信號(hào)就是FP GA給DSP的中斷信號(hào)。圖3為EDMA的傳輸流程,。

EDMA的傳輸流程

3.2 EDMA配置

同步事件發(fā)生時(shí),,EDMA傳輸?shù)臄?shù)據(jù)大小和源目的地址由參數(shù)RAM中的參數(shù)決定。訪問(wèn)EDMA的參數(shù)RAM時(shí)需要通過(guò)外圍總線,。EDMA傳輸參數(shù),,如圖4所示。

EDMA傳輸參數(shù)

選項(xiàng)(OPT)部分主要用于傳輸數(shù)據(jù)的最小單元,、數(shù)據(jù)傳輸?shù)脑吹刂泛湍康牡刂返膶ぶ纺J?。系統(tǒng)中的最小傳輸單元為1 Byte,源地址設(shè)置為一維源,,目的地址設(shè)置為二維源,。數(shù)據(jù)傳輸模式為幀同步,。傳輸數(shù)據(jù)塊的行數(shù)設(shè)置255(實(shí)際傳輸行數(shù)為256),列數(shù)設(shè)置為320,。

源地址(SRC)設(shè)置了源數(shù)據(jù)所在的地址,,系統(tǒng)該參數(shù)配置為0xA0000000,指向FPGA目的地址(DST)設(shè)置了數(shù)據(jù)要被傳輸?shù)降拇鎯?chǔ)空間的地址,。

實(shí)現(xiàn)傳輸過(guò)程為把一幅320×256 Byte的圖像從FPGA緩存到了SDRAM中,。傳輸14位的數(shù)字圖像時(shí),一個(gè)像素的圖像數(shù)據(jù)占用2 Byte,,所以要把選項(xiàng)(OPT)中的最小傳輸單元改為2 Byte,。

3.3 程序?qū)崿F(xiàn)

相應(yīng)的EDMA通道初始化完成后,使能并打開(kāi)相應(yīng)的中斷,。FPGA每產(chǎn)生一次EDMA同步事件,,即往INT管腳發(fā)一次中斷信號(hào),EDMA就能完成一次指定要求的傳輸,,然后等待下一次同步事件,。

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

DSP提供給FPGA的時(shí)鐘為100 MHz,傳輸一幅320×256的圖像需要約為0.8 ms,。傳輸速度較快,,可以滿足圖像快速傳輸以及實(shí)時(shí)處理的要求。TI的開(kāi)發(fā)平臺(tái)CCS可以觀察存儲(chǔ)器中的數(shù)據(jù),,并把收到的存在存儲(chǔ)器中的數(shù)據(jù)顯示成圖像,,從而可以驗(yàn)證傳輸?shù)恼_性以及穩(wěn)定性。數(shù)據(jù)源為模擬圖像時(shí),,相機(jī)拍攝的原始圖像和DSP收到的圖像如圖5和圖6所示,。

相機(jī)拍攝的原始圖像和DSP收到的圖像

數(shù)據(jù)源為數(shù)字信號(hào)時(shí),原始圖像為14位數(shù)據(jù),,TI的仿真平臺(tái)只能顯示8位圖像,,所以DSP中收到的圖像數(shù)據(jù)只能以高8位進(jìn)行顯示,但會(huì)丟掉圖像的一些細(xì)節(jié),,圖像整體偏暗,。由于系統(tǒng)采用的數(shù)字圖像由中波紅外熱像儀采集,由于視場(chǎng)差別,,原始圖像無(wú)法采集,。圖7為提取高8位圖像數(shù)據(jù)顯示的圖像。

圖5~圖7中的圖像經(jīng)過(guò)多次傳輸驗(yàn)證,,沒(méi)有出現(xiàn)錯(cuò)誤的圖像,。說(shuō)明該系統(tǒng)實(shí)現(xiàn)的圖像數(shù)據(jù)傳輸滿足圖像實(shí)時(shí)處理的速度要求以及可靠性要求。

提取高8位圖像數(shù)據(jù)顯示的圖像

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

介紹了一種FPGA向DSP的數(shù)據(jù)傳輸方法,描述了EDMA的特點(diǎn)以及由其控制的數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)過(guò)程,。所介紹的方法在開(kāi)發(fā)的實(shí)驗(yàn)平臺(tái)上,,進(jìn)行了驗(yàn)證。文中介紹了FPGA向DSP的傳輸,,更改EDMA的源地址與目的地址及相關(guān)參數(shù)可以實(shí)現(xiàn)DSP向FPGA的數(shù)據(jù)傳輸,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。