摘 要: 針對信號處理數據量大、實時性要求高的特點,從實際應用出發,設計了以雙DSP+FPGA為核心的并行信號處理模塊。為了滿足不同的信號處理任務需求,FPGA可以靈活地選擇與不同的DSP組成不同的信號處理結構,同時為滿足大數據存儲要求設計了可方便網絡控制的數據存儲模塊。模塊之間可以通過自定義LVDS接口實現互聯,組成一個系統。
?
0 引言
隨著科學技術的飛速發展,在無線通信、軍事、工業、圖像和醫療等領域高速大數據采集已經成為信號處理系統中不可或缺的部分,這就意味著在現代實時信號處理領域,在有限的時間內,需要處理和存儲的數據量更大,同時為達到實時性,還要求信號處理系統具有多任務并行處理能力,這就對信號處理系統的處理能力提出了更高要求。與此同時,無論是雷達信號目標識別還是可見光的目標識別,都需要采集大量數據加強數據庫建立,從而用來分析目標識別算法的性能,這無疑對數據存儲提出了挑戰。針對這些問題,本文采用兩片ADI公司的ADSP TS201設計了多DSP松耦合的并行數字信號處理模塊,并以兩片Xilinx公司的Spartan3AN系列中的XC3S1400AN和TI公司的DP83865為核心設計了高速大容量、可以通過網口進行控制的數據存儲模塊,模塊之間通過鏈路口橋接構成一個系統。
1 芯片選型
1.1 FPGA選擇
FPGA選擇Xilinx公司的Spartan3AN系列中的XC3S1400AN,此芯片含有502個I/O管腳[1]可以靈活地與DSP互聯,同時可配成227對差分對,擴展成LVDS總線用于高速數據傳輸。選擇此芯片的另一個優點是片內Flash達到16 Mbit,可將程序直接固化到片內,簡化了外圍結構。
1.2 信號處理芯片選擇
ADSP TS201是ADI公司推出的一款性能極高的靜態超標量處理器,對大的信號處理任務和通信結構進行了優化,具有適合多DSP并行處理的突破性體系結構,可廣泛應用于大存儲量、高性能、高速度的信號處理和圖像處理系統中[2]。TS201的主要性能指標如下:
(1)最高工作主頻可達600 MHz,指令周期為1.67 ns,可支持單指令多數據(SIMD)操作;
(2)6位定點處理能力達4 800 MMAC/s,是C64X的1.6倍;浮點處理能力是C67X的2.6倍;
(3)DSP之間LINK口通信可以達到單向最大速率為600 MB/s,雙向1.2 GB/s;
(4)獨立的片內總線(4條128位數據總線,4條32位地址總線)可提供4 GB的尋址空間;
(5)可通過共享總線提供無縫連接以用于片內集成總線的仲裁控制;
(6)片上SDRAM控制器和片上DMA控制器可提供14條DMA通道。
2 信號處理體系設計
信號處理器可非常方便地構建簡單的處理系統,也可以利用其多處理器接口和資源方便地構建多處理器系統。由于TS201特有的鏈路口具有強大的數據傳輸能力,在構成多處理器系統時,既可以構建總線共享的多處理器系統(緊耦合系統),又可以構建鏈路口耦合系統(松耦合系統)。以此為基礎還可以構建總線共享和鏈路口耦合相結合的混合耦合系統[3-4]。松耦合系統是典型的鏈路口共享的多處理器體系結構。其系統組成框圖如圖1所示。
緊耦合多處理器系統是一種典型的總線共享的多處理器體系結構,其系統組成框圖如圖2所示。
混合耦合多處理器體系結構,其系統組成框圖如圖3所示。
與其他兩種耦合相比,松耦合系統無需總線仲裁,所以編程控制較為簡單,另一方面由于松耦合系統結構簡單,PCB實現較容易,本文根據實際需求選擇松耦合系統體系。
3 系統硬件設計
高速數據并行處理與存儲系統在標準的CPCI板卡上,按功能區域劃分設置2片TS201,2片XC3S1400AN,1片DP83865芯片和6片MT29F256G08AUCAB,實現多處理器綜合處理的超強處理和存儲能力,系統框圖如圖4所示。
3.1信號處理單元硬件設計
信號處理單元的運算結構具有靈活性和可裁減性,FPGA可以靈活地選擇與不同的DSP組成不同的計算結構,滿足不同運算量的需求。對于運算量較小的任務,可以只使用FPGA和DSP1完成信號處理任務;而FPGA和兩個DSP組合在一起可以完成運算量更大的任務;同時為保證系統數據傳輸的實時性,本硬件平臺在各級流水之間提供高速靈活的數據傳輸通道。FPGA與2片DSP采用高速通用總線和鏈路口互連。2片DSP之間采用LinkPort互連。
DSP本身就帶有24 Mbit內存,為了進一步提高硬件平臺的存儲能力,使之能夠進行一些復雜的數據處理,為DSP配置了高速SDRAM。硬件平臺的另一大特點是配置的靈活性。DSP1作為主DSP通過Link口完成第二片DSP的程序加載,由于本系統采取標準的CPCI板卡設計,便于不同處理系統的級聯,不同的系統之間若要求時序統一,則可以通過Link口統一加載程序。
3.2 存儲單元硬件設計
存儲單元控制采用千兆以太網接口,可以方便地與普通計算機互連。方案如圖5所示。
DSP處理的數據通過Link口發往存儲單元,在FPGA內將Link口協議轉換成相應的位數據寫到NAND FLASH存儲起來??筛鶕嶋H存儲需求配置不同容量和數量的FLASH芯片[5-6]。
千兆以太網模塊既完成存儲器與上位機通信的功能,又作為數據輸出接口。千兆以太網接口的物理層由物理層芯片DP83865實現,物理層以上協議在FPGA內部實現。數據傳輸采用UDP協議,上位機應用程序使用網絡編程與FPGA進行通信,發送相應的控制命令。主機可以通過發送上傳命令將存儲的信息讀出來。
4 系統軟件設計
軟件的外部接口主要有3種,如表1所示。
系統上電以后信號處理單元以接收鏈路口中斷為觸發事件,驅動DSP處理器完成實時信號處理任務,并在處理完成后將處理結果通過DSP鏈路口回送至信號源端由其他系統執行相應操作。
在信號處理的同時對信息數據及處理中間結果數據進行存儲,以便進行數據庫的建立及算法的分析改進。信號處理與存儲系統軟件工作調度流程圖如圖6所示。
5 結論
本文針對高速數據并行處理與存儲中存在的一些問題提出了高速信號并行處理與存儲系統。本系統采用ADI公司的TigerSHARC處理器,每片DSP處理器在600 MHz時鐘下提供3.6 GFLOPS的32位浮點運算能力,2片處理器的計算能力為7.2 GFlops@600 MHz。
在Xilinx公司的芯片XC3S1400AN上實現了TS201和FPGA的LVDS接口互連設計。
最終結果表明,在本文所提出的關鍵設計的要求下,LINK口通信能夠實現DSP之間互連,板內Link口的傳輸帶寬可以達到800 MB/s,板間Link口的傳輸帶寬可以達到600 MB/s,由于本文要處理的數據不會大于20 MB/s,所以完全可以滿足數據傳輸要求。
擴展LVDS總線主要用于信號處理單元向數據存儲單元收發信息,數據傳輸速率最大為20 MB/s,而LVDS總線的傳輸速率可以達到250 MB/s,且通信數據傳輸無誤碼、穩定。該結果說明了以FPGA為核心的數據存儲單元有效地提高了數據存儲的可靠性,實現了高速、穩定的數據傳輸。
評論
查看更多