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