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