《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于ARM+FPGA+多DSP的嵌入式實時圖像處理系統
基于ARM+FPGA+多DSP的嵌入式實時圖像處理系統
來源:電子技術應用2011年第8期
任曉波1, 趙文龍2, 唐 盛3, 陳思平1,3
1. 南昌航空大學 測試與光電技術學院, 江西 南昌 330063; 2. 南昌航空大學 信息工程學院, 江西 南昌 330063) 3. 深圳大學 醫學院生物醫學工程系, 廣東 深圳518060
摘要: 介紹了一款通用的嵌入式圖像處理系統的設計方法。系統采用FPGA設計FIFO實現ARM與多DSP的高速數據傳輸方法。實驗結果表明,所設計的多DSP協同工作的實時嵌入式圖像處理系統,其工作性能穩定、數據處理能力強,適用于高端的雷達信號處理、電子對抗、超聲圖像處理等場合。
中圖分類號:TP751.1
文獻標識碼: A
文章編號: 0258-7998(2011)08-142-05
The real-time image processing embedded system based on ARM+FPGA+multi DSP
Ren Xiaobo1, Zhao Wenlong2, Tang Sheng3, Chen Siping1,3
1. School of Measuring and Optical Engineering, Nanchang Hangkong University, Nanchang 330063, China; 2. School of Information Engineering, Nanchang Hangkong University, Nanchang 330063, China; 3. Department of Biomedical Information Engineering,Shenzhen University, Shenzhen 518060, China
Abstract: This paper introduced an design method of embedded image processing system to achieve a high data transferring speed between ARM and multiple DSP by adapting FIFO implemented by FPGA. The experiments show that the proposed system works stably and has strong data processing ability. The system is suitable for the situations requiring high speed processing, to name a few, the high-end radar signaling processing, electronic antagonizing,ultrasound image processing et al.
Key words : ARM11; TMS320C6416T; FIFO; FPGA; multi DSP embedded system


    實時圖像處理、高速數據運算處理要求其系統具有對數據處理速度快、數據吞吐率高以及多任務處理功能。目前大多數方案都是采用HPI數據傳輸方式,將ARM和DSP進行組合完成一些圖像處理,DSP處理器只是完成圖像采集、壓縮、編碼等簡單的處理[1]工作,不能滿足實時的智能識別或大數據量運算的視頻處理要求。在應用領域方面也會因其處理速度問題受到一定的限制。
    例如,胎兒性別屏蔽項目中,要對實時視頻進行性別部位的檢測和屏蔽,若采用單DSP則會出現漏幀或視頻不流暢;應用于高速運動物體跟蹤時,單DSP無法實現實時運動物體跟蹤,例如漢王科技的運動檢測和海康威視運動檢測,都不能實時檢測,即使檢測也會出現漏檢現象和視頻不流暢。當處理4CIF或者更大圖像時,單DSP的處理能力又會下降,雖然可以將圖像縮小進行處理,但是縮小圖像則會丟失一些重要的圖像信息,使得智能識別準確率下降。
    針對上述情況,設計一種能夠實現進行快速信號處理和數據交換的實時圖像處理系統很有必要。
1 系統結構
1.1 結構

    系統功能:利用S3C6410進行數據整合、任務調度、人機交互;利用TMS320C6416進行算法運算;每個DSP與FPGA都是無縫連接。設計中利用FPGA實現的FIFO進行與DSP之間的高速數據傳輸以及ARM對多個DSP的任務調度處理等。
    系統結構如圖1所示。系統由1個ARM11處理器S3C6410(主處理器)與4個TMS320C6416(720 Hz)(從DSP)通過FPGA(EP2C70~7)實現互聯的ARM+多DSP的嵌入式圖像處理系統。所有的DSP都通過外部存儲器接口(EMIF)與FPGA無縫相連,每個DSP之間的數據傳輸是通過FPGA內部互聯FIFO網絡實現。

    圖2所示是一種互聯的FIFO網絡結構和高速數據傳輸網絡結構。主處理器通過DMA數據訪問模式與FPGA的雙口FIFO連接,從而實現與FPGA通過FIFO連接的所有從DSP進行通信,所有FIFO都是雙向的,FIFO及其讀寫控制邏輯都在FPGA內部實現。

    FPGA中的FIFO讀寫狀態控制、各從DSP之間通信的同步握手信號、S3C6410處理器數據請求等邏輯信號,都是由每個DSP的一部分GPIO口與EP2C70的I/O口連接實現。
1.2 特點
    系統結構具有可重構特性,在硬件平臺不變情況下,只需通過改變FPGA程序代碼就可以完全改變系統結構,以適應不同的算法結構。如圖2中屏蔽DSP1~DSP4之間的互相通信,即可組成主從并行的流水線結構;若需要串行的流水線結構,只需將DSP1~DSP4的其中一個與S3C6410通信即可;若需要設計更復雜的串并混合性結構,也只需改變FPGA的代碼就能夠很容易地實現。

2 S3C6410的DMA與FPGA的軟FIFO
   接口實現
2.1 S3C6410簡介
    S3C6410是三星公司的產品采用ARM1176JZF-S核,包含16 KB的指令數據Cache和16 KB的指令數TCM;ARM Core電壓為1.1 V時,可以在553 MHz下運行。在1.2 V時,可以在667 MHz下運行。通過AXI、AHB和APB組成的64/32 bit內部總線與外部模塊相連。SROM Controller:6個片選,支持SRAM、ROM和NOR Flash以及支持8/16 bit,每個片選支持128 MB。JPEG Codec:支持JPEG編解碼功能,最大尺寸為4 096×4 096。2D GRAPHICS:2D加速,支持畫點/線,bitblt功能和Color Expansion。3D GRAPHICS:3D加速。
    S3C6410可支持4個DMA控制器,用于系統總線內部或與外圍總線之間的數據交換,每個控制器包含8個通道,支持8/16/32 bit傳輸。現以外部DMA請求為例簡要介紹DMA的工作過程。圖3所示為DMA基本工作時序。

    當需要進行DMA操作時,外部DMA請求引腳XnXDREQ置為低電平。此時DMA控制器向CPU發出占用總線的請求,當總線請求成功后,XnXDACK引腳變為低電平,表示CPU已經將總線使用權交給DMA控制器,可以進行數據傳輸。當數據傳輸完成后,應答信號XnXDACK置為高電平,通知CPU完成一次DMA操作。
    S3C6410提供了三種不同的DMA操作模式:單服務命令模式、單服務握手模式和全服務握手模式。在利用DMA進行數據傳輸前必須對其相關寄存器進行設置,包括源地址寄存器、目的地址寄存器和各自的控制寄存器以及配置DMA模式的控制寄存器等。
2.2 FPGA及其實現FIFO[2]
    采用FPGA 實現多時鐘電路系統時,需要處理不同的時鐘域之間速率匹配問題,可利用FPGA內部生成的異步FIFO來處理。異步FIFO主要由雙端口RAM、寫地址產生模塊、讀地址產生模塊、滿空標志產生模塊組成。雙端口RAM由FPGA的Block RAM塊構成,FPGA采用Atera公司的EP2C70-896C7,其Block RAM讀寫時鐘頻率可以達到216.73 MHz,因此選用Block RAM作為存儲體,不僅速度快,而且設計簡單。設計時,一個端口配置成寫端口,另一端口配置成讀端口,然后把Block RAM 的管腳與相對應的控制信號相接即可。讀寫地址通過FPGA芯片內部的二進制進位邏輯產生,以對應Read_En/Write_En作為使能信號在讀/寫時鐘的控制下進行計數。空或滿標志可以由讀或寫地址的相對位置來獲得。本系統采用2個FIFO組成一路數據傳輸通道,雙向FIFO的設計圖如圖4所示。

2.3 S3C6410的DMA與軟FIFO接口實現
    根據DMA接口原理,設計S3C6410與FPGA之間的接口簡圖如圖5所示。

    讀時鐘由ARM的時鐘輸出引腳CLKOUT0提供。CLKOUT0根據S3C6410內部寄存器的設置可以輸出不同的時鐘頻率。FIFO輸出數據經過以nGCS4為選通信號的緩沖器(Buffer)后接到S3C6410的數據總線上。nGCS4是S3C6410存儲空間中BNAK4的片選信號,當S3C6410對該信號對應存儲空間進行讀寫操作時,BANK4為低電平,其余時間均為高電平。
  FIFO的寫請求信號由S3C6410與FIFO的滿狀態共同控制。當S3C6410發出START信號并且FIFO未滿時,寫請求信號為高電平,FIFO在寫時鐘的控制下寫入數據;當START信號撤銷或者FIFO滿時,寫請求信號變為低電平,停止寫操作。
     FIFO的讀操作與S3C6410的DMA操作配合進行。系統采用單服務命令模式的DMA操作,每次傳輸一個字節的數據。當DREQ0信號變為低電平時,DMA操作開始,每次傳輸一個字節后產生一個DACK0應答信號,而且只要DREQ0為低電平DMA操作就繼續進行,直到DMA控制寄存器中的計數器為0,產生DMA中斷。根據上述時序特點,將FIFO的空信號作為DMA的請求信號DREQ0。當CCD輸出的數據寫入FIFO中時,空信號跳變為低電平啟動DMA操作,同時以DACK0信號作為FIFO的讀請求。每次DMA傳輸完成后應答信號使FIFO的讀指針移動一位,以實現數據的快速準確采集。
3 圖像采集模塊
    用可編程視頻輸入處理器SAA7113H進行視頻信號處理。SAA7113H內部集成了強大圖像色度、亮度處理功能以及多種輸出模式[3];有32個工作寄存器,在系統復位時,必須通過I2C總線對其進行初始化。本系統使用灰度圖像,沒有使用色度信號,所以數據線為8 bit。SAA7113H與FPGA的接口如圖6所示。

    在本系統中,FPGA內部需要設計一邏輯時序完成圖像數據的采集,數據的傳輸采用異步FIFO完成。采用此方案可以解決CCD輸出數據頻率與從DSP和ARM不匹配的問題。
4 DSP的EMIFA與FPGA實現的軟FIFO接口
4.1 DSP的EMIFA接口[4-5]

    DSP(TMS320DM6416T)之間的通信都是通過外部存儲器接口(EMIFA)訪問片外存儲器進行的。EMIFA由64 bit數據線D[63:0]、20 bit地址線A [22:03]、 8 bit字節使能線BE[7:0]、4 bit地址區域片選線/CE3~/CE0和各類存儲器的讀/寫控制信號組成。TMS320DM6416T 的每個
/CEx空間都有256 MB尋址空間,并且可配置為與SRAM、SDRAM、ZBTSRAM、Flash、FIFO等各類存儲器接口。EMIFA讀/寫各類存儲器的時鐘可由軟件配置為EMIF的AECLKIN、CPU/4或CPU/6。本設計配置為EMIF的AECLKIN,且為133 MHz。
4.2 EMIF與軟FIFO接口實現
    DSP之間通過EMIF口與FPGA實現的異步FIFO進行通信。EMIF異步接口的每個讀/寫周期分為三個階段:建立時間(SETUP)、觸發時間(STROBE)、保持時間(HOLD),且每個階段時間可編程設置,以適應不同的讀寫速度。DSP讀寫異步FIFO的時序圖分別如圖7、圖8所示[6]。DSP讀寫FIFO控制信號由FPGA產生,其邏輯關系如下:
    寫FIFO信號:writ_clk= AECLKOUT
               writ_req=! (/CE+/AWE)
    讀FIFO信號:read_clk = AECLKOUT
               read_req = ! (/CE+/ARE)


    另外,寫FIFO的DSP要相應為滿狀態標志,讀FIFO的DSP則相應為半滿狀態標志。
5 DSP之間數據通信[7]
    為了設計一款通用性比較強的圖像處理平臺,各處理器間的數據傳輸必需達到通用性,這樣可以針對不同系統的應用,只須修改圖像處理算法代碼,而不須要修改各處理器之間的通信。具體設計分為如下兩部分:
 (1) 數據通信協議說明(x=0,1,2,3)
 Se/Re (Send/Receive)[0]:ARM通過FPGA請求DSPx接收(該數據位為1)或發送。
 ARM[1:3]:該段數據為DSPx向FPGA發出請求數的DSP編號。
    DSPx[4:6]:ARM處理器向FPGA提出要求響應的DSP的編號。
    Da_Le(Data_Leng)[7:18]:ARM請求DSPx接收或發送的數據長度。
 Da_Un (Data_Unit)[19]:該標志位表示是否按照Data_leng*K(1K=1 024 bit)的數據長度傳輸數據,若為1,表示接收或發送數據長度為Data_leng*K(1K=1024 bit);若為0,表示接收或發送數據長度為Data_leng。
 Da_Bl (Data_Block)[20:27]:該數據表示ARM請求DSPx接收或發送Data_Block個Data_leng K或Data_leng數據塊。
 Da_Ch(Data _Result)[7:18]:ARM請求DSPx接收或發送的算法代碼中間運行結果或最終結果,此數據段與Data_Leng共用。
    In_Pr (Interrupt _Priority) [27:30]:設置DSP的中斷優先權。
    Ot_Use (DSP_State) [31:34]:DSP狀態標志信息。
 
    Ot_Use (Other_Use) [36:47]:用戶自定義數據段。
 (2) 數據通信主要流程
 首先,FPGA接收到ARM[1:3]處理器的請求信號,然后根據Data[0:34]計算出校驗數據SUM與Parity_Check[35]比較,若不等,則FPGA向ARM處理器重新發請求信號;若相等、且DSPx為空閑狀態時,則FPGA由Send/Receive向DSPx發送接收或發送數據請求,并將采集到的圖像數據傳輸給DSPx,同時使能對應的FIFO數據通道;DSPx根據收到的數據信息,同樣計算出校驗數據,若與Parity_Check相等,則根據Send/Receive標志位,采用EDMA方式向EMIF口接收或發送Data_Block* Data_leng(或Data_Block* Data_leng K)數據。如果FPGA同時接收到2個或2個以上的DSPx數據傳輸請求信號,則FPGA根據Interrupt _Priority端口數據判其執行的先后順序。
6 系統的性能分析[7]
 影響系統性能的主要因素有:ARM處理器協調工作的響應速度、DSP處理數據的速度、數據在多處理器之間的傳輸速度。前兩個因素主要由處理的主頻和處理能力決定,因此不做測試。數據在處理器之間的傳輸速度則是本設計的主要部分之一,而數據傳輸帶寬和數據傳輸延遲是衡量數據傳輸速度的重要指標。
 若系統中DSP讀寫FIFO的帶寬為B(單位時間內DSP間的數據傳輸量),則:
  
    表1是ARM處理器分別與DSP1~DSP4傳輸不同大小數據時測得的平均延遲時間,圖9是根據測試數據繪出的實際帶寬Bf曲線。可以看出,隨著傳輸的數據增大,Bf逐漸逼近B的266 MB/s的理論值。

     本文基于ARM、FPGA、多DSP設計的實時圖像信號處理系統,使用FPGA芯片設計的一種高速數據傳輸網絡互聯結構,使得該系統的數據通信能力和DSP的運算能力能很好地匹配;通過數據傳輸控制總線,使得數據傳輸十分靈活;利用S3C6410對圖像數據傳輸的調度,圖像數據處理任務的分配,圖像保存、顯示、網絡傳輸;利用4個TMS320C6416T對圖像做算法處理。經測試,算法代碼在單DSP(TMS320C6416T 1 GHz)平臺下其處理時間小于0.2 s,而在本文平臺下其處理時間小于40 ms,可以滿足實時要求。另外,該系統可廣泛適用于其他圖像處理、電子對抗、雷達信號處理等各個領域。
參考文獻
[1] 曹理發.尹勇.劉恒輝,等.基于ARM和DSP的視頻監控系統設計與實現[J].電子器件,2009,32(1).
[2] Cyclonce Inc. Cyclone II device handbook. 2005.
[3] 龍再川,趙凱生,洪明堅,等. ARM系統中DMA方式在數據采集中的應用[J].國外電子元器件,2007(2).
[4] Texas Instruments Incorporated.TMS320C6414,TMS320C6415, TMS320C6416FIXED-Point digital signal processor,2007.
[5] 李方慧,王飛,何佩琨. TMS320C6000系列DSPs原理與應用(第二版)[M].北京:電子工業出版社,2005.
[6] Texas Instruments Incorporated. TMS320C6000 EMIF to external FIFO interface.1999.
[7] 周委,陳思平,趙文龍,等. 基于DSP EMIF口、FPGA設計并實現的多DSP 嵌入式系統[J]. 電子技術應用, 2008,34(12):6-8.
 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲女同性videos| 久久精品视频在线免费观看| 亚洲一区二区三区久久| 在线精品视频一区二区| 国产欧美日韩三区| 国产精品国产三级国产普通话蜜臀| 欧美成人免费全部| 老司机午夜精品视频| 久久精品夜色噜噜亚洲a∨| 欧美一级网站| 午夜欧美大尺度福利影院在线看| 亚洲色无码播放| 日韩午夜免费视频| 亚洲精品美女久久7777777| 亚洲人精品午夜| 亚洲精品网站在线播放gif| 亚洲激情视频在线| 最新亚洲视频| 亚洲人成人99网站| 亚洲精品影视| 99国产精品99久久久久久粉嫩| 亚洲人成网站在线播| 亚洲久久视频| 亚洲精品综合在线| 日韩网站在线看片你懂的| 99re成人精品视频| 一本久道久久综合狠狠爱| 在线亚洲精品| 亚洲综合首页| 久久福利电影| 狼人社综合社区| 欧美高清视频www夜色资源网| 欧美黄色免费| 国产精品久久精品日日| 国产亚洲成av人在线观看导航| 国内揄拍国内精品久久| 亚洲国产岛国毛片在线| 亚洲精品免费电影| 一本综合久久| 欧美影院成人| 亚洲精品影视| 亚洲制服少妇| 久久久欧美精品sm网站| 欧美成人精品三级在线观看| 欧美日韩在线观看一区二区| 国产精品日韩精品| 国产一区在线观看视频| 国产一区三区三区| 亚洲国产日韩精品| 一区二区三区免费观看| 欧美一区二区三区电影在线观看| 亚洲激情视频在线| 亚洲自拍偷拍色片视频| 久久天堂av综合合色| 欧美人成在线| 国产欧美日韩精品丝袜高跟鞋| 国内揄拍国内精品久久| 亚洲精品少妇30p| 午夜亚洲精品| 日韩一区二区福利| 欧美在线高清| 欧美成人高清| 国产精品美女主播| 亚洲高清资源| 亚洲免费网站| 99精品免费网| 久久亚洲精品视频| 欧美特黄一区| 精品成人a区在线观看| 日韩午夜一区| 久久精品国产免费观看| 欧美日韩亚洲一区二区三区四区| 亚洲蜜桃精久久久久久久| 一二三四社区欧美黄| 亚洲国产欧美日韩另类综合| 亚洲一区二区三区国产| 久热精品视频在线观看| 国产精品大片免费观看| 亚洲电影免费观看高清完整版在线| 亚洲一区二区日本| 99精品欧美一区二区蜜桃免费| 久久久一区二区| 国产精品久久中文| 亚洲激情成人网| 亚洲欧美网站| 亚洲一级在线| 欧美激情网友自拍| 娇妻被交换粗又大又硬视频欧美| 亚洲香蕉视频| 最新中文字幕一区二区三区| 久久国产精品99国产精| 欧美视频福利| 亚洲日韩欧美一区二区在线| 久久精品国产精品亚洲综合| 欧美一区在线视频| 国产精品久久久久久久第一福利 | 亚洲三级影片| 亚洲电影免费观看高清完整版在线观看 | 久热国产精品视频| 国产亚洲毛片| 亚洲一区一卡| 亚洲欧美日韩一区二区| 欧美日韩国产不卡| 91久久黄色| 亚洲人体影院| 欧美成人激情在线| 在线观看欧美亚洲| 亚洲国产精彩中文乱码av在线播放| 欧美一区二区三区另类| 国产精品亚洲一区| 亚洲尤物精选| 性欧美1819性猛交| 国产精品一区毛片| 亚洲一区日本| 欧美在线影院| 国产一区三区三区| 久久黄色网页| 久久综合给合| 一区二区视频欧美| 亚洲国产精品一区二区久| 久久久午夜视频| 精品不卡视频| 亚洲日本中文字幕免费在线不卡| 欧美大片免费| 日韩午夜在线视频| 亚洲欧美精品| 国产乱码精品一区二区三区忘忧草| 亚洲一二区在线| 欧美一区二区视频97| 国产日韩欧美综合| 久久gogo国模裸体人体| 久久久蜜桃一区二区人| 在线免费观看日本欧美| 最新国产成人在线观看| 欧美日韩不卡一区| 一卡二卡3卡四卡高清精品视频| 亚洲欧美日韩视频一区| 国产精品专区一| 久久成人免费| 欧美成人综合一区| 99在线精品免费视频九九视| 亚洲专区欧美专区| 国产农村妇女精品一二区| 久久精品国产亚洲5555| 欧美www视频在线观看| 亚洲精选久久| 午夜在线不卡| 国内综合精品午夜久久资源| 亚洲片在线观看| 欧美日韩大片一区二区三区| 亚洲天堂av图片| 久久国产直播| 91久久精品国产91久久| 亚洲在线观看免费视频| 国产日韩欧美在线一区| 亚洲欧洲在线视频| 欧美日韩综合视频| 欧美一区二区三区免费观看视频| 欧美电影在线播放| 亚洲一区久久| 免费精品视频| 亚洲一区二区精品在线观看| 久久综合九色欧美综合狠狠| 亚洲美女黄色| 久久精品一二三区| 亚洲精品美女久久7777777| 先锋亚洲精品| 亚洲高清av在线| 午夜精品一区二区三区在线播放 | 亚洲小说欧美另类婷婷| 久久久女女女女999久久| 亚洲精品无人区| 欧美尤物巨大精品爽| 亚洲高清不卡| 午夜在线视频观看日韩17c| 在线观看视频一区二区欧美日韩| 亚洲一区尤物| 在线观看亚洲精品视频| 亚洲一级二级| 在线免费精品视频| 亚洲欧美怡红院| 亚洲日本一区二区三区| 久久国产精品99国产精| 亚洲精品在线视频观看| 久久久亚洲成人| 亚洲一二区在线| 欧美极品aⅴ影院| 欧美伊久线香蕉线新在线| 欧美日韩在线视频首页| 亚洲国产成人av| 国产乱码精品一区二区三区av| 99精品欧美一区二区三区综合在线| 国产一二精品视频| 亚洲综合视频在线| 亚洲人成人一区二区三区| 久久精品视频网| 亚洲婷婷在线| 欧美日韩一区不卡| 亚洲日韩中文字幕在线播放| 国产三级精品三级|