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

        ?

        基于Ardence RTX的1553B驅(qū)動程序開發(fā)

        2014-09-26 03:48:36金相男
        電子設(shè)計工程 2014年2期
        關(guān)鍵詞:板卡驅(qū)動程序實時性

        金相男

        (中國空空導彈研究院 河南 洛陽 471009)

        飛行控制組件是空空導彈的重要組成部分。隨著空空導彈地位的提高,飛行控制組件的重要性也日益凸顯。其作用主要是控制導彈的飛行,并將導彈飛行狀態(tài)信息傳遞到其他組件,協(xié)作確保導彈按一定軌跡運行并最終正確擊中目標。

        飛行控制組件的測試系統(tǒng)不僅僅強調(diào)結(jié)果的正確性,更重要的是要求得到結(jié)果的時間,即實時性。實時系統(tǒng)主要應(yīng)用于過程控制、數(shù)據(jù)采集、通信、多媒體信息處理等對時間敏感的場合。飛控組件性能測試系統(tǒng)對實時性的要求非常高,要求在確定的、有限的時間內(nèi)完成一次測試周期,包括大量數(shù)據(jù)的采集,同時對采集到得數(shù)據(jù)進行計算,并根據(jù)計算的結(jié)果輸出控制信號,有時還要對數(shù)據(jù)進行存儲和顯示。針對測控系統(tǒng)對實時性的要求,從實時性、穩(wěn)定性和易用性等方面對幾種提高系統(tǒng)實時性的方法進行了比較,選取了Ardence RTX(Real-Time Extension)來對Windows系統(tǒng)進行實時擴展。而目前采用的1553B還不支持RTX,所以該設(shè)計方案主要針對1553B進行相應(yīng)的RTX驅(qū)動開發(fā)。

        1 硬件部分

        飛控組件測試系統(tǒng)主要包括總控計算機系統(tǒng)(CTS)、遙測計算機系統(tǒng) (BTS)、信號調(diào)理單元 (SCU)等5個部分,1553B就用于總控計算機系統(tǒng)的載機電氣接口部分,與其他板卡配合實現(xiàn)簡單的火控算法,模擬載機對飛控系統(tǒng)發(fā)送飛行任務(wù)等。

        1553B總線是飛機內(nèi)部時分制命令/響應(yīng)多路復用數(shù)據(jù)總線,是由美國軍方專為飛機上設(shè)備定制的一種信息傳輸總線標準。1553B總線系統(tǒng)主要由三部分組成:總線控制器BC、遠程終端RT、數(shù)據(jù)總線Data Bus。工作頻率1Mb/s,半雙工工作方式。

        1553B有3個類型的終端,即總線上唯一被安排為執(zhí)行建立和啟動數(shù)據(jù)傳輸任務(wù)的終端—總線控制器(BC)、用戶子系統(tǒng)到數(shù)據(jù)總線上的接口—遠程終端(RT)、監(jiān)控總線上信息傳輸以完成對總線上數(shù)據(jù)源進行記錄和分析的—總線監(jiān)控器(MT)。遠程終端在總線控制器的控制下提取數(shù)據(jù)或吸收數(shù)據(jù),總線監(jiān)控器本身不參與總線通信。

        1553B的實時性好,數(shù)據(jù)傳輸速率比一般的通訊網(wǎng)高,總線下率高,而且有特有的方式命令以及差錯控制措施(反饋重傳糾錯方法),確保了數(shù)據(jù)的完整性。由于其價格相對較高,所以多用于軍事而非普通工業(yè)。

        2 軟件部分

        飛控系統(tǒng)屬于半實物仿真的實時測控系統(tǒng),實時測控系統(tǒng)需要硬件支持,更依賴軟件系統(tǒng),而在軟件中最關(guān)鍵的是實時操作系統(tǒng),滿足一些基本的要求:滿足時間期限、多任務(wù)、搶占調(diào)度以及快速靈活的任務(wù)間的通信與同步[2]。由于Windows操作系統(tǒng)在線程調(diào)度、中斷處理和定時器精度等方面體現(xiàn)出來的弱實時性,所以單純的利用Windows操作系統(tǒng)已經(jīng)遠遠不能滿足測控系統(tǒng)對實時性的要求,因此本設(shè)計將采用對Windows系統(tǒng)進行實時擴展的方式來滿足實時要求。通過對系統(tǒng)結(jié)構(gòu)、開發(fā)難易度以及開發(fā)成本等方面考慮最終選擇了Ardence RTX對Windows進行擴展。

        2.1 軟件開發(fā)環(huán)境

        RTX (Real Time Extension)程序開發(fā)平臺選擇VisualStudio2005+Ardence RTX7.1。

        RTX是美國Ardence公司開發(fā)的基于Windows操作系統(tǒng)的硬實時解決方案,其充分利用了Windows良好的可擴展性體系結(jié)構(gòu),增加了一個實時的子系統(tǒng)RTSS修改和擴展了Windows系統(tǒng)提供的硬件抽象層(HAL,Hardware Abstract Layers)。RTSS提供了實時運行環(huán)境和響應(yīng)的編程接口,其滿足:

        1)任何時間其優(yōu)先級都高于Windows。

        2)執(zhí)行實時任務(wù)時,能夠延遲Windows的中斷和錯誤。

        3)執(zhí)行實時任務(wù)時,能夠處理實時中斷。

        RTX的體系結(jié)構(gòu)如圖1所示。

        RTX被實現(xiàn)為一套庫的集合,提供了一套被乘坐RTWinAPI的標準動態(tài)庫,可以被標準Win32環(huán)境和RTSS環(huán)境調(diào)用。Windows服務(wù)控制管理器直接將RTX進程和動態(tài)鏈接庫(DLL)的可執(zhí)行映像裝入內(nèi)核的非分頁內(nèi)存中,確保在運行過程中不被置換出內(nèi)存,保證了對外部事件響應(yīng)的確定性。

        當運行RTSS線程時,所有Windows控制的中斷都被屏蔽掉。當Windows線程請求設(shè)置中斷屏蔽時,作為實際管理中斷屏蔽的軟件,HAL確保沒有任何RTSS中斷被屏蔽。RTSS執(zhí)行自己的基于搶占的線程調(diào)度,并支持128級線程優(yōu)先級。

        Windows提供的計時器的定時周期為1000微秒 (1毫秒)。RT-HAL將其降到了100微秒并且提供了同步(與計時器)的時鐘,其最小分辨率為100納秒。

        2.2 硬件環(huán)境配置

        圖1 RTX體系結(jié)構(gòu)Fig.1 RTX structure

        因為硬件要工作在RTX環(huán)境下,所以要將硬件導入到RTX。首先安裝板卡的Windows驅(qū)動,在RTX Properties的Hardware標簽頁下選擇設(shè)備設(shè)置,在Windows設(shè)備中右鍵點擊1553B的板卡選擇“Add RTX INF Support”,應(yīng)用即可。在RTX環(huán)境下,設(shè)備要獨占中斷號以保證其正常運行。

        2.3 驅(qū)動程序設(shè)計

        2.3.1 驅(qū)動程序框架

        安裝好VS2005之后安裝RTX7.1,RTX程序工程的建立直接嵌入到Visual Studio的開發(fā)環(huán)境中,如圖2所示,多出了3個選項,選擇Rtx Device Driver根據(jù)向?qū)Ъ纯缮沈?qū)動程序框架,RTX的包含文件和庫文件的路徑已默認設(shè)置好,生成的文件類型為*.rtss。

        通過RTX驅(qū)動生成向?qū)Э焖偕傻腜CI設(shè)備驅(qū)動程序框架提供函數(shù)接口有:

        1)設(shè)備管理函數(shù)

        使用DeviceSearch()函數(shù)通過VenderID和DeviceID在總線上輪詢查找設(shè)備,若找到則獲得設(shè)備的總線號。使用DeviceInit()函數(shù)獲得設(shè)備的硬件資源如中斷號、內(nèi)存、輸入輸出I/O和DMA等。使用DeviceClean()函數(shù)清除設(shè)備并釋放硬件資源。

        圖2 VisualStudio2005工程選項卡Fig.2 VisualStudio2005 project tab control

        2)中斷管理函數(shù)

        當系統(tǒng)產(chǎn)生中斷后,程序首先進入DeviceISR,首先判斷是不是該設(shè)備的中斷,如果不是則傳到下一個共享該中斷號的設(shè)備,如果是則進入DeviceIST處理中斷,注意,處理時先要禁止該板卡的中斷然后查看獲得的中斷類型,釋放信號通知相應(yīng)的線程進行相應(yīng)的中斷處理,然后清中斷并使能板卡中斷繼續(xù)工作。

        在中斷處理的過程中使用到的函數(shù)包括:DisableInterrupts OnChip ()、EnableInterruptsOnChip ()、IsMyInterrups()等。

        2.3.2 驅(qū)動內(nèi)部自定義函數(shù)

        為了滿足用戶需求,將自定義一些結(jié)構(gòu)體和函數(shù)用于對硬件進行初始化、讀寫配置、寄存器訪問、本地控件訪問等。該部分函數(shù)不向用戶開放,僅內(nèi)部調(diào)用。以設(shè)置為BC模式時使用的消息結(jié)構(gòu)體為例[5]:

        結(jié)構(gòu)體中包含了數(shù)據(jù)傳輸方向、傳輸方式等基本信息,利用結(jié)構(gòu)體將這些信息進行簡單封裝可使開發(fā)更加簡潔。

        其他相關(guān)函數(shù)例如:寫9054本地寄存器函數(shù)void WriteLocalReg_1553B (USHORT offset, UINT32 regVal)、 讀PCI配置空間void ReadPciConfigReg_1553B (USHORT offset,UINT32*pRegVal, DATA_WIDTH_MODE dataWidth)、 軟件復位芯片void SoftReset_1553B()等。

        如果讀寫數(shù)據(jù)量比較大的情況下,可以采用DMA傳輸方式。軟件上配合DMA操作需要以下步驟:選擇DMA通道;填寫DMA模式控制寄存器和傳輸相關(guān)的寄存器包括PCI地址、LOCAL地址、傳輸數(shù)據(jù)量大小、傳輸方向等信息;啟動DMA傳輸。相關(guān)的函數(shù)例如:DMA控制與配置模塊BOOLEAN DMACtrl_1553B (PLX9054_DMA_CMD cmd, UINT32*pData)、初始化設(shè)備結(jié)構(gòu)體中描述DMA的元素BOOLEAN DMAInit_1553B ()、DMA 塊 讀 寫 BOOLEAN DMARead WriteBlock_1553B (CH_NUM_1553B chNum, UINT32 dwLocalAddr,UINT8*buffer, BOOL IsLocal2PCI)等。

        2.3.3 用戶接口函數(shù)

        軟件上需要實現(xiàn)的接口主要包括[6]:打開關(guān)閉板卡、工作模式設(shè)置、填充相關(guān)消息、啟動停止發(fā)送、讀取狀態(tài)字等,例如int OpenCard_1553B()、int CloseCard_1553B()等。 用戶只要完成應(yīng)用層面的工作,需要關(guān)心驅(qū)動是如何實現(xiàn)數(shù)據(jù)傳遞的。

        2.4 RTX驅(qū)動開發(fā)中設(shè)備共享中斷問題及解決方法

        2.4.1 Windows設(shè)備與RTX設(shè)備

        由于RTX技術(shù)說明文檔中明確指出RTX設(shè)備必須獨占中斷號,所以是不能與Windows設(shè)備共享中斷,如果出現(xiàn)中斷號沖突,RTX設(shè)備的圖標會帶有嘆號表示不能整成使用,只能將與其沖突中斷號的Windows設(shè)備停用并刷新重啟。

        2.4.2 RTX設(shè)備之間

        1)打開RTX Property中的設(shè)備管理器,找到RTX下的設(shè)備,如果兩個或以上的設(shè)備共享了中斷號,其前面的圖標均有嘆號表示沒有獲得有效的中斷資源,雙擊打開,顯示了板卡的一些資源信息,設(shè)置Disposition,默認的是Device Exclusive表示獨占中斷資源,需要改成Shared By RTX將該設(shè)備設(shè)成中斷共享的,如圖3所示。確定后需更新驅(qū)動程序并重啟計算機,共享設(shè)備可正常工作了;

        2)在打開板卡的代碼中RtxAttachInterruptsEx()函數(shù)有一個參數(shù)BOOLEAN ShareVector,設(shè)置為TRUE;

        3)中斷服務(wù)例程ISR和中斷服務(wù)線程IST:

        RtAttachInterruptsEx()函數(shù)為每個中斷向量掛接ISR和IST,在指明了該中斷是共享中斷時,RTX會將所有共享該中斷的ISR組成一個函數(shù)鏈,這樣每次發(fā)生該中斷時都會依據(jù)ISR將這個鏈調(diào)用一遍,僅當是本設(shè)備產(chǎn)生中斷才被處理。進入ISR后首先調(diào)用IsMyInterrupt函數(shù)讀取PLX9054中斷寄存器的值,查看DMA中斷和Local中斷是否被使能,如果都沒有表示不是本設(shè)備產(chǎn)生的中斷,ISR返回PassToNextDevice將該中斷傳遞給鏈表中的下一個ISR處理,如果是本設(shè)備產(chǎn)生的中斷,則ISR返回CallInterruptThread進入IST處理。在IST中先要向PLX9054中斷寄存器中相應(yīng)位置零禁止該設(shè)備其它中斷的產(chǎn)生,然后根據(jù)中斷類型進行相應(yīng)處理,最后向相應(yīng)寄存器中寫入數(shù)值清中斷,再使能設(shè)備中斷繼續(xù)工作。流程如圖3所示。

        圖3 共享中斷流程圖Fig.3 Flow chart of share interrupt

        3 結(jié) 論

        論文研究的1553B驅(qū)動程序開發(fā)是基于Windows+RTX環(huán)境的,實現(xiàn)了在Windows操作系統(tǒng)中嵌入RTX實時子系統(tǒng),有效地將Windows系統(tǒng)強大的界面開發(fā)能力和RTX的實時性能結(jié)合起來,并使系統(tǒng)結(jié)構(gòu)簡化緊湊,為今后在Windows系統(tǒng)平臺下實現(xiàn)實時測控奠定了良好的基礎(chǔ)。

        [1]任傳俊.基于RTX的MATLAB實時仿真技術(shù)研究與實現(xiàn)[D].長沙:國防科技大學,2006.

        [2]宮厚良.基于RTX和LabVIEW的實時多任務(wù)測控系統(tǒng)的研究[D].重慶:重慶大學,2008.

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

        [4]Stankovic J A,Ramamritham K.What is predictability for real-time systems[J].Real-Time Systems,1990,2(4):247-254.

        [5]胡靖宇.實時軟件開發(fā)技術(shù)的研究與實現(xiàn) [D].西安:西北工業(yè)大學,2002.

        [6]張沖,張科,呂梅柏.空空導彈飛控軟件實時仿真系統(tǒng)研究[J].系統(tǒng)仿真學報,2008,20(23):6387-6390.

        ZHANG Chong,ZHANG Ke,LV Mei-bai.Research of realtime simulation system for air-to-air missile’s flight control software[J].Journal of System Simulation,2008,20 (23):6387-6390.

        猜你喜歡
        板卡驅(qū)動程序實時性
        基于規(guī)則實時性的端云動態(tài)分配方法研究
        基于PCI9054的多總線通信板卡的研制
        基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
        基于虛擬局域網(wǎng)的智能變電站通信網(wǎng)絡(luò)實時性仿真
        航空電子AFDX與AVB傳輸實時性抗干擾對比
        一種基于光纖數(shù)據(jù)傳輸?shù)亩喟蹇ㄜ浖绦驘龑懠夹g(shù)
        一種通用模擬量及開關(guān)量信號采集板卡的設(shè)計
        一種車載Profibus總線系統(tǒng)的實時性分析
        驅(qū)動程序更新與推薦
        驅(qū)動程序更新與推薦
        一本大道香蕉视频在线观看| 久久久久亚洲av成人人电影| 国产男小鲜肉同志免费| 天堂在线www中文| 欧美日韩综合在线视频免费看 | 国产精品亚洲av国产| 人妻少妇猛烈井进入中文字幕| 亚洲国产精品无码中文字 | 国产小视频网址| 天堂最新在线官网av| 五月综合丁香婷婷久久| 熟女体下毛荫荫黑森林| 午夜福利麻豆国产精品| 亚洲熟女av超清一区二区三区| 亚洲中文字幕一区av| 俺去啦最新地址| 国产精品白浆一区二小说| 久久久久久人妻一区二区无码Av| 日本午夜精品一区二区三区| 内射欧美老妇wbb| 成人区视频| 日本在线观看一区二区三区视频| 男人的天堂av高清在线| 欧美aa大片免费观看视频| 亚洲国产日韩欧美高清片a| 亚洲精品一区二区在线免费观看| 麻豆tv入口在线看| 亚洲日韩专区在线视频| 综合图区亚洲偷自拍熟女| 免费a级毛片18禁网站| 午夜精品久久久久久中宇| 少妇bbwbbw高潮| 成年人干逼视频水好多| 日夜啪啪一区二区三区| 久久精品国产一区二区蜜芽| 色小姐在线视频中文字幕| 亚洲av日韩av永久无码下载| 亚洲日韩欧美国产高清αv| 黑人免费一区二区三区| 少妇高潮太爽了在线看| 婷婷午夜天|