摘要 設(shè)計(jì)并研制了一種基于RTX實(shí)時(shí)擴(kuò)展模塊的2.4 m風(fēng)洞虛擬飛行試驗(yàn)的舵機(jī)控制系統(tǒng)。該系統(tǒng)用于采集天平、陀螺儀、舵機(jī)、光電編碼器信號(hào),為飛機(jī)各主要部件的氣動(dòng)特性評(píng)估提供了重要依據(jù)。文中介紹了RTX實(shí)時(shí)模塊和硬件設(shè)計(jì)、軟件設(shè)計(jì)。并通過(guò)實(shí)際應(yīng)用表明,該系統(tǒng)具有實(shí)時(shí)性強(qiáng)、算法可靠、精度高、用戶操作簡(jiǎn)單等優(yōu)點(diǎn)。
關(guān)鍵詞 RTX;驅(qū)動(dòng)程序;PXI;舵控仿真
舵機(jī)控制是虛擬飛行實(shí)驗(yàn)中的關(guān)鍵技術(shù),為滿足測(cè)試的實(shí)時(shí)性要求,文中設(shè)計(jì)了一套基于Windows RTX環(huán)境下的舵機(jī)控制系統(tǒng),通過(guò)采集天平、陀螺儀、舵機(jī)、光電編碼器信號(hào),分析飛機(jī)各主要部件的氣動(dòng)特性。該控制系統(tǒng)的主要功能包括:舵機(jī)控制軟件可以自動(dòng)完成對(duì)舵機(jī)的上電及解鎖操作;舵機(jī)響應(yīng)可根據(jù)實(shí)際需要作出相應(yīng)的模式選擇和參數(shù)設(shè)置;采集到的數(shù)據(jù)可做到實(shí)時(shí)界面顯示,用于現(xiàn)場(chǎng)實(shí)驗(yàn)分析。
1 RTX實(shí)時(shí)模塊
在工業(yè)控制、航空航天等領(lǐng)域,對(duì)系統(tǒng)實(shí)時(shí)性有很高的要求。系統(tǒng)的事件響應(yīng)如果不確定或超時(shí),就可能會(huì)導(dǎo)致系統(tǒng)出錯(cuò),甚至崩潰,Windows系統(tǒng)很難滿足實(shí)時(shí)性的要求。RTX正是應(yīng)這一要求,利用Windows平臺(tái)提供的豐富的設(shè)備驅(qū)動(dòng)模型,通過(guò)定制硬件抽象層(HAL,Har塑封電感器dw are Abstraction Layer),對(duì)Windows系統(tǒng)進(jìn)行了實(shí)時(shí)擴(kuò)展。RTX使得系統(tǒng)具有較強(qiáng)的實(shí)時(shí)性,能在一個(gè)事先定義好的時(shí)間限制中對(duì)外部或內(nèi)部的事件進(jìn)行響應(yīng)和處理RTX是一個(gè)嵌入Windows的獨(dú)立實(shí)時(shí)系統(tǒng),支持在Windows平臺(tái)下基于Visual Studio的實(shí)時(shí)應(yīng)用程序開(kāi)發(fā)。RTX給開(kāi)發(fā)者提供了操作系統(tǒng)和實(shí)時(shí)性的最佳結(jié)合,既可以使用Windows的豐富資源和軟件開(kāi)發(fā)調(diào)試工具,又可以在一個(gè)獨(dú)立的控制子系統(tǒng)上實(shí)現(xiàn)硬實(shí)時(shí)。RTX Release7.1支持絕大部分的Microsoft操作系統(tǒng),同時(shí)支持單處理器(Uniprocessor)、多處理器(Multi-processor)、移動(dòng)處理器(Mobile Processor)、超線程(Hyper-threading-enabled),以及多核平臺(tái)(Multiple-core platform)。
文中基于RTX,在Windows平臺(tái)上實(shí)現(xiàn)了舵控仿真系統(tǒng)中高確定性和高速反應(yīng)時(shí)間的應(yīng)用部件和模塊與其它非實(shí)時(shí)應(yīng)用部件的正常運(yùn)行。
2 系統(tǒng)的硬件設(shè)計(jì)
該系統(tǒng)的構(gòu)成如圖1所示。硬件系統(tǒng)包括上位機(jī)一工業(yè)控制計(jì)算、下位機(jī)-PXI機(jī)箱、位于PXI機(jī)箱中的PXI測(cè)試板卡、電源和顯示器構(gòu)成,所有這些部件都組裝在一個(gè)雙聯(lián)測(cè)試機(jī)柜中。PXI測(cè)試板卡包括數(shù)字I/O板卡、A/D轉(zhuǎn)換卡、串口卡、RS422卡和PXI轉(zhuǎn)PCI套件。
3 軟件設(shè)計(jì)
為提高Windows下數(shù)據(jù)采集的實(shí)時(shí)性,又滿足舵機(jī)控制實(shí)時(shí)性的要求,舵機(jī)控制采用模塊化的設(shè)計(jì),設(shè)計(jì)分為上下兩層,兩層之間需要共享內(nèi)存進(jìn)行數(shù)據(jù)通信。軟件組成的結(jié)構(gòu)體插件電感系如圖2所示。
RTX程序開(kāi)發(fā)平臺(tái)選擇VC6.0+Ardence RTX,RTX將開(kāi)發(fā)環(huán)境直接嵌入到用戶熟悉的VC6.0中,用RTX提供的向?qū)Ъ纯缮蒖TX環(huán)境下的設(shè)備驅(qū)動(dòng)和應(yīng)用程序,大大縮短了開(kāi)發(fā)周期。RTX和Windows運(yùn)行在一臺(tái)計(jì)算機(jī)上,也節(jié)省了系統(tǒng)的硬件成本,提高了系統(tǒng)可靠性。
3.1 上層軟件
在啟動(dòng)舵機(jī)控制程序之前,先要啟動(dòng)RTX實(shí)時(shí)環(huán)境,因?yàn)榈讓域?qū)動(dòng)程序和上層舵機(jī)控制程序是同時(shí)運(yùn)行的。軟件的具體操作流程如圖3所示。
3.2 底層軟件
根據(jù)舵機(jī)控制軟件對(duì)數(shù)據(jù)采集的實(shí)時(shí)性要求,首先要對(duì)各采集板卡做在RTX下的驅(qū)動(dòng)開(kāi)發(fā),這是舵機(jī)控制系統(tǒng)解決實(shí)時(shí)性問(wèn)題的重點(diǎn)和難點(diǎn)。編寫基于RTX的驅(qū)動(dòng)程序塑封電感器,可以通過(guò)調(diào)用實(shí)時(shí)應(yīng)用程序編程接口(RTAPI,Real-Time Applieation Programming Interf電感器圖片ace)函數(shù)來(lái)訪問(wèn)實(shí)時(shí)子系統(tǒng)(RTSS,Real-Time Sub-System),并維持其系統(tǒng)的實(shí)時(shí)性。這樣處理的優(yōu)點(diǎn)是硬件可以通過(guò)RTX函數(shù)直接訪問(wèn),驅(qū)動(dòng)開(kāi)發(fā)也更加簡(jiǎn)單。
所謂驅(qū)動(dòng)程序,就是直接控制設(shè)備進(jìn)行工作的底層程序,實(shí)現(xiàn)了硬件和高層應(yīng)用程序的交互。如果要使用大功率電感貼片電感器PXI總線設(shè)備上的某個(gè)功能,就需要CPU能通過(guò)某段范圍的地址訪問(wèn)或內(nèi)存訪問(wèn)的方式與該功能交互。RTX驅(qū)動(dòng)程序可以將獲得的基地址轉(zhuǎn)換成系統(tǒng)能夠識(shí)別的虛擬地址,然后通過(guò)讀寫函數(shù)對(duì)不同板卡的底層寄存器進(jìn)行操作,從而實(shí)現(xiàn)控制板卡正常工作。PCI定位寄存器配置由BIOS自動(dòng)完成初始化,如分配總線號(hào)、中斷向量、地址空間等,驅(qū)動(dòng)程序只需要對(duì)數(shù)據(jù)偏移寄存器,即設(shè)備內(nèi)部寄存器進(jìn)行配置。訪問(wèn)內(nèi)部寄存器,首先要獲得PCI設(shè)備在BIOS上的映射基地址,然后根據(jù)設(shè)備的寄存器偏移量和格式對(duì)寄存器進(jìn)行訪問(wèn)。
電感器工作原理圖 大功率電感廠家 |大電流電感工廠