您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>通信技術>數(shù)據(jù)通信>

基于dMAX和EMIF接口的數(shù)據(jù)傳輸

2011年05月12日 10:00 21ic 作者:付河 邱景鑫 用戶評論(0

?

  dMAX(Dual Data Movement Accelerator,雙向數(shù)據(jù)傳輸加速器)是TI公司DSP芯片C6727B特有的一種片內設備。應用dMAX和EMIF(External Memory InteRFace,外部存儲器接口)可以實現(xiàn)片內RAM、片內和片外設備以及兩個片外設備之間的數(shù)據(jù)傳輸。dMAX模塊的內部結構如圖1所示。

  

dmAX內部結構圖

?

  圖1 dMAX內部結構圖

  從圖中可以看出,dMAX主要由事件和中斷處理模塊、事件編碼器、傳輸事件模塊等組成。事件模塊分成高優(yōu)先級和低優(yōu)先級兩個相互獨立的模塊,各自有獨立的事件入口和事件參數(shù)表,和CPU有獨立的接口。使得dMAX可以同時處理兩個不同的事件。當訪問CPU端口時,MAX0的優(yōu)先級高,MAX1的優(yōu)先級低。dMAX能夠通過執(zhí)行先進的一維、二維與三維數(shù)據(jù)的存儲器傳輸工作,從而使DSP得以專注于信號處理任務,顯著提高系統(tǒng)性能。適合圖像的子幀提取或者語音信號的子信道提取。

  DSP內部的數(shù)據(jù)交換中心在dMAX的控制下,可以實現(xiàn)片內RAM、EMIF以及HPI接口之間的數(shù)據(jù)交換。本文介紹在dMAX控制下,實現(xiàn)片內RAM和EMIF接口之間的數(shù)據(jù)交換。如果DSP采用普通的異步接口方式,數(shù)據(jù)傳輸需要建立、選通和保持3個階段,最少需要5個EMIF時鐘(建立和保持各1個時鐘,選通3個時鐘)。為了保證通信的可靠性,一般采用10個EMIF時鐘(建立3個時鐘,保持2個時鐘,選通5個時鐘)。而EMIF時鐘最快為133MHz;這樣,采用異步接口的通信速率一般為13.3M×32b/s(采用32位數(shù)據(jù)總線寬度)。此外,異步接口數(shù)據(jù)傳輸必須在CPU的參與下,使用指令實現(xiàn)數(shù)據(jù)搬移。將占用大量的CPU開銷,在很多高速的數(shù)據(jù)采集和處理中,將降低系統(tǒng)的整體性能。為此,采用dMAX實現(xiàn)嵌入式FIFO數(shù)據(jù)傳輸克服異步傳輸?shù)娜秉c,其傳輸采用突發(fā)讀寫方式進行,可以連續(xù)突發(fā)讀寫8個數(shù)據(jù),一共只需要20個時鐘,通信速率提高為53.2M×32b/s,提高4倍讀寫速率。還可以采用和DMA后臺運行,這樣將大大降低整個系統(tǒng)數(shù)據(jù)讀寫的開銷,從而可以實現(xiàn)更加復雜和可靠的算法處理。

  嵌入式FIFO設計

  嵌入式FIFO的設計主要就是控制FIFO的7個參數(shù)。這7個參數(shù)分別為基地址、空間大小、空標志、滿標志、錯誤標志、讀指針和寫指針。它們之間的關系如圖2所示。

  

FIFO結構示意圖

?

  圖2 FIFO結構示意圖

  基地址和空間大小用于規(guī)劃出一段內存空間,該內存空間用于FIFO設備,并被FIFO設備保護起來,使得其他設備和程序不能訪問該空間。為了便于操作方便,空間大小一般為2的整數(shù)次冪,但不做要求。具體到C6727B型號的DSP,空間大小最大為1M個元素,元素大小可以是8位、16位或者32位數(shù)據(jù),不能為其他類型的數(shù)據(jù)?;刂房梢詾閮却婵臻g的任何一個地址,同樣為了操作方便,一般為空間大小的邊界點。例如,8個元素的FIFO,其基地址一般為XXXXX000b,也就是地址的低3位為0,基地址就肯定為8的整數(shù)次。同樣,64個元素的FIFO,其低6位為0。基地址和空間大小的特殊要求避免訪問時的地址跨越多頁問題,可以提高FIFO的訪問速度。

  空標志和滿標志用于表示FIFO的存儲狀態(tài)。讀指針和寫指針用于表示讀寫的當前地址。錯誤標志表示對FIFO的錯誤操作。當FIFO處于滿標志情況下仍然寫FIFO,或者FIFO處于空標志情況下仍然讀FIFO,F(xiàn)IFO都將終止當前操作,并將錯誤標志置位。

  FIFO的寫操作只有一種工作方式,即每次寫一個新的數(shù)據(jù),寫指針加1,直到寫滿。而FIFO讀操作有兩種工作方式,分別為標準操作和多階延遲(Multi-tap Delay Transfer)操作。標準操作和寫操作一樣。多階延遲操作一般用于濾波處理,當需要對輸入信號進行濾波處理時候,每次希望從FIFO讀取一段窗口的數(shù)據(jù),進行濾波處理,數(shù)據(jù)窗口仍然只移動一個數(shù)據(jù)。在標準操作情況下,如果讀取一段窗口的數(shù)據(jù),F(xiàn)IFO則將該段窗口的數(shù)據(jù)全部彈出。多階延遲操作則只彈出一個數(shù)據(jù)。該操作方法對語音或者AD采樣數(shù)據(jù)的平滑、FIR等濾波非常適用。需要注意的是,多階延遲操作的數(shù)據(jù)窗大小需要設置,如果FIFO存儲的數(shù)據(jù)個數(shù)小于數(shù)據(jù)窗,F(xiàn)IFO則終止當前操作,并給出錯誤標志。

  

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

( 發(fā)表人:葉子 )

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關規(guī)定!

      ?