摘 要:電氣系統的小型化、模塊化并具備遠距離操控能力是當前光電跟蹤設備進一步發展的需求。本文主要介紹了采用以太網+嵌入式系統模式,構建一種基于DSP和嵌入式X-BOARD處理器的遠程控制系統。重點介紹了該系統的軟件設計、硬件構成以及通過以太網與DSP實時數據交換與控制的實現方法。在此基礎上研制了小型化、模塊化、可遠程操控的控制系統。該系統由DSP實時控制模塊和嵌入式接口子模塊組成,前者掛接了數據采集通路和PWM驅動級,后者在實時操作系統VxWorks下,完成以太網數據的收發和與DSP實時數據的交換。經某跟蹤控制平臺驗證,該系統能達到遠程控制的要求,具有明顯的優越性。
關鍵詞:遠程控制;嵌入式處理器 X-BOARD;以太網;光電跟蹤
1 引言
隨著嵌入式計算技術的發展, 嵌入式處理器和實時操作系統得到了廣泛的應用。控制系統不僅對小型化、模塊化、數據處理的實時性提出了進一步要求,并且往往還要求能實現遠距離操控。以太網的遠距離傳輸、高數據傳輸帶寬等優點使其逐步進入傳統的控制領域,而嵌入式系統以其本身體積小,功能多,高可靠性等優點,成為工控領域中的新熱點。
VxWorks是美國風河公司推出的一個實時操作系統,它以其良好的可靠性和卓越的實時性被廣泛地應用在通信、航空、航天等高精尖技術及實時性要求極高的領域中,如衛星通訊、飛機導航等。X-BOARD是德國控創公司推出的下一代嵌入式處理器模塊,功能十分強大,它幾乎集成了當今所有需要的應用接口,如USB、以太網、PCI、LPC等[1]。其優異的嵌入式特性表現在低功耗、小尺寸、無須外加散熱裝置、對各種架構CPU具有相當的開放性、便于性能升級等。
光電跟蹤控制系統是一種典型的嵌入式系統應用,針對其進行遠程控制的研究具有較大意義。本文采用客戶端、服務器模式,基于嵌入式X-BOARD<861>處理器和VxWorks實時操作系統,實現了遠端主控計算機與DSP的實時通信與控制。
2 控制系統構成
該遠程控制系統是基于某光電跟蹤控制平臺,其系統結構如圖1:
圖1 遠程控制系統結構
在整個遠程控制系統中,遠端主控計算機上運行客戶端程序,通過以太網進行DSP動態程序加載、系統運行狀態監控、實時控制參數傳遞、報告網絡連接情況等;在嵌入式子模塊上運行服務器程序,負責遠端主控計算機與DSP的實時數據交換;DSP采用TI公司的低功耗高速DSP TMS320C5416,工作頻率可達到160MHZ。 為了保證整個系統工作的實時性,采用如下機制:DSP上運行實時控制算法,而嵌入式子模塊和遠端主控計算機只進行系統后臺操控。
快速反射鏡是一種精密跟蹤技術手段,它與大慣量機架結構的主軸系統共同構成復合軸跟蹤系統,主要用于校正主軸系統的跟蹤誤差及風矩、地基、機架和大氣等干擾引起的視軸抖動[5,6]。快速反射鏡的位置信息通過采樣電渦流傳感器電壓輸出值獲得,而快速反射鏡的轉動由音圈電機驅動。
由以上論述我們可以看出,嵌入式子模塊設計是整個遠程控制系統的關鍵,其硬件結構原理如圖2:
圖2 嵌入式子模塊結構
X-BOARD<861>嵌入式處理器模塊具有128Mbyte SDRAM,采用AMD Geode SC1200 CPU,該CPU基于X86架構,具有266Mhz主頻,為系統的及時響應提供了有利保障。經過實測,由FPGA發起中斷,到中斷得到響應只需要大約750ns,并且在VxWorks操作系統系統下最多能處理20KHz的中斷。X-BOARD通過PCI 9054橋接芯片進行總線擴展,FPGA作為PCI 本地端。由于PCI總線與DSP接口速率的不一致性,所有數據交換經由FPGA內部定義的雙端口SRAM進行緩沖。
3 軟件設計
Socket 是BSD UNIX定義的一種應用程序使用TCP協議的接口,許多操作系統包括VxWorks都采用socket接口[3]。在本遠程控制系統中采用基于TCP協議的可靠數據流SOCK_STREAM,它能提供有序雙向字節流和帶外數據傳輸能力,每一次完整的傳輸都要經歷建立連接、使用連接、中止連接的過程,從而保證了數據傳輸的可靠性。
除了確定底層網絡傳輸協議外,在整個客戶端和服務器端軟件中還應設計自己的數據傳輸協議,以解析復雜的控制命令,調試參數,程序加載數據和控制參數等。在本系統軟件設計中所有數據采用1001字節的數據包進行傳輸,其中有效數據為后1000字節,第一個字節為控制字。當接收到一包數據時,首先提取第一個字節,解析應該對該幀數據進行何種處理。
軟件設計主要集中在客戶端軟件和服務器端軟件的設計。客戶端軟件開發在VC++6.0集成開發環境中完成,其軟件結構設計如圖3所示。子線程接收服務器端發送的數據并通過消息隊列傳遞到主線程,主線程分別處理本地命令和子線程傳遞的數據。本地命令指操作人員通過客戶端人機界面發出的命令,主要有DSP程序加載、復位控制、PWM封鎖與開放、控制參數調整、后臺數據記錄等。以DSP程序加載過程為例,詳細說明客戶端與服務器如何進行命令與數據交互。首先將加載文件讀入緩沖區,然后將數據打包發送到服務器端,服務器端收到數據包后首先提取控制字,識別出為加載程序數據包后,通過握手信號XF與BIO對DSP進行程序加載。子線程接收的數據包主要包括4路調試參數以及4路誤差數據,主線程接收到子線程傳遞的數據包后,也是首先提取控制字,然后判斷應采取何種操作。
圖3客戶端軟件設計流程圖
服務器端軟件開發在VxWorks集成開發環境Tornado 2.2 下完成。相比客戶端軟件,服務器端軟件需要完成更多的工作,如中斷處理、PCI驅動、協議解析、與DSP握手等,但是由于Tornado 2.2開發工具強大的功能,所有需求都能方便的進行開發。服務器端軟件結構設計如圖4。
[align=center]

圖4服務器端軟件設計流程圖[/align]
由圖4可看出,服務器端軟件基于多任務設計,主任務首先初始化PCI驅動和網絡,然后以循環方式接受客戶端連接并孵化相應的數據接收和發送子任務。數據接收子任務接收來自客戶端的數據和命令,經過協議解析后進行相應處理;PCI中斷服務程序只進行信號量釋放操作,用以通知數據發送子任務從雙端口RAM中讀取數據并發送到客戶端。
4 實際控制試驗
圖5為試驗平臺結構示意圖,經過實際控制驗證,本系統能實現約20米距離的點對點數據傳輸,工作時的網絡數據流量達到1.25Mbps,后臺一次可記錄達30MB容量的運行數據以供事后分析。客戶端可同時監控4路調試參數、四路誤差數據以及網絡數據流量變化趨勢,并能實時調整四個控制參數。
[align=center]

圖5 試驗平臺結構示意圖[/align]
圖6是根據該遠程控制系統客戶端所記錄數據,繪制的快速反射鏡X方向通過電渦流信號位置閉環的過程。圖中上半部分為電渦流變化曲線,下半部分為控制量變化曲線。經過測試在10K采樣率的情況下,系統運行穩定,數據傳輸無丟包。
[align=center]

圖6 快速反射鏡位置閉環測試[/align]
5 結束語
本文作者的創新點在于充分利用VxWorks操作系統的高實時性,控創X-BOARD<861>嵌入式處理器模塊的小體積、高性能以及傳統以太網的遠距離、高數據傳輸帶寬等特點構建了一個完整的遠程控制系統,每年產生經濟效益約50萬元。文中詳細論述了整個系統的軟硬件設計及后期的試驗平臺架構,并給出了實際控制結果。該系統具有良好的通用性,可以很方便的應用到大部分需要遠程控制的場合。
經測試驗證,該系統能完全滿足當前的控制需求,保證了各種功能的實現,為光電跟蹤設備的進一步小型化、模塊化提供了新途徑。
參考文獻:
[1] X-board 861 Manual R120 [Z],2004,Kontron。
[2] VxWorks network programmers guide 5.5[Z], 2003, WindRiver System Inc。
[3] 李方敏,VxWorks高級程序設計[M].北京:清華大學出版社,2004。
[4] 李峰,應宏, 張軍.利用TCP/IP實現Windows與VxWorks的通信[J].微計算機信息,2006,22卷第5期:21-23。
[5] 馬佳光,捕獲跟蹤與瞄準系統的基本技術問題[J].光電工程,1989年3月,16卷第3期:1-41。
[6] 傅承毓,姜凌濤,任戈等.快速反射鏡成像跟蹤系統[J].光電工程,1994年3月,21卷第3期:1-8。