基于FPDP和VME總線的多DSP通用并行處理系統設計方案
引言
基于TIDSP數字信號處理器的通用信號處理板在聲納、雷達信號處理中已經有著廣泛的應用。但在一些實時性要求很高的場合,單板多DSP系統并不能完成高速的數據采集傳輸和大量的數據分析處理工作,從而需要一個由信號采集板和信號處理板組成的多子板系統實現高速實時處理。借助多板多DSP并行處理技術,能夠開放性地實現實時性強、精度高、動態(tài)范圍大和高數據吞吐量連接網絡的大規(guī)模并行處理系統。此時,數據的板間傳輸成為這些系統的設計瓶頸。
本文將介紹一種基于FPDP和VME雙總線的高速實時信號處理結構可重組多子板系統,并著重分析該系統核心子板——多DSP通用并行處理系統的硬件設計和原理框圖。
2、多子板系統總體設計
2.1 系統結構分析
本系統是依托于標準VME機箱的高速實時信號處理結構可重組多子板系統。它由上位機、下位機和VME機箱構成。結構框圖如圖1所示,它具有以下5個特點:
1.上位機為工控機,下位機由多塊數據采集板和DSP信號處理板組成。
2.DSP信號處理板采用一主三從的多DSP并行處理結構。
3.每個下位機都通過標準的總線接口與上位機相連,上位機對下位機起主導作用,它可以通過公共總線下載或更新下位機上的DSP、FPGA等處理器程序,并且隨時監(jiān)控數據。
4.各子板之間數據通過專門的總線傳輸,不通過上位機統一分配調度。
5.系統結構靈活多變,具有一定可重組性。系統各類子板都做了可擴展性設計。
系統結構可重組性主要解決數據采集通道擴展和信號處理算法多樣性等各類問題。系統結構可重組性表現為一方面數據采集可選用單通道結構或者多通道結構,另一方面DSP子板可根據所實現的信號處理算法性能和各通道采集數據的數量及相關性而組合多板串行分步處理結構或者多板獨立并行處理結構。
在圖1中,系統除去DSP1X等板,保留DSP1Y、2……M板的結構是多板串行分步處理結構:各通道數據通過數據傳輸總線依次傳送至DSP1Y板進行第一步處理,DSP1Y板然后將運算結果傳送至DSP2板進行下一步處理,以此類推直至完成各步處理得出最終結果。相反,系統除去DSP2……M板,保留DSP1X……1Y板的結構便是多板獨立并行處理結構:各通道數據通過同一數據總線依次或者不同總線同時傳至各自相對應的DSP1X……1Y板進行獨立并行處理。當然在數據量極大或者算法極其復雜的情況下,我們還可以將系統重組成串行和并行混合處理的結構。
2.2 基于FPDP和VME總線的板間通訊設計
VME總線是軍用標準總線的主流類型,其技術成熟可靠,發(fā)展時間長,廣泛應用于水下通信、雷達聲納、軟件無線電等領域。基于DSP程序下載和數據監(jiān)控的高穩(wěn)定性要求,我們在系統中采用VME總線實現上位機與下位機的板間通訊。下位機之間的通訊主要涉及到的是數據傳輸。VME總線對于此類傳輸就具有協議復雜,調試困難以及速度慢等弱點。因此我們采用目前通用的高速數據傳輸總線FPDP實現下位機之間通訊。
FPDP(front panel data port)前面板數據口協議是由VITA Standards Organization提出的。基于最小等待時間與精確傳輸速率,FPDP總線用于在兩個或多個VME總線子板之間提供高速數據傳輸,總線寬度為32bit,通過80線帶狀電纜連接。單一發(fā)送設備,沒有總線沖突,協議不包含地址和仲裁周期。數據傳輸速率完全由發(fā)送設備的時鐘決定,TTL時鐘strobe頻率最高為20MHz,±PECL data strobe的頻率最高為40MHz,因此數據傳輸最大帶寬為160MB/S。
基于FPDP總線的高速數據板間傳輸設計實現分為信號發(fā)送和信號接收兩部分。它包括FPDP主發(fā)送端(FPDP/TM)、發(fā)送端(FPDP/T)、FPDP主接收端(FPDP/RM)和接收端(FPDP/R)。FPDP總線可擴展為一個主發(fā)送端、多個發(fā)送端和一個主接收端、多個接收端的形式。這種可擴展傳輸結構完全符合本文介紹的高速信號處理系統各種結構下多種數據傳輸方式要求。如圖1所示,在系統中,子板通訊采用多條FPDP總線。數據采集板只設計有FPDP/TM接口,主要負責各通道數據采集發(fā)送。DSP信號處理板同時設計有FPDP/TM和FPDP/RM接口,配合系統結構重組。系統處于多板獨立并行處理結構時,DSP板啟動RM模塊,只做數據接收終端。系統處于多板串行結構時,前板的FPDP/TM與后板的FPDP/RM相接,構成獨立的FPDP總線,從而配合多個DSP板流水作業(yè)。在多通道或者多板并行處理結構中,每個FPDP總線上,必須且只能設定一個主接收端和一個主發(fā)送端。
在系統中我們可以通過硬件編程、開關和軟件修改對FPDP/TM、FPDP/RM進行配置,實現各個系統結構中數據實時多向傳輸。
3、并行處理系統板極設計
3.1 單板結構及功能描述
本文介紹的高速實時信號處理系統,其核心子板是多DSP并行處理機。它包括多DSP模塊、VME總線模塊和FPDP總線模塊。DSP選用TMS320C6701芯片,它是TI公司第一代采用VelociTITM高性能超長指令字結構的高性能32位浮點型數字型號處理器,其運行時鐘頻率最高可達167MHz,峰值處理速度可以達到1GFLOPS和34MMACS的運算能力。
它主要包括C6701、SDRAM、FLASH、雙口RAM、數據地址緩沖以及DSP附屬的邏輯控制CPLD和實現兩類總線協議的FPGA芯片。
多DSP并行處理系統設計的核心是實現多DSP之間的通信控制及數據交換。DSP之間的互連結構分為共享總線或共享存儲器的緊耦合連接方式和擁有各自獨立的數據存儲器而通過通信口相連的松耦合連接方式。緊耦合連接方式限制整個系統節(jié)點數目的規(guī)模,從而降低系統的擴展性。因此,我們采用松耦合連接方式,通過雙口RAM實現一主三從DSP之間的通信控制及數據交換。
VME和FPDP總線協議我們采用FPGA芯片實現。VME總線主要用于各個DSP的HPI口與上位機通訊。DSP通過VME總線采用HPI方式自動引導啟動,從上位機下載程序。上位機可以通過VME總線對板上數據進行實時監(jiān)控。FPDP總線連接至處理機上的主DSP,包括FPDP/TM和FPDP/RM兩個功能模塊。我們只需要更改和重新下載FPGA程序,便可以完成DSP處理機上的FPDP/TM和RM端口配置,以便對應整個系統結構重組。此外,用于FPDP通訊的FIFO也用FPGA實現。
處理機工作流程如下:系統上電后,4片C6701通過VME總線從上位機獲取運行程序,并存入各自片內程序RAM,準備響應。前板將需要處理的數據流通過FPDP總線發(fā)送至本板FPDP/RM端口的FIFO中并且發(fā)送中斷,主DSP響應中斷后從FIFO中讀取數據并且完成分配,分別發(fā)送至三個從DSP的雙口RAM中。從DSP通過雙口RAM讀取數據并且進行并行處理,然后將處理完成的數據傳回雙口RAM。主DSP再將處理后的數據匯總并通過FPDP/TM端口發(fā)送至后板的FPDP/RM端口。如此循環(huán),直至所有數據都處理完畢。最后主DSP將結果反饋至上位機,等待下次命令。
處理機中,每片DSP都配有一個256 K×8 bit FLASH芯片。處理機也可以脫離上位機單板工作,只需將程序提前下載到FLASH中。
3.2 單板電源設計方案
并行處理機板上需要的電源分為5V、3.3V和1.8V三類。其中5V直接來自VME機箱背板。3.3V和1.8V電源通過板上轉換模塊提供。由于本系統中DSP、CPLD和FPGA比較多,功耗也相對較高,其供電系統品質的好壞直接影響到整個處理機的工作穩(wěn)定性。另外,并行處理機上的DSP和FPGA對其I/O電路和內核電路的供電順序也有一定的要求。
圖3給出了通用器件所要求的常見的3種電源啟動模式:Sequential Startup,即板上先提供1.8V電源然后再提供3.3V電源;Ratiometric Startup,即板上1.8V和3.3V電源同時以相同比率啟動并且同一時刻達到穩(wěn)定值;Simultaneous Startup,即板上1.8V和3.3V電源同時啟動。我們在實際設計中一定要考慮到器件對供電系統的不同要求,這對處理機的穩(wěn)定性具有極其重要的意義。
處理機上DSP和FPGA要求內核電路和I/O電路的供電采用Sequential Startup模式。整板需要5A左右的1.8V和3.3V 電源系統。由此,我們采用TI公司的TPS54614和TPS54616芯片設計了處理機的電源轉換模塊。它有體積小,輸出電流大,性能穩(wěn)定等特點。電路原理如圖4所示。TPS54614采用5V輸入,能夠穩(wěn)定提供最大電流為6A的1.8V輸出,TPS54616同樣采用采用5V輸入,能夠穩(wěn)定提供最大電流為6A的3.3V輸出。此電源轉換模塊完全滿足整個信號處理機的供電量要求。
在設計中,根據TPS54610系列芯片的特性,我們將TPS54614的PWRGD連接至TPS54616的SS/ENA管腳。系統上電時,當TPS54614輸出電壓低于正常值的90%即1.6V時,PWRGD為低,抑制TPS54616啟動,當TPS54614輸出電壓大于1.6V時,PWRGD變高,啟動TPS54616;系統關閉時,TPS54614輸出降低到1.6V時,PWRGD變低,TPS54616才開始關閉。因此保證了DSP、FPGA內核電壓供電先于I/O電壓,滿足了系統供電采用Sequential Startup模式的要求。
3.3 電路靈活配置
3.3.1 JTAG接口菊花鏈設計
TMS320C6701備有基于IEEE 1149.1標準的邊界掃描測試接口,從而為設計人員提供了一個實時的硬件仿真與調試環(huán)境。由于處理機是一個有4個DSP的多DSP系統,我們將DSP的JTAG接口與14 pin Header間以菊花鏈方式互連。按照JTAG口驅動能力的要求,我們將關鍵信號通過一個緩沖器進行增強。
3.3.2 DSP中斷信號分配
多DSP系統不可避免會產生DSP中斷信號不夠用的問題。在處理機的設計過程中,我們分別將三個從DSP和FPDP/RM端口的中斷請求信號引至主DSP的附屬邏輯CPLD中進行統一分配。在CPLD中設定一個控制寄存器,外掛于主DSP的EMIF下。當主DSP接收到中斷請求后,它通過CPLD控制寄存器標示分析中斷信號的來源,從而正確響應。
4、結論
采用混合總線模式的設計方法將大大提高數字信號處理系統的并行處理和數據傳輸能力。本文采用FPDP總線傳輸協議,實現了多總線子板間信號高速傳輸。最大為160MB/S的數據傳輸帶寬,完全滿足板間DSP芯片點對點通信的需求。同時,采用VME總線完成上下位機程序下載和數據監(jiān)控,提高了系統的穩(wěn)定性和可靠性。
本文設計的基于FPDP和VME雙總線的高速實時信號處理多子板系統,目前在水下通信領域已取得成功應用。詳細介紹的系統核心子板——多DSP通用并行處理機基于一主三從的多處理器結構,不僅可以多板多模式工作,也可以單板使用。目前在DSP大規(guī)模并行技術向片間發(fā)展的主流下,雖然文中的DSP器件以TMS320C6701為例,但系統結構對其他DSP器件構成的多DSP并行處理系統設計都具有一定的參考價值。