當(dāng)前位置:中美貿(mào)易網(wǎng) > 技術(shù)中心 > 所有分類
引言
隨著嵌入式計(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等。其優(yōu)異的嵌入式特性表現(xiàn)在低功耗、小尺寸、無(wú)須外加散熱裝置、對(duì)各種架構(gòu)CPU具有相當(dāng)?shù)拈_放性、便于性能升級(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)成
在整個(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)??焖俜瓷溏R的位置信息通過(guò)采樣電渦流傳感器電壓輸出值獲得,而快速反射鏡的轉(zhuǎn)動(dòng)由音圈電機(jī)驅(qū)動(dòng)。
由以上論述我們可以看出,嵌入式子模塊設(shè)計(jì)是整個(gè)遠(yuǎn)程控制系統(tǒng)的關(guān)鍵。
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接口。在本遠(yuǎn)程控制系統(tǒng)中采用基于TCP協(xié)議的可靠數(shù)據(jù)流SOCK_STREAM,它能提供有序雙向字節(jié)流和帶外數(shù)據(jù)傳輸能力,每一次完整的傳輸都要經(jīng)歷建立連接、使用連接、中止連接的過(guò)程,從而保證了數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
除了確定底層網(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ì)。客戶端軟件開發(fā)在VC++6.0集成開發(fā)環(huán)境中完成,其軟件結(jié)構(gòu)設(shè)計(jì)如圖3所示。子線程接收服務(wù)器端發(fā)送的數(shù)據(jù)并通過(guò)消息隊(duì)列傳遞到主線程,主線程分別處理本地命令和子線程傳遞的數(shù)據(jù)。本地命令指操作人員通過(guò)客戶端人機(jī)界面發(fā)出的命令,主要有DSP程序加載、復(fù)位控制、PWM與開放、控制參數(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)采取何種操作。
服務(wù)器端軟件開發(fā)在VxWorks集成開發(fā)環(huán)境Tornado2.2下完成。相比客戶端軟件,服務(wù)器端軟件需要完成更多的工作,如中斷處理、PCI驅(qū)動(dòng)、協(xié)議解析、與DSP握手等,但是由于Tornado2.2開發(fā)工具強(qiáng)大的功能,所有需求都能方便的進(jìn)行開發(fā)。服務(wù)器端軟件結(jié)構(gòu)設(shè)計(jì)如圖1。
由圖1可看出,服務(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)
圖2為試驗(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ù)以供事后分析。客戶端可同時(shí)監(jiān)控4路調(diào)試參數(shù)、四路誤差數(shù)據(jù)以及網(wǎng)絡(luò)數(shù)據(jù)流量變化趨勢(shì),并能實(shí)時(shí)調(diào)整四個(gè)控制參數(shù)。
圖3是根據(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ú)丟包。
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)一步小型化、模塊化提供了新途徑。