《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于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網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美一区二区三区播放 | 玖玖精品国产 | 另类欧美视频 | 日韩欧美在线精品 | 99视频国产在线 | 扒开双腿猛进入爽爽在线观看 | 亚洲黄色免费网址 | 韩国理伦一级毛片 | 免费a级片网站 | 久久国产片 | 精品欧美成人高清视频在线观看 | 私人玩物福利视频 | 国产精品女上位在线观看 | 久草在线资源视频 | 萌白酱粉嫩jk福利视频在线观看 | 日韩中文字幕在线视频 | 免费精品久久久久久中文字幕 | 免费狼人久久香蕉网 | 美国一级毛片免费看 | 在线观看日本污污ww网站 | 黄色三级网络 | 日本草草影院 | 久色乳综合思思在线视频 | 国产一区日韩二区欧美三 | 高清性色生活片久久久 | 一级片免费视频 | 看亚洲a级一级毛片 | 国产最新自拍 | 国产永久免费高清动作片www | 欧美成人毛片在线视频 | 91综合精品网站久久 | 一级毛片不卡免费看老司机 | 久久久久国产精品免费看 | 香蕉一区二区三区观 | 国产极品一区 | 国产成人免费午夜性视频 | 久久视屏这里只有精品6国产 | 国产精品久久久久久福利漫画 | 国产成人精品免费视频大全软件 | 美女流白浆网站 | 新版天堂中文资源8在线 |