基于多DSP系統(tǒng)互連方案分析
在通信系統(tǒng)中,特別是在VoIP網(wǎng)關(guān)、3G無線基站等系統(tǒng)中,隨著輸入語音數(shù)據(jù)和分組數(shù)據(jù)量的急劇增加,系統(tǒng)的處理能力也需極大地增加。這需要一種功能強大的實時分布式處理系統(tǒng),系統(tǒng)往往需要進行非常復(fù)雜的數(shù)據(jù)處理。目前使用的單個DSP已不能適應(yīng),迫切需要把多個DSP組成互連系統(tǒng),以增加整體數(shù)據(jù)處理能力。在圖像處理中,也需要使用多DSP系統(tǒng),進行大規(guī)模的圖像信號處理。本文根據(jù)TI公司DSP對外的主機接口(HPI)、外部存儲器接口 (EMIF)、多通道緩沖串口(McBSP),詳述了利用其組成多DSP系統(tǒng)時各種互連方案的應(yīng)用背景和優(yōu)缺點。
本文引用地址:http://www.ex-cimer.com/article/257503.htm1 TMS320C6X簡介
TMS320C6X內(nèi)部主要包括一個中央處理器單元CPU、一個程序內(nèi)存和一個數(shù)據(jù)內(nèi)存、DMA、一個外部存儲器接口(EMIF)、一個主機接口(HPI)、兩個多通道緩沖串口(McBSP)。TMS320C6X的CPU內(nèi)部有8個處理單元,每個時鐘周期最多可處理8條指令。對C6203而言, 當(dāng)時鐘頻率為300MHz時,處理能力可達2400MIPS。TMS320C6X的接口靈活、處理能力強、運算速度高,可以廣泛應(yīng)用于無線基站、DSL、圖像處理、醫(yī)療、雷達等實時多任務(wù)處理系統(tǒng)中。
2 利用TMS320C5X/C6X的主機接口(HPI)組成多DSP互連系統(tǒng)
主機接口(HPI)是DSP的一個16/32bit寬的對外接口。外部主機可通過HPI 訪問DSP所有地址空間,復(fù)位時向DSP加載程序,對DSP進行控制。外部主機是HPI的主管方,DSP是HPI的從方;主機可通過HPI訪問DSP,但 DSP不能通過HPI向外部發(fā)起訪問。
在這類系統(tǒng)中通常包括一個主處理器和很多從處理器。主處理器一般是通信控制處理器(如MPC8260),用來進行系統(tǒng)輸入輸出數(shù)據(jù)的協(xié)議處理并管理整個系統(tǒng);從處理器一般是多個DSP(如TI的TMS320C6X),用來進行業(yè)務(wù)處理。主處理器通過HPI向DSP加載程序,對DSP進行控制;可以通過HPI向DSP寫入待處理的數(shù)據(jù)或通過HPI讀取DSP處理完的數(shù)據(jù),DSP之間的數(shù)據(jù)可以通過HPI由主處理器進行中轉(zhuǎn)。如圖1所示,主處理器可直接連接多個DSP,HPI和主處理器之間的連接需要增加一些外部邏輯。此方案結(jié)構(gòu)簡單,但主處理器負擔(dān)較重,和多個DSP通信效率較低,且主處理器和 DSP陣列需要在同一塊單板上。
另一種方案如圖2所示,主處理器通過PCI總線連接到一個PCI/HPI接口轉(zhuǎn)換控制芯片上,接口轉(zhuǎn)換芯片控制多個DSP并完成主處理器和DSP之間、DSP相互之間的數(shù)據(jù)交換。此時主處理器和DSP陣列可以不在同一塊單板上。
在該系統(tǒng)中(若主處理器為MPC8260,需增加8260到PCI總線的橋片),HPI/PCI接口轉(zhuǎn)換控制芯片是整個系統(tǒng)設(shè)計的關(guān)鍵,可選TI公司的PCI2040、PLX公司的PCI9054、Tundra公司的Tsi920等。
Tsi920是一個基于PCI的多DSP端口數(shù)據(jù)傳輸管理芯片,是專為VoIP網(wǎng)關(guān)、無線基站等需要采用多DSP系統(tǒng)而設(shè)計的。它的一端是 PCI接口,另外一端是四個HPI接口,每個HPI最多可無縫連接8個DSP。因此在一個單板系統(tǒng)中最多可直接管理32個DSP。DSP可以是TI公司的 TMS320C5X/C6X,也可以是MOTOROLA公司的MSC8101。Tsi920的一個特點是其4個HPI端口可同時工作,使得主處理器和 DSP之間通信能力提高了將近四倍;另一個特點是它具有智能的數(shù)據(jù)傳輸管理能力,可在DSP和主處理器之間、各個DSP之間自動傳輸數(shù)據(jù),數(shù)據(jù)的傳輸采用特定的包路由協(xié)議進行尋址,有特定的傳輸數(shù)據(jù)包格式,數(shù)據(jù)包頭部包含目的DSP的地址。數(shù)據(jù)的傳輸幾乎不需要主處理器參與,使得主處理器節(jié)省了管理數(shù)據(jù)傳輸所需的大量時間,可以進行更為關(guān)鍵的協(xié)議或業(yè)務(wù)處理。
使用Tsi920構(gòu)成多DSP系統(tǒng)的一個應(yīng)用實例是VoIP網(wǎng)關(guān),系統(tǒng)的構(gòu)成如圖3所示。DSP的串口通過一個TDM交換芯片(Lucent T8105)連接到T1/E1線上,各個DSP通過串口讀入語音數(shù)據(jù),進行多通道語音編碼和回聲抵消,然后把處理完的分組數(shù)據(jù)放在內(nèi)部存儲區(qū);Tsi920定期查詢此存儲區(qū),若發(fā)現(xiàn)有分組數(shù)據(jù),則通過DSP的HPI端口取走分組數(shù)據(jù)并放入其內(nèi)部FIFO,然后通過PowerSpan橋片把分組數(shù)據(jù)寫入MPC8260的本地存儲區(qū);處理器(MPC8260+MPC750)對這些分組數(shù)據(jù)進行IP業(yè)務(wù)處理,并把處理完的IP數(shù)據(jù)通過 MPC8260通信處理模塊(CPM)的以太網(wǎng)接口、ATM接口或其它I/O接口送到外部網(wǎng)絡(luò)。其中DSP陣列和主處理器可放在同一塊單板上,也可放在通過PCI連接的兩塊單板上。
目前有一些新型的DSP本身提供了一個對外的PCI接口,如TMS320C6205、C6415、C6416,這個PCI接口和HPI接口復(fù)用。當(dāng)采用這些DSP構(gòu)成互連系統(tǒng)時,可直接通過PCI總線把多個帶有PCI接口的DSP和帶有PCI接口的主處理器互連起來,主處理器通過PCI總線控制各個DSP,各個DSP之間、DSP和主處理器之間可通過PCI總線傳輸數(shù)據(jù)。
3 利用TMS320C5X/C6X的EMIF組成多DSP互連系統(tǒng)
EMIF是DSP的外部存儲器接口,DSP通過EMIF接外部存儲器如SDRAM、SRAM、ROM等。
目前DSP的處理速度越來越高,TMS320C6203的峰值處理能力可達2400MIPS,C641X的處理能力更是高達 4800~8800MIPS。然而在通過HPI連接的多DSP系統(tǒng)中,由于HPI為異步接口,數(shù)據(jù)傳輸速率有限,各個傳輸速率之和 ≤50Mbytes/s,數(shù)據(jù)傳輸有時會成為系統(tǒng)處理能力提高的瓶頸,使得CPU或系統(tǒng)輸入輸出模塊產(chǎn)生的大量數(shù)據(jù)流無法及時送到多個DSP。在多DSP 分布式處理系統(tǒng)中,DSP相互之間需進行大量的數(shù)據(jù)傳輸,然而TI的DSP沒有高速的片間無縫傳輸機制,使得相關(guān)的任務(wù)因等待數(shù)據(jù)而被延遲,造成系統(tǒng)整體效率的降低。
通過EMIF可實現(xiàn)多DSP全互連系統(tǒng)。目前較實用的有以下幾種方案。
共享存儲器方案
共享存儲器是最簡單的互連方案。異步SRAM作為全局存儲器由所有DSP、CPU共享,DSP訪問SRAM的總線是EMIF。DSP片間通信是通過向共享SRAM中寫入和讀取數(shù)據(jù)兩個過程完成。但EMIF訪問SRAM的帶寬有限,這個帶寬還是多片DSP、主機分時共享。隨著互連DSP數(shù)量的增加,每個DSP的平均傳輸帶寬就要降低,總線仲裁也將變得更為復(fù)雜。
通過FIFO直接互連方案
在多個DSP組成的全互連方案中,兩兩DSP之間專用的BiFIFO(雙向先進先出存儲器)通過EMIF接口互連,DSP各自通過BiFIFO 與主機或外設(shè)互連。此方案的優(yōu)點是能夠?qū)崿F(xiàn)DSP相互之間或DSP與主機之間數(shù)據(jù)的高速傳輸,但缺點是DSP需查詢多個FIFO的狀態(tài),同時,每兩個 DSP固定的連接有時是不需要的,使用BiFIFO資源浪費,系統(tǒng)的擴展也比較困難。
評論