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