新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM+FPGA+多DSP的嵌入式實時圖像處理系統

        基于ARM+FPGA+多DSP的嵌入式實時圖像處理系統

        作者: 時間:2011-11-01 來源:網絡 收藏

        在本系統中,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)

        基于ARM+FPGA+多DSP的嵌入式實時圖像處理系統


        另外,寫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狀態標志信息。
         基于ARM+FPGA+多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間的數據傳輸量),則:
        基于ARM+FPGA+多DSP的嵌入式實時圖像處理系統
        表1是ARM處理器分別與DSP1~DSP4傳輸不同大小數據時測得的平均延遲時間,圖9是根據測試數據繪出的實際帶寬Bf曲線。可以看出,隨著傳輸的數據增大,Bf逐漸逼近B的266 MB/s的理論值。

        基于ARM+FPGA+多DSP的嵌入式實時圖像處理系統

        基于ARM+FPGA+多DSP的嵌入式實時圖像處理系統

        本文基于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.


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 福贡县| 龙江县| 三穗县| 清水县| 来安县| 曲水县| 西藏| 游戏| 乐都县| 库伦旗| 西宁市| 陕西省| 潮安县| 二连浩特市| 永寿县| 南召县| 乳山市| 青海省| 京山县| 手机| 三门县| 卓尼县| 镇平县| 疏附县| 将乐县| 宝鸡市| 秀山| 南汇区| 类乌齐县| 邹城市| 大新县| 青铜峡市| 依安县| 公安县| 金乡县| 广德县| 金坛市| 读书| 秦安县| 儋州市| 建瓯市|