<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ADSP-TS201S的二維DMA數(shù)據(jù)傳輸

          基于ADSP-TS201S的二維DMA數(shù)據(jù)傳輸

          作者: 時間:2012-03-08 來源:網(wǎng)絡 收藏

          摘要:針對高速信號處理系統(tǒng)中數(shù)據(jù)總線傳輸?shù)钠款i問題,采用方式進行外設高速緩存到DSP內(nèi)核的數(shù)據(jù)塊實時傳輸。對控制和狀態(tài)寄存器組進行編程控制,結(jié)合FPGA與DSP鏈路接口設計,將存儲區(qū)的數(shù)據(jù)塊作為一個數(shù)據(jù)陣列進行傳輸,使DSP在中斷中獲得數(shù)據(jù)。試驗結(jié)果證明,DMA傳輸方式可解決高速外設數(shù)據(jù)塊的連續(xù)傳輸和處理問題,保證整個系統(tǒng)并行信號處理流水線的順序執(zhí)行,是一種解決數(shù)據(jù)總線傳輸瓶頸問題的實用方法。目前該技術已成功應用于某水聲測量系統(tǒng)中。
          關鍵詞:ADSP-TS201;二維DMA;LVDS;鏈路口

          0 引言
          隨著數(shù)字濾波技術在水聲信號處理中的廣泛應用,在降低系統(tǒng)硬件復雜度的同時,對數(shù)字信號處理的實時性也提出了更高要求。數(shù)字濾波器處理后的大量數(shù)據(jù)需要實時高效地傳輸給DSP內(nèi)核,以便進行相應的數(shù)字信號處理;為了提高工作效率,信號處理系統(tǒng)通常會采用流水線操作。另外為了不打斷系統(tǒng)的運行流水線,不僅要滿足實時高速傳輸?shù)囊?,還需具備DSP內(nèi)核并行處理的排列順序要求。
          DMA(Direct Memory Access)是在處理器內(nèi)核不干預情況下的后臺高速數(shù)據(jù)傳送機制,不占用DSP內(nèi)核的處理時間,特別是二維DMA方式,能夠?qū)?shù)據(jù)塊按要求順序傳輸。本文以(以下簡稱TS201)為例,針對二維DMA方式進行探討。

          本文引用地址:http://www.ex-cimer.com/article/149491.htm


          1 TS201的DMA傳輸
          1.1 DMA簡介與分析
          TS201內(nèi)核工作頻率高達600 MHz,是一款性能極高的靜態(tài)超標量處理器,專對復雜信號處理任務和通信結(jié)構進行了優(yōu)化,其Tiger SHA RC靜態(tài)超標量結(jié)構使DSP每周期能夠同時執(zhí)行4條指令,24個16位定點運算和6個浮點運算。支持14個DMA通道,可完成片內(nèi)存儲器、片外存儲器、存儲器映射外設、鏈路口、主機處理器和其他處理器(如FPGA)之間的低開銷高速傳輸。TS201片內(nèi)的DMA控制器允許將數(shù)據(jù)傳輸作為一個后臺任務執(zhí)行,從而將處理器核釋放出來,進行其他數(shù)字信號處理操作。在復雜信號處理系統(tǒng)中,特別是需要大量數(shù)據(jù)傳輸和搬移的操作系統(tǒng),采用DMA方式可以釋放處理器內(nèi)核,提高工作效率。
          1.2 TS201的鏈路口DMA
          TS210具有適合多DSP并行處理的突破性體系結(jié)構,除了多條獨立的128位寬數(shù)據(jù)總線外,具有4位寬的4個雙向LVDS(Low Voltage Differ ential Signaling)鏈路口是其組成并行系統(tǒng)的關鍵。鏈路口可以直接由處理器核控制,也可以由DMA控制器控制,每個鏈路口的接收和發(fā)送都有指定的DMA通道。通過編程控制可以將鏈路口設置成4位并行或者1位的方式進行傳輸。
          TS201鏈路口通過寫TX緩沖寄存器完成數(shù)據(jù)的發(fā)送,讀取RX緩沖寄存器數(shù)據(jù)完成數(shù)據(jù)的接收。只要TX移位寄存器為空,所有寫TX緩沖區(qū)的數(shù)據(jù)都會拷貝到移位寄存器。當RX移位寄存器為空,或者RX緩沖器有多余的空間可以從RX移位寄存器接收完整的4個字的接收數(shù)據(jù)時,接收方才允許數(shù)據(jù)輸入。RX緩沖器為空,有4個字的接收已經(jīng)完成,才會從移位寄存器讀入數(shù)據(jù)。如果RX緩沖器已滿,會將數(shù)據(jù)拷貝至RX臨時接收緩沖器內(nèi),一直保持到RX緩沖器為空。片上每個鏈路口都與2個DMA通道相連,分別進行數(shù)據(jù)的發(fā)送和接收。2個DMA通道都與內(nèi)部寄存器、外部寄存器及其他鏈路口緩沖器相連接。鏈路口收發(fā)結(jié)構見圖1所示。

          a.jpg


          1.3 二維DMA
          TS201可以尋址和傳輸1個二維存儲陣列,二維DMA將存儲區(qū)的數(shù)據(jù)塊作為1個數(shù)據(jù)陣列進行傳輸,這對制定矩陣操作的DSP算法十分有用。存儲器中的二維存儲塊可以通過鏈路口向外發(fā)送,由鏈路口接收的數(shù)據(jù)塊也可以按照二維存儲陣列的形式保存到存儲器中。接收端存儲器矩陣的大小可以與發(fā)送端的不同,只要兩邊所含的總字節(jié)數(shù)相等即可。二維DMA的優(yōu)點如下:
          (1)允許任意一個矩陣區(qū)域的數(shù)據(jù)交叉存取,以一種比較直觀的處理順序?qū)?shù)據(jù)放入存儲區(qū)。例如,將同一個A/D經(jīng)過不同數(shù)字濾波器后的并行數(shù)據(jù),以數(shù)據(jù)塊的形式進行搬移,自動存入各自的高速緩存區(qū)或片內(nèi)存儲區(qū)。
          (2)能夠?qū)崟r高效地完成數(shù)據(jù)塊存取。DMA控制器和DSP內(nèi)核同時存取向不同存儲塊的操作均可在一個時鐘周期內(nèi)完成。例如,當DSP內(nèi)核對一子存儲塊的數(shù)據(jù)進行操作時,DMA可以向另一個存儲塊存放數(shù)據(jù)。在某些條件下,甚至可以同時訪問同一個存儲塊。
          (3)允許有選擇的數(shù)據(jù)傳輸,即只選擇需要的輸入數(shù)據(jù)塊而不是全部數(shù)據(jù)。例如,系統(tǒng)在處理不同通道的數(shù)據(jù)時,可以在二維DMA傳輸過程中進行數(shù)據(jù)的實時更改與選擇。
          (4)鏈式二維DMA可以在DSP內(nèi)核不干預的情況下進行無限制的多次DMA傳輸,并且每次操作的屬性和I/O都可以不同。
          (5)允許在一個激活的二維DMA鏈中插入高優(yōu)先級的鏈式DMA,能實時實現(xiàn)DMA鏈的更新,繼續(xù)二維DMA數(shù)據(jù)傳輸。
          假設某系統(tǒng)中存在4種并行數(shù)據(jù)(如并行A/D采集數(shù)據(jù))的二維DMA傳輸,通過乒乓緩存的方式進行數(shù)據(jù)的轉(zhuǎn)存,其數(shù)據(jù)塊二維傳輸過程如圖2所示。

          b.jpg


          圖2中的Data0…Data3表示連續(xù)產(chǎn)生的4路并行數(shù)據(jù),Data00…Data0n表示Data0的n個數(shù)據(jù)塊。左側(cè)表示為原始輸入數(shù)據(jù),例如A/D數(shù)據(jù)經(jīng)過數(shù)字濾波器后的4路并行數(shù)據(jù)。中間表示為高速緩存區(qū)內(nèi)部的一維排列數(shù)據(jù),右邊表示經(jīng)過二維DMA鏈路口傳輸后的二維數(shù)據(jù)塊排列。從圖中可以看出,二維DMA傳輸將原來不適合DSP流水線操作的數(shù)據(jù),實時高效地傳輸?shù)紻SP內(nèi)部,并將數(shù)據(jù)塊按照流水線要求順序排列存儲。
          TS201的二維DMA控制和狀態(tài)寄存器組,包括DMA控制寄存器、DMA狀態(tài)寄存器、清除寄存器和傳輸控制寄存器等。通過對寄存器組編程可以允許相應DMA產(chǎn)生中斷,整塊數(shù)據(jù)傳輸完畢后,DMA將產(chǎn)生中斷。中斷發(fā)生在計數(shù)寄存器減至0,而且是最后一個數(shù)據(jù)單元傳輸后。每個DMA控制塊都有自身的中斷,DMA中斷會鎖存在ILAT寄存器中,并由IMASK寄存器打開。但需要注意的是,DMA中的計數(shù)器必須是減到零,向計數(shù)器寄存器寫零并不會產(chǎn)生DMA中斷。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();