摘 要:電氣系統(tǒng)的小型化、模塊化并具備遠(yuǎn)距離操控能力是當(dāng)前光電跟蹤設(shè)備進(jìn)一步發(fā)展的需求。本文主要介紹了采用以太網(wǎng)+嵌入式系統(tǒng)模式,構(gòu)建一種基于DSP和嵌入式X-BOARD處理器的遠(yuǎn)程控制系統(tǒng)。重點(diǎn)介紹了該系統(tǒng)的軟件設(shè)計(jì)、硬件構(gòu)成以及通過(guò)以太網(wǎng)與DSP實(shí)時(shí)數(shù)據(jù)交換與控制的實(shí)現(xiàn)方法。在此基礎(chǔ)上研制了小型化、模塊化、可遠(yuǎn)程操控的控制系統(tǒng)。該系統(tǒng)由DSP實(shí)時(shí)控制模塊和嵌入式接口子模塊組成,前者掛接了數(shù)據(jù)采集通路和PWM驅(qū)動(dòng)級(jí),后者在實(shí)時(shí)操作系統(tǒng)VxWorks下,完成以太網(wǎng)數(shù)據(jù)的收發(fā)和與DSP實(shí)時(shí)數(shù)據(jù)的交換。經(jīng)某跟蹤控制平臺(tái)驗(yàn)證,該系統(tǒng)能達(dá)到遠(yuǎn)程控制的要求,具有明顯的優(yōu)越性。
關(guān)鍵詞:遠(yuǎn)程控制;嵌入式處理器 X-BOARD;以太網(wǎng);光電跟蹤
1 引言
隨著嵌入式計(jì)算技術(shù)的發(fā)展, 嵌入式處理器和實(shí)時(shí)操作系統(tǒng)得到了廣泛的應(yīng)用??刂葡到y(tǒng)不僅對(duì)小型化、模塊化、數(shù)據(jù)處理的實(shí)時(shí)性提出了進(jìn)一步要求,并且往往還要求能實(shí)現(xiàn)遠(yuǎn)距離操控。以太網(wǎng)的遠(yuǎn)距離傳輸、高數(shù)據(jù)傳輸帶寬等優(yōu)點(diǎn)使其逐步進(jìn)入傳統(tǒng)的控制領(lǐng)域,而嵌入式系統(tǒng)以其本身體積小,功能多,高可靠性等優(yōu)點(diǎn),成為工控領(lǐng)域中的新熱點(diǎn)。
VxWorks是美國(guó)風(fēng)河公司推出的一個(gè)實(shí)時(shí)操作系統(tǒng),它以其良好的可靠性和卓越的實(shí)時(shí)性被廣泛地應(yīng)用在通信、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域中,如衛(wèi)星通訊、飛機(jī)導(dǎo)航等。X-BOARD是德國(guó)控創(chuàng)公司推出的下一代嵌入式處理器模塊,功能十分強(qiáng)大,它幾乎集成了當(dāng)今所有需要的應(yīng)用接口,如USB、以太網(wǎng)、PCI、LPC等[1]。其優(yōu)異的嵌入式特性表現(xiàn)在低功耗、小尺寸、無(wú)須外加散熱裝置、對(duì)各種架構(gòu)CPU具有相當(dāng)?shù)拈_(kāi)放性、便于性能升級(jí)等。
光電跟蹤控制系統(tǒng)是一種典型的嵌入式系統(tǒng)應(yīng)用,針對(duì)其進(jìn)行遠(yuǎn)程控制的研究具有較大意義。本文采用客戶端、服務(wù)器模式,基于嵌入式X-BOARD<861>處理器和VxWorks實(shí)時(shí)操作系統(tǒng),實(shí)現(xiàn)了遠(yuǎn)端主控計(jì)算機(jī)與DSP的實(shí)時(shí)通信與控制。
2 控制系統(tǒng)構(gòu)成
該遠(yuǎn)程控制系統(tǒng)是基于某光電跟蹤控制平臺(tái),其系統(tǒng)結(jié)構(gòu)如圖1:
圖1 遠(yuǎn)程控制系統(tǒng)結(jié)構(gòu)
在整個(gè)遠(yuǎn)程控制系統(tǒng)中,遠(yuǎn)端主控計(jì)算機(jī)上運(yùn)行客戶端程序,通過(guò)以太網(wǎng)進(jìn)行DSP動(dòng)態(tài)程序加載、系統(tǒng)運(yùn)行狀態(tài)監(jiān)控、實(shí)時(shí)控制參數(shù)傳遞、報(bào)告網(wǎng)絡(luò)連接情況等;在嵌入式子模塊上運(yùn)行服務(wù)器程序,負(fù)責(zé)遠(yuǎn)端主控計(jì)算機(jī)與DSP的實(shí)時(shí)數(shù)據(jù)交換;DSP采用TI公司的低功耗高速DSP TMS320C5416,工作頻率可達(dá)到160MHZ。 為了保證整個(gè)系統(tǒng)工作的實(shí)時(shí)性,采用如下機(jī)制:DSP上運(yùn)行實(shí)時(shí)控制算法,而嵌入式子模塊和遠(yuǎn)端主控計(jì)算機(jī)只進(jìn)行系統(tǒng)后臺(tái)操控。
快速反射鏡是一種精密跟蹤技術(shù)手段,它與大慣量機(jī)架結(jié)構(gòu)的主軸系統(tǒng)共同構(gòu)成復(fù)合軸跟蹤系統(tǒng),主要用于校正主軸系統(tǒng)的跟蹤誤差及風(fēng)矩、地基、機(jī)架和大氣等干擾引起的視軸抖動(dòng)[5,6]??焖俜瓷溏R的位置信息通過(guò)采樣電渦流傳感器電壓輸出值獲得,而快速反射鏡的轉(zhuǎn)動(dòng)由音圈電機(jī)驅(qū)動(dòng)。
由以上論述我們可以看出,嵌入式子模塊設(shè)計(jì)是整個(gè)遠(yuǎn)程控制系統(tǒng)的關(guān)鍵,其硬件結(jié)構(gòu)原理如圖2:
圖2 嵌入式子模塊結(jié)構(gòu)
X-BOARD<861>嵌入式處理器模塊具有128Mbyte SDRAM,采用AMD Geode SC1200 CPU,該CPU基于X86架構(gòu),具有266Mhz主頻,為系統(tǒng)的及時(shí)響應(yīng)提供了有利保障。經(jīng)過(guò)實(shí)測(cè),由FPGA發(fā)起中斷,到中斷得到響應(yīng)只需要大約750ns,并且在VxWorks操作系統(tǒng)系統(tǒng)下最多能處理20KHz的中斷。X-BOARD通過(guò)PCI 9054橋接芯片進(jìn)行總線擴(kuò)展,F(xiàn)PGA作為PCI 本地端。由于PCI總線與DSP接口速率的不一致性,所有數(shù)據(jù)交換經(jīng)由FPGA內(nèi)部定義的雙端口SRAM進(jìn)行緩沖。
3 軟件設(shè)計(jì)
Socket 是BSD UNIX定義的一種應(yīng)用程序使用TCP協(xié)議的接口,許多操作系統(tǒng)包括VxWorks都采用socket接口[3]。在本遠(yuǎn)程控制系統(tǒng)中采用基于TCP協(xié)議的可靠數(shù)據(jù)流SOCK_STREAM,它能提供有序雙向字節(jié)流和帶外數(shù)據(jù)傳輸能力,每一次完整的傳輸都要經(jīng)歷建立連接、使用連接、中止連接的過(guò)程,從而保證了數(shù)據(jù)傳輸?shù)目煽啃浴?
除了確定底層網(wǎng)絡(luò)傳輸協(xié)議外,在整個(gè)客戶端和服務(wù)器端軟件中還應(yīng)設(shè)計(jì)自己的數(shù)據(jù)傳輸協(xié)議,以解析復(fù)雜的控制命令,調(diào)試參數(shù),程序加載數(shù)據(jù)和控制參數(shù)等。在本系統(tǒng)軟件設(shè)計(jì)中所有數(shù)據(jù)采用1001字節(jié)的數(shù)據(jù)包進(jìn)行傳輸,其中有效數(shù)據(jù)為后1000字節(jié),第一個(gè)字節(jié)為控制字。當(dāng)接收到一包數(shù)據(jù)時(shí),首先提取第一個(gè)字節(jié),解析應(yīng)該對(duì)該幀數(shù)據(jù)進(jìn)行何種處理。
軟件設(shè)計(jì)主要集中在客戶端軟件和服務(wù)器端軟件的設(shè)計(jì)。客戶端軟件開(kāi)發(fā)在VC++6.0集成開(kāi)發(fā)環(huán)境中完成,其軟件結(jié)構(gòu)設(shè)計(jì)如圖3所示。子線程接收服務(wù)器端發(fā)送的數(shù)據(jù)并通過(guò)消息隊(duì)列傳遞到主線程,主線程分別處理本地命令和子線程傳遞的數(shù)據(jù)。本地命令指操作人員通過(guò)客戶端人機(jī)界面發(fā)出的命令,主要有DSP程序加載、復(fù)位控制、PWM封鎖與開(kāi)放、控制參數(shù)調(diào)整、后臺(tái)數(shù)據(jù)記錄等。以DSP程序加載過(guò)程為例,詳細(xì)說(shuō)明客戶端與服務(wù)器如何進(jìn)行命令與數(shù)據(jù)交互。首先將加載文件讀入緩沖區(qū),然后將數(shù)據(jù)打包發(fā)送到服務(wù)器端,服務(wù)器端收到數(shù)據(jù)包后首先提取控制字,識(shí)別出為加載程序數(shù)據(jù)包后,通過(guò)握手信號(hào)XF與BIO對(duì)DSP進(jìn)行程序加載。子線程接收的數(shù)據(jù)包主要包括4路調(diào)試參數(shù)以及4路誤差數(shù)據(jù),主線程接收到子線程傳遞的數(shù)據(jù)包后,也是首先提取控制字,然后判斷應(yīng)采取何種操作。
圖3客戶端軟件設(shè)計(jì)流程圖
服務(wù)器端軟件開(kāi)發(fā)在VxWorks集成開(kāi)發(fā)環(huán)境Tornado 2.2 下完成。相比客戶端軟件,服務(wù)器端軟件需要完成更多的工作,如中斷處理、PCI驅(qū)動(dòng)、協(xié)議解析、與DSP握手等,但是由于Tornado 2.2開(kāi)發(fā)工具強(qiáng)大的功能,所有需求都能方便的進(jìn)行開(kāi)發(fā)。服務(wù)器端軟件結(jié)構(gòu)設(shè)計(jì)如圖4。
[align=center]
圖4服務(wù)器端軟件設(shè)計(jì)流程圖[/align]
由圖4可看出,服務(wù)器端軟件基于多任務(wù)設(shè)計(jì),主任務(wù)首先初始化PCI驅(qū)動(dòng)和網(wǎng)絡(luò),然后以循環(huán)方式接受客戶端連接并孵化相應(yīng)的數(shù)據(jù)接收和發(fā)送子任務(wù)。數(shù)據(jù)接收子任務(wù)接收來(lái)自客戶端的數(shù)據(jù)和命令,經(jīng)過(guò)協(xié)議解析后進(jìn)行相應(yīng)處理;PCI中斷服務(wù)程序只進(jìn)行信號(hào)量釋放操作,用以通知數(shù)據(jù)發(fā)送子任務(wù)從雙端口RAM中讀取數(shù)據(jù)并發(fā)送到客戶端。
4 實(shí)際控制試驗(yàn)
圖5為試驗(yàn)平臺(tái)結(jié)構(gòu)示意圖,經(jīng)過(guò)實(shí)際控制驗(yàn)證,本系統(tǒng)能實(shí)現(xiàn)約20米距離的點(diǎn)對(duì)點(diǎn)數(shù)據(jù)傳輸,工作時(shí)的網(wǎng)絡(luò)數(shù)據(jù)流量達(dá)到1.25Mbps,后臺(tái)一次可記錄達(dá)30MB容量的運(yùn)行數(shù)據(jù)以供事后分析??蛻舳丝赏瑫r(shí)監(jiān)控4路調(diào)試參數(shù)、四路誤差數(shù)據(jù)以及網(wǎng)絡(luò)數(shù)據(jù)流量變化趨勢(shì),并能實(shí)時(shí)調(diào)整四個(gè)控制參數(shù)。
[align=center]
圖5 試驗(yàn)平臺(tái)結(jié)構(gòu)示意圖[/align]
圖6是根據(jù)該遠(yuǎn)程控制系統(tǒng)客戶端所記錄數(shù)據(jù),繪制的快速反射鏡X方向通過(guò)電渦流信號(hào)位置閉環(huán)的過(guò)程。圖中上半部分為電渦流變化曲線,下半部分為控制量變化曲線。經(jīng)過(guò)測(cè)試在10K采樣率的情況下,系統(tǒng)運(yùn)行穩(wěn)定,數(shù)據(jù)傳輸無(wú)丟包。
[align=center]
圖6 快速反射鏡位置閉環(huán)測(cè)試[/align]
5 結(jié)束語(yǔ)
本文作者的創(chuàng)新點(diǎn)在于充分利用VxWorks操作系統(tǒng)的高實(shí)時(shí)性,控創(chuàng)X-BOARD<861>嵌入式處理器模塊的小體積、高性能以及傳統(tǒng)以太網(wǎng)的遠(yuǎn)距離、高數(shù)據(jù)傳輸帶寬等特點(diǎn)構(gòu)建了一個(gè)完整的遠(yuǎn)程控制系統(tǒng),每年產(chǎn)生經(jīng)濟(jì)效益約50萬(wàn)元。文中詳細(xì)論述了整個(gè)系統(tǒng)的軟硬件設(shè)計(jì)及后期的試驗(yàn)平臺(tái)架構(gòu),并給出了實(shí)際控制結(jié)果。該系統(tǒng)具有良好的通用性,可以很方便的應(yīng)用到大部分需要遠(yuǎn)程控制的場(chǎng)合。
經(jīng)測(cè)試驗(yàn)證,該系統(tǒng)能完全滿足當(dāng)前的控制需求,保證了各種功能的實(shí)現(xiàn),為光電跟蹤設(shè)備的進(jìn)一步小型化、模塊化提供了新途徑。
參考文獻(xiàn):
[1] X-board 861 Manual R120 [Z],2004,Kontron。
[2] VxWorks network programmers guide 5.5[Z], 2003, WindRiver System Inc。
[3] 李方敏,VxWorks高級(jí)程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2004。
[4] 李峰,應(yīng)宏, 張軍.利用TCP/IP實(shí)現(xiàn)Windows與VxWorks的通信[J].微計(jì)算機(jī)信息,2006,22卷第5期:21-23。
[5] 馬佳光,捕獲跟蹤與瞄準(zhǔn)系統(tǒng)的基本技術(shù)問(wèn)題[J].光電工程,1989年3月,16卷第3期:1-41。
[6] 傅承毓,姜凌濤,任戈等.快速反射鏡成像跟蹤系統(tǒng)[J].光電工程,1994年3月,21卷第3期:1-8。