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