一種基于VxWorks技術(shù)的通用信號處理平臺設(shè)計
本文研究的通用信號處理平臺就是鑒于聲納、雷達和圖像等領(lǐng)域信號處理的共性,設(shè)計基于DSP陣列技術(shù)、VxWorks嵌入式技術(shù)、TCP/IP網(wǎng)絡(luò)傳輸技術(shù)等先進技術(shù)的應(yīng)用級系統(tǒng)開發(fā)平臺。系統(tǒng)采用模塊化設(shè)計,易于擴展和移植。通過不同的信號處理算法,可對海量數(shù)據(jù)進行實時并行多任務(wù)處理。
1 系統(tǒng)整體方案
研究表明,無論是對聲納信號的處理(如波束形成、譜估計等),還是對雷達信號的處理(如自適應(yīng)濾波、數(shù)據(jù)融合等),基本都要求對所接收的多通道數(shù)據(jù)通過總線傳輸進行實時多任務(wù)處理。因此設(shè)計通用信號處理平臺需要考慮三方面問題:數(shù)據(jù)并行實時處理、實時多任務(wù)處理和數(shù)據(jù)傳輸總線選擇。
實現(xiàn)數(shù)據(jù)實時并行處理的關(guān)鍵在于信號處理器的選擇[1]。選用信號處理器必須兼顧數(shù)據(jù)處理的復(fù)雜性和實時性要求。DSP微處理器能夠?qū)崟r高效地完成聲納信號或雷達信號處理中的波束形成、數(shù)字濾波、線普增強、數(shù)值內(nèi)插等多種復(fù)雜的數(shù)值運算,而且它體積小、應(yīng)用靈活、匹配器件豐富。因此本文選用DSP芯片作為通用信號處理平臺的數(shù)據(jù)處理中心。
實時多任務(wù)處理一般采用嵌入式實時操作系統(tǒng)。選用VxWorks是由于它具有下述顯著優(yōu)點:提供對多種處理器的廣泛支持,具有完善的開發(fā)環(huán)境;具有開放的軟件接口;具有優(yōu)異的實時性能和全面可靠的網(wǎng)絡(luò)功能;具有良好的可剪裁性,適用于各種嵌入式環(huán)境的開發(fā)。
在進行總線選擇時,考慮到VME總線具有高可靠性、高數(shù)據(jù)傳輸率和很強的容錯能力等特點,自從VME總線標準公布以來,已得到廣泛應(yīng)用,表現(xiàn)出了極強的生命力。因此在通用信號處理平臺中選用了VME總線進行數(shù)據(jù)傳輸。
在考慮了通用信號處理平臺設(shè)計中的三項要求后,可得到如圖1所示的總體方案框圖。其中多通道前置處理機用于對來自信息接收端(如水聽器陣、天線陣等)的信號進行前置低噪放大、濾波、AGC放大和A/D變換等前置處理,最后轉(zhuǎn)換成可由DSP處理的數(shù)字信號;顯控分系統(tǒng)是依照不同的應(yīng)用目的而設(shè)計的專用模塊,它可用來顯示幅度譜、頻譜、線譜、目標軌跡、姿態(tài)和圖像等多種信息。多通道前置處理機模塊和顯控分系統(tǒng)模塊都是定制模塊,需要按照不同的應(yīng)用目的進行單獨設(shè)計,這里不作具體討論。DSP陣列機是本文重點研究的通用信號處理平臺。該陣列機基于VME總線,內(nèi)嵌VxWorks操作系統(tǒng),依據(jù)不同的算法對所接收的數(shù)據(jù)進行并行、多任務(wù)實時處理。
2 通用信號處理平臺設(shè)計
圖1中DSP陣列機由多塊基于VME總線的DSP并行信號處理板構(gòu)成,處理板的數(shù)目可依照信號通道數(shù)目增減。由此可見,DSP并行信號處理板的設(shè)計是DSP陣列機設(shè)計的基礎(chǔ),亦即通用信號處理平臺設(shè)計的基礎(chǔ)。
本文設(shè)計的通用信號處理板將AD公司高性能的浮點數(shù)字信號處理器ADSP21160與標準VME總線相結(jié)合,具有強大的信號處理能力和豐富的擴展能力。板內(nèi)采用分布式存儲模式,以增強型超立方體拓撲結(jié)構(gòu)的LINK口互連。這種結(jié)構(gòu)使每個信號處理器都有專用的存儲空間,可以使每個信號處理器充分利用自身局部總線的帶寬,而LINK口可保證處理器間靈活、高速的通訊和連接;每個信號處理器分別通過前面板和背板提供LINK接口,以實現(xiàn)板間的高速連接并構(gòu)成新的超立方體結(jié)構(gòu);信號處理板上安裝有FPDP子板,與多通道前置處理機中的數(shù)據(jù)采集模塊構(gòu)成標準高速連接,同時也可與市場上的信號處理板兼容。通用信號處理板的結(jié)構(gòu)框圖如圖2所示。
為了完成海量數(shù)據(jù)的并行處理,在圖2所示的通用信號處理板中采用了兩組共8片SHARC(Super Harvad Architecture Computer)級DSP處理器,每個處理器配有專用SRAM。之所以采用SHARC級處理器是由于其具有獨特的內(nèi)核設(shè)計、超級哈佛體系結(jié)構(gòu)、內(nèi)部集成大容量雙端口RAM以及便捷的I/O通訊功能。這些特點使其在運算密集、數(shù)據(jù)吞吐量大的高端信號處理領(lǐng)域得到了廣泛應(yīng)用。
系統(tǒng)中8片DSP分為兩組,組1由DSP0、DSP1、DSP2、DSP3構(gòu)成,組2由DSP4、DSP5、DSP6、DSP7組成。只有DSP0可以通過局部總線接口與VME總線相連。它作為總線至板內(nèi)的唯一通路,配備有大容量DRAM。DSP4作為第二組的主節(jié)點,也配有大容量DRAM。
2.1 數(shù)據(jù)傳輸方式
SHARC級DSP處理器具有多種數(shù)據(jù)通信接口,如LINK口、串口以及JTAG口等,設(shè)計時可依照信息傳輸目的靈活應(yīng)用。
在通用信號處理板設(shè)計中,LINK口是板內(nèi)和板外的主要數(shù)據(jù)傳輸通路,精心設(shè)計LINK口的拓撲結(jié)構(gòu)對提高板內(nèi)甚至系統(tǒng)的并行性有著重要意義。超立方體結(jié)構(gòu)以多維形式極大地增強了網(wǎng)絡(luò)通信能力[2]。該結(jié)構(gòu)的優(yōu)點是網(wǎng)絡(luò)全對稱,在節(jié)點連接、通信路徑長度、算法的嵌入、與其他連接形式的兼容之間提供了很好的平衡。在兩組DSP中,組內(nèi)DSP兩兩互連,組間相對應(yīng)的DSP兩兩相連。每個DSP有6個LINK口,其中4個進行板內(nèi)互連,一個通過前面板與相鄰板相連,一個通過背板與相鄰板相連。
DSP處理器有兩個串口可用于處理器之間、處理器與外設(shè)之間的通信,通常使用點對點方式或TDMA方式。在通用信號處理板上,每個處理器分配一個串口至前面板,另一個連接至背板。這樣的連接結(jié)構(gòu)是為了增加互連的靈活性,通過前面板或背板可進行板與板或板內(nèi)處理器之間的串口連接。
JTAG口主要提供硬件仿真器調(diào)試通路。在板內(nèi)通過跳線,可控制調(diào)試處理器的數(shù)量。此外,在通用信號處理板上還通過FPDP子板與前級板連接,從而實現(xiàn)與前級板的高速數(shù)據(jù)通信,并可組成大型信號處理平臺。
2.2 VME總線接口
處理板的VME總線接口包括兩部分:用于DSP局部總線與VME總線信號調(diào)理的協(xié)調(diào)模塊和VME橋接模塊。協(xié)調(diào)模塊基于CPLD設(shè)計,主要完成DSP局部總線的控制,它由局部總線仲裁、雙向地址空間映射、讀寫時序控制、數(shù)據(jù)寬度控制、自動基地址控制、塊傳輸模式地址計數(shù)器、內(nèi)部中斷管理、測試接口等部分組成;橋接模塊主要由VME橋接專用芯片Tundra SCV64及其外圍電路構(gòu)成[3]。SCV64可提供主/從接口,符合VME64標準。在系統(tǒng)初始化時,DSP0首先對SCV64進行配置,包括傳輸模式控制、基地址配置、VME總線中斷處理器設(shè)置、塊傳輸控制、內(nèi)部定時器設(shè)置等,信號處理板可通過VME總線進行通信。
2.3 時鐘驅(qū)動
在通用信號處理板中時鐘共有三種:DSP時鐘、DRAM時鐘、SCV64時鐘。其中DSP時鐘頻率為40MHz,兩組DSP時鐘可以有兩組時鐘驅(qū)動器且時鐘可以不同步;DRAM時鐘用來控制DRAM內(nèi)部的狀態(tài)機,其選用的時鐘頻率也為40MHz,且不需要與DSP時鐘同步;SCV64需要大于32MHz的時鐘才能可靠工作,同時需要與DSP時鐘同步,在通用信號處理板中選用的SCV64時鐘頻率是40MHz。
2.4 信號處理板啟動過程
單板啟動時,DSP0首先通過EPROM方式啟動,然后由DSP0再對其余DSP進行啟動。在對板內(nèi)其余DSP啟動時采用LINK口菊花鏈方式, 首先采用一點對多點方式啟動,即啟動第一組內(nèi)另三個DSP和鄰組對應(yīng)的DSP(即第二組的主節(jié)點DSP4);然后由DSP4采用一點對多點的方式啟動第二組內(nèi)的其余DSP。
2.5 板內(nèi)軟件開發(fā)
通用信號處理板軟件開發(fā)主要涉及三部分內(nèi)容:板級啟動程序、基于VxWorks的系統(tǒng)驅(qū)動程序以及DSP網(wǎng)絡(luò)開發(fā)環(huán)境。板級啟動程序是指在信號處理板啟動時,DSP0對其余DSP的啟動操作程序、DSP0對SCV64和CPLD的初始化操作程序以及板內(nèi)自檢程序等。系統(tǒng)驅(qū)動程序主要完成VME 橋接芯片的配置、對信號處理板的監(jiān)測、總線資源的獨占、板內(nèi)資源的讀寫、對各個中斷源的響應(yīng)和處理、塊傳輸模式控制以及與應(yīng)用程序的接口等。DSP網(wǎng)絡(luò)開發(fā)環(huán)境有兩種:一種是基于硬件方式,單板調(diào)試8片DSP或多板調(diào)試相連的DSP;另一種是基于軟件方式,通常采用Spectrum 公司的APEX軟件。
3 系統(tǒng)開發(fā)平臺與VxWorks的應(yīng)用
在通用信號處理平臺中采用嵌入式實時操作系統(tǒng)VxWorks來完成實時、多任務(wù)工作。通常使用的VxWorks開發(fā)環(huán)境是WindRiver公司提供的Tornado[4]。Tornado體系結(jié)構(gòu)使得許多強有力的開發(fā)工具可以用于各種目標機系統(tǒng)和各種主機—目標機的連接方式,而不受制于目標機的資源和通信機制。主機與目標機間的通信通過運行各自處理器上的代理進程完成。為了擺脫主機—目標機通信帶寬和目標機資源的限制,Tornado將傳統(tǒng)的目標機方的工具遷移到主機上。這樣系統(tǒng)不再需要額外的時間和帶寬在主機和目標機之間交換信息,降低了對連接帶寬的需求,也避免了目標機資源(如內(nèi)存)被工具或符號表大量占用,使得應(yīng)用程序擁有更多的系統(tǒng)資源。
Tornado采用主機—目標機開發(fā)方式,主機系統(tǒng)可采用運行Sun Solaris、HP-UX以及WinXP/NT的工作站或個人計算機,VxWorks則運行在Intel x86、MC68K、PowerPC或SPARC等處理器上。Tornado支持各種主機—目標機連接方式,如以太網(wǎng)、串行線、在線仿真器等。
在通用信號處理系統(tǒng)的開發(fā)階段也采用主機—目標機開發(fā)方式,開發(fā)平臺的組成模塊如圖3所示。主機系統(tǒng)采用在Windows NT下運行Tornado的PC機;目標機為自行開發(fā)的基于VME總線的DSP陣列機,在該陣列機上運行VxWorks。主機和目標機之間以及主機和顯控分系統(tǒng)之間以TCP/IP協(xié)議的以太網(wǎng)相接。
在圖3中顯控分系統(tǒng)通過以太網(wǎng)與VxWorks進行數(shù)據(jù)通信進而控制和協(xié)調(diào)整個平臺的工作進程。對VxWorks而言,它采用中斷方式響應(yīng)顯控分系統(tǒng)的請求。采用網(wǎng)絡(luò)傳輸?shù)哪康脑谟跐M足資源共享的需要并提高數(shù)據(jù)傳輸?shù)目煽啃?、增加系統(tǒng)的可擴充性。通過網(wǎng)絡(luò)傳輸,其10Mbps~100Mbps的數(shù)據(jù)傳輸速率可滿足顯示實時性的要求。在通用信號處理平臺開發(fā)階段,VxWorks作為顯控數(shù)據(jù)輸出源,可指定它為服務(wù)器端;而基于Windows NT的顯控分系統(tǒng)主要用于接收數(shù)據(jù)并進行顯示,因此作為客戶端是合適的。
在進行系統(tǒng)功能仿真實驗時,通過多通道模擬數(shù)據(jù)源周期地發(fā)送6通道數(shù)據(jù)(每通道2048個數(shù)),在DSP陣列中同時對各通道數(shù)據(jù)進行FFT變換,然后將各通道的時域數(shù)據(jù)和頻域數(shù)據(jù)打包通過以太網(wǎng)發(fā)送到顯控分系統(tǒng)模塊;顯控分系統(tǒng)可同時對3個通道的時域波形和頻域波形進行顯示,通過軟件設(shè)置可對顯示通道進行切換,并可對顯示曲線進行放大、縮小以及重要數(shù)據(jù)存儲等操作。實驗結(jié)果表明所設(shè)計的通用信號處理平臺是成功的。