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