基于多DSP系統(tǒng)互連方案分析
通過專用互連芯片(Crossbar)實現多DSP互連方案
可以設計一個專用互連芯片(Crossbar)來實現多個DSP、CPU、I/O器件之間的高速互連。圖4所示的互連方案提供了一個按照包路由協議進行尋址交換的機制。專用互連芯片(Crossbar)提供多個異步讀寫FIFO接口,完成到外部器件的連接和數據包的路由轉發(fā)功能。DSP通過 EMIF總線訪問對應端口的BiFIFO,數據由Crossbar傳輸到指定DSP,Crossbar同時也給主機和外部I/O模塊一個通路。主機通過 HPI訪問和控制DSP,也可以通過Crossbar訪問DSP。BiFIFO為兩個芯片之間數據的突發(fā)傳輸提供了一個雙向緩沖區(qū)。
圖4中Crossbar提供6個高速互連通道,每個通道的數據總線寬度為32bit/16bit/8bit;每個通道的數據吞吐帶寬可達 200MBytes/s,每個通道都提供與異步FIFO的無縫接口;Crossbar可以同時提供3對端口到端口的數據傳輸通道,也可以提供一個端口到多個端口的數據分發(fā);任何具有FIFO接口的CPU、DSP及高速并行I/O都可以通過Crossbar及雙向FIFO實現互連。
在本方案中需自定義互連路由協議,互連和路由模塊(CrossbarRouter)可以由FPGA實現,每個端口上的BiFIFO可以根據實際需要選用FPGA內部邏輯實現或用專用外部器件實現。多個Crossbar進行互連可實現大規(guī)模的DSP陣列。此方案的優(yōu)點是能夠實現多個 DSP、CPU、外部并行I/O等器件之間的數據高速傳輸,且擴展容易;缺點是FPGA邏輯十分復雜,實現難度較大。
下面是在3G WCDMA基站中使用Crossbar的一個例子。在這個例子中,把上下行鏈路碼片速率級處理和符號速率級處理、編碼和譯碼處理放在一塊單板上。碼片速率級處理包括上行解擴和下行擴頻,由FPGA/ASIC實現;符號速率級處理包括上行鏈路信道估值、信道譯碼協議、下行鏈路信道編碼協議等,由DSP實現。
系統(tǒng)構成如圖5所示。對下行鏈路來說,從網絡過來的數據通過UTOPIA接口進入Crossbar,然后由Crossbar中轉到編碼DSP, 在DSP內完成信道編碼協議處理,接著通過Crossbar把編碼后的數據送入FPGA/ASIC完成擴頻,最后輸出信號經過上變頻并通過天線發(fā)送出去。對上行鏈路來說,經過射頻接收和下變頻后的數據首先被送入FPGA/ASIC進行碼片速率級處理,如匹配濾波、解擴/解擾等,同時一片DSP輔助進行多徑搜索和信道估值。在此過程中這片DSP需要和FPGA/ASIC通過Crossbar進行數據的相互傳遞,經過信道估值和解擴處理的數據再通過 Crossbar送入另外一片DSP進行信道譯碼協議處理,處理結果通過Crossbar送入UTOPIA接口,接著送到基站控制器(RNC)進行處理。
4 利用TMS320C5X/C6X的McBSP組成多DSP互連系統(tǒng)
McBSP稱為多通道緩沖串口,它有一個發(fā)送端口和一個接收端口。多個DSP可通過McBSP連接到一個串行時隙交換芯片,采用時隙交換的方式進行數據交換。數據的收發(fā)以幀為單位進行。每個發(fā)送幀分成n個發(fā)送時隙,不同的發(fā)送時隙對應不同的接收DSP,例如SP0的發(fā)送端口在時隙1給 DSP1發(fā)送數據,在時隙2給DSP2發(fā)送數據,在時隙n給DSPn發(fā)送數據;每個接收幀分成n個接收時隙,不同的接收時隙對應不同的發(fā)送DSP。例如SP1的接收端口在時隙0接收來自DSP0的數據,在時隙2接收來自DSP2的數據,在時隙n接收來自DSPn的數據。這種方案的優(yōu)點是接口簡單, 可以實現多個DSP的全互連,缺點是數據以串行方式傳輸,速率較低。
不同的應用需要的處理能力不同,對各個DSP之間、DSP與主處理器之間的數據流量和時延要求也不同,因此需要的DSP數目、互連方式也各異。利用DSP三個不同接口的互連方式,HPI有利于外部主處理器對各個DSP進行控制,適合于主處理器和多個DSP構成主從方式的互連系統(tǒng);EMIF數據傳輸的速率高,適合于構成DSP高速全互連陣列;McBSP接口簡單,適用于對傳輸速率要求不高的低速全互連系統(tǒng);也可以同時利用兩種接口構成多DSP互連系統(tǒng),充分利用不同接口的優(yōu)點,例如可以采用HPI作為主處理器控制多個從DSP的控制接口,同時采用EMIF連接到Crossbar作為多個DSP、主處理器、外部并行I/O之間高速互連的數據接口。
以上所述的多DSP系統(tǒng)互連方案各有優(yōu)缺點,可以根據實際需要進行選擇。
評論