亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于RTX的舵機(jī)控制系統(tǒng)研制

        2011-04-25 07:28:22張蓓蕾夏偉杰周建江
        電子科技 2011年11期
        關(guān)鍵詞:板卡驅(qū)動(dòng)程序實(shí)時(shí)性

        張蓓蕾,夏偉杰,周建江

        (南京航空航天大學(xué) 電子信息工程學(xué)院,江蘇 南京210016)

        舵機(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,Hardware 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ā)[1]。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 Release 7.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套件。

        圖1 舵控仿真系統(tǒng)的組成框圖

        3 軟件設(shè)計(jì)

        為提高Windows下數(shù)據(jù)采集的實(shí)時(shí)性,又滿足舵機(jī)控制實(shí)時(shí)性的要求,舵機(jī)控制采用模塊化的設(shè)計(jì),設(shè)計(jì)分為上下兩層,兩層之間需要共享內(nèi)存進(jìn)行數(shù)據(jù)通信[2]。軟件組成的結(jié)構(gòu)體系如圖2所示。

        圖2 軟件組成的結(jié)構(gòu)體系

        RTX程序開(kāi)發(fā)平臺(tái)選擇VC6.0+Ardence RTX,RTX將開(kāi)發(fā)環(huán)境直接嵌入到用戶(hù)熟悉的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]。

        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)。編寫(xiě)基于RTX的驅(qū)動(dòng)程序,可以通過(guò)調(diào)用實(shí)時(shí)應(yīng)用程序編程接口(RTAPI,Real-Time Application Programming Interface)函數(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)單[4]。

        圖3 軟件操作流程

        所謂驅(qū)動(dòng)程序,就是直接控制設(shè)備進(jìn)行工作的底層程序,實(shí)現(xiàn)了硬件和高層應(yīng)用程序的交互[5]。如果要使用PXI總線設(shè)備上的某個(gè)功能,就需要CPU能通過(guò)某段范圍的地址訪問(wèn)或內(nèi)存訪問(wèn)的方式與該功能交互。RTX驅(qū)動(dòng)程序可以將獲得的基地址轉(zhuǎn)換成系統(tǒng)能夠識(shí)別的虛擬地址,然后通過(guò)讀寫(xiě)函數(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)。

        在RTX環(huán)境下,PXI設(shè)備驅(qū)動(dòng)程序的基本結(jié)構(gòu)如圖4所示。其中,PXI設(shè)備和RTX位于結(jié)構(gòu)底層,PXI設(shè)備與RTX內(nèi)核通過(guò)中斷和I/O端口來(lái)進(jìn)行數(shù)據(jù)交互,RTX內(nèi)核通過(guò)庫(kù)函數(shù)和設(shè)備驅(qū)動(dòng)程序來(lái)提供所需服務(wù)。上層應(yīng)用程序與底層驅(qū)動(dòng)程序通過(guò)建立共享內(nèi)存來(lái)進(jìn)行通信[6]。

        圖4 RTX下PXI驅(qū)動(dòng)程序基本結(jié)構(gòu)

        在RTX環(huán)境下進(jìn)行PXI設(shè)備驅(qū)動(dòng)開(kāi)發(fā),首先需要將Windows下的設(shè)備轉(zhuǎn)換為RTX下的設(shè)備[7]。RTX提供實(shí)現(xiàn)該功能的屬性窗,如圖5所示。利用RTX屬性窗進(jìn)行轉(zhuǎn)換分主要分為兩個(gè)步驟:

        (1)添加RTX的INF支持;

        (2)在設(shè)備管理器中更新設(shè)備驅(qū)動(dòng),將PXI設(shè)備從Windows支持轉(zhuǎn)換為RTX支持。

        圖5 屬性窗RTX Properties

        RTX環(huán)境下一個(gè)完整的PXI驅(qū)動(dòng)程序至少由以下幾方面組成:

        (1)設(shè)備初始化和釋放。查找PCI設(shè)備傳送設(shè)備號(hào)和廠家號(hào)兩個(gè)主要參數(shù),并遍歷所有的PCI插槽直到匹配為止。找到設(shè)備后,讀出中斷號(hào)、基地址等,為以后的工作做準(zhǔn)備。

        (2)地址到虛擬地址的映射,使系統(tǒng)能夠識(shí)別硬件。由于對(duì)硬件的讀寫(xiě)操作是基于物理地址,而應(yīng)用程序?qū)崿F(xiàn)讀寫(xiě)操作使用的是虛擬地址,所以驅(qū)動(dòng)程序必須要完成地址映射。

        設(shè)計(jì)的PXI板卡驅(qū)動(dòng)程序首先用接口函數(shù)DeviceSearch()在總線上輪詢(xún),并查找到設(shè)備。然后通過(guò)DeviceInit()函數(shù)獲得設(shè)備的硬件資源,如中斷號(hào)、內(nèi)存、輸入輸出I/O和DMA等。通過(guò)RtGetBus-DataByOffset()函數(shù)訪問(wèn)設(shè)備的整個(gè)PCI配置空間,得到本地配置寄存器和存儲(chǔ)空間內(nèi)存的基地址和中斷號(hào)等信息,然后根據(jù)獲得的基地址利用RtTranslateBus-Address()和RtMapMemory()函數(shù)將讀取出來(lái)的基地址轉(zhuǎn)換為系統(tǒng)能夠訪問(wèn)的虛擬地址[8]。需要指出的是,板卡的本地寄存器和存儲(chǔ)空間可以通過(guò)Memory映像和I/O直接訪問(wèn)[9],文中設(shè)計(jì)的驅(qū)動(dòng)程序的運(yùn)用的是Memory映像。如選用I/O直接訪問(wèn),可以通過(guò)調(diào)用RtEnablePortIo()和RtReadPortUchar()等函數(shù)即實(shí)現(xiàn)對(duì)端口的直接讀寫(xiě)。當(dāng)找到并打開(kāi)板卡后就可以自定義讀寫(xiě)函數(shù)對(duì)板卡進(jìn)行讀寫(xiě)操作,從而達(dá)到控制板卡的目的,具體開(kāi)發(fā)流程如圖6所示。

        圖6 驅(qū)動(dòng)程序開(kāi)發(fā)流程圖

        4 結(jié)束語(yǔ)

        RTX環(huán)境下的驅(qū)動(dòng)程序可以通過(guò)RTX函數(shù)進(jìn)行直接訪問(wèn)的,能夠隨時(shí)停止隨時(shí)配置。文中基于RTX,在Windows平臺(tái)實(shí)現(xiàn)了風(fēng)洞虛擬飛行試驗(yàn)舵控仿真系統(tǒng)。與直接基于Windows平臺(tái)設(shè)計(jì)的系統(tǒng)相比,系統(tǒng)的響應(yīng)時(shí)間提高到ms級(jí),滿足了實(shí)時(shí)性要求。由于測(cè)試軟件是基于VC++環(huán)境開(kāi)發(fā)的可視化軟件,系統(tǒng)具有良好的可擴(kuò)展性,通用性較強(qiáng)。通過(guò)聯(lián)調(diào),驗(yàn)證了仿真系統(tǒng)的可靠性和實(shí)時(shí)性。

        [1] 閆宇壯,楊祚堂.RTX在半實(shí)物仿真中的軟件開(kāi)發(fā)方法[J].兵工自動(dòng)化,2006,25(9):89-90.

        [2] 黃鍵,宋曉,薛順虎.RTX平臺(tái)下實(shí)時(shí)仿真系統(tǒng)的設(shè)計(jì)方法[J].計(jì)算機(jī)應(yīng)用與軟件,2009,26(4):166-169.

        [3] 王偉,袁保君,吳佳楠.基于RTX的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].測(cè)控技術(shù),2009,28(10):22-25.

        [4] 談世哲,尚緒強(qiáng),趙萬(wàn)生.基于RTX的工業(yè)機(jī)器人全軟件關(guān)節(jié)位置伺服控制器的研究[J].自動(dòng)化技術(shù)與應(yīng)用,2004,23(5):34-37.

        [5] 張蕾.基于RTX的全軟件數(shù)控系統(tǒng)的研究[D].秦皇島:燕山大學(xué),2006.

        [6] 吳勇,熊振華,丁漢.基于RTX和MFC的后封裝平臺(tái)數(shù)據(jù)采集和控制系統(tǒng)[J].系統(tǒng)工程與電子技術(shù),2004,26(9):1257-1261.

        [7] 劉紅.通用CompactPCI/PXI接口技術(shù)研究[D].成都:四川大學(xué),2005.

        [8] 王道彬,陳懷民,別洪武.基于RTX的實(shí)時(shí)測(cè)控系統(tǒng)軟件設(shè)計(jì)[J].火力與指揮控制,2009,34(8):125-127.

        [9] 黃鍵,宋曉,薛順虎.RTX平臺(tái)下實(shí)時(shí)仿真系統(tǒng)的設(shè)計(jì)方法[J].計(jì)算機(jī)應(yīng)用與軟件,2009,26(4):166-169.

        猜你喜歡
        板卡驅(qū)動(dòng)程序實(shí)時(shí)性
        基于規(guī)則實(shí)時(shí)性的端云動(dòng)態(tài)分配方法研究
        基于PCI9054的多總線通信板卡的研制
        基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
        基于虛擬局域網(wǎng)的智能變電站通信網(wǎng)絡(luò)實(shí)時(shí)性仿真
        航空電子AFDX與AVB傳輸實(shí)時(shí)性抗干擾對(duì)比
        一種基于光纖數(shù)據(jù)傳輸?shù)亩喟蹇ㄜ浖绦驘龑?xiě)技術(shù)
        一種通用模擬量及開(kāi)關(guān)量信號(hào)采集板卡的設(shè)計(jì)
        一種車(chē)載Profibus總線系統(tǒng)的實(shí)時(shí)性分析
        驅(qū)動(dòng)程序更新與推薦
        驅(qū)動(dòng)程序更新與推薦
        美日韩毛片| 风韵丰满熟妇啪啪区老熟熟女| 又粗又硬又大又爽免费视频播放| 欧美日本国产va高清cabal| 国产精品每日更新在线观看 | 91精品国产综合久久国产| 久久精品国产亚洲夜色av网站| 欧美一区二区三区红桃小说| 专区国产精品第一页| 少妇特殊按摩高潮不断| av天堂最新在线播放| 久久精品中文字幕大胸| 国产精品video| 日本二区视频在线观看| 中文字幕乱码熟女人妻在线| 一本色道久久88综合日韩精品| 亚洲乱码视频在线观看| 国产真实二区一区在线亚洲| 青青草高中生在线视频| 久久精品国产亚洲av高清热| 欧美精品在线一区| 亚洲国产成人精品一区刚刚| 精品国产一区二区三区av| 毛片大全真人在线| 巨臀中文字幕一区二区| 国产亚洲一区二区精品| 亚洲av国产av综合av卡| 好男人视频在线视频| 国产福利一区二区三区视频在线看| 中文字幕人妻少妇伦伦| 人人爽人人澡人人人妻| 无码日日模日日碰夜夜爽| 丰满少妇av一区二区三区| 日本在线 | 中文| 国产免费久久精品国产传媒| 亚洲二区三区四区太九| 亚洲视频网站大全免费看| 久久精品国产第一区二区三区| 白白色免费视频一区二区| 成人av资源在线播放| 日本真人做人试看60分钟|