999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2014-09-26 03:48:36金相男
電子設(shè)計(jì)工程 2014年2期
關(guān)鍵詞:設(shè)備系統(tǒng)

金相男

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

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

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

1 硬件部分

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

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

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

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

2 軟件部分

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

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

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

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

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

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

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

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

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

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

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

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

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

因?yàn)橛布ぷ髟赗TX環(huán)境下,所以要將硬件導(dǎo)入到RTX。首先安裝板卡的Windows驅(qū)動,在RTX Properties的Hardware標(biāo)簽頁下選擇設(shè)備設(shè)置,在Windows設(shè)備中右鍵點(diǎn)擊1553B的板卡選擇“Add RTX INF Support”,應(yīng)用即可。在RTX環(huán)境下,設(shè)備要獨(dú)占中斷號以保證其正常運(yùn)行。

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

2.3.1 驅(qū)動程序框架

安裝好VS2005之后安裝RTX7.1,RTX程序工程的建立直接嵌入到Visual Studio的開發(fā)環(huán)境中,如圖2所示,多出了3個(gè)選項(xiàng),選擇Rtx Device Driver根據(jù)向?qū)Ъ纯缮沈?qū)動程序框架,RTX的包含文件和庫文件的路徑已默認(rèn)設(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工程選項(xiàng)卡Fig.2 VisualStudio2005 project tab control

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

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

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

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

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

結(jié)構(gòu)體中包含了數(shù)據(jù)傳輸方向、傳輸方式等基本信息,利用結(jié)構(gòu)體將這些信息進(jìn)行簡單封裝可使開發(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)、 軟件復(fù)位芯片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ù)

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

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

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

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

2.4.2 RTX設(shè)備之間

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

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

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

RtAttachInterruptsEx()函數(shù)為每個(gè)中斷向量掛接ISR和IST,在指明了該中斷是共享中斷時(shí),RTX會將所有共享該中斷的ISR組成一個(gè)函數(shù)鏈,這樣每次發(fā)生該中斷時(shí)都會依據(jù)ISR將這個(gè)鏈調(diào)用一遍,僅當(dāng)是本設(shè)備產(chǎn)生中斷才被處理。進(jìn)入ISR后首先調(diào)用IsMyInterrupt函數(shù)讀取PLX9054中斷寄存器的值,查看DMA中斷和Local中斷是否被使能,如果都沒有表示不是本設(shè)備產(chǎn)生的中斷,ISR返回PassToNextDevice將該中斷傳遞給鏈表中的下一個(gè)ISR處理,如果是本設(shè)備產(chǎn)生的中斷,則ISR返回CallInterruptThread進(jìn)入IST處理。在IST中先要向PLX9054中斷寄存器中相應(yīng)位置零禁止該設(shè)備其它中斷的產(chǎn)生,然后根據(jù)中斷類型進(jìn)行相應(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)境的,實(shí)現(xiàn)了在Windows操作系統(tǒng)中嵌入RTX實(shí)時(shí)子系統(tǒng),有效地將Windows系統(tǒng)強(qiáng)大的界面開發(fā)能力和RTX的實(shí)時(shí)性能結(jié)合起來,并使系統(tǒng)結(jié)構(gòu)簡化緊湊,為今后在Windows系統(tǒng)平臺下實(shí)現(xiàn)實(shí)時(shí)測控奠定了良好的基礎(chǔ)。

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

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

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

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

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

[6]張沖,張科,呂梅柏.空空導(dǎo)彈飛控軟件實(shí)時(shí)仿真系統(tǒng)研究[J].系統(tǒng)仿真學(xué)報(bào),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.

猜你喜歡
設(shè)備系統(tǒng)
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
500kV輸變電設(shè)備運(yùn)行維護(hù)探討
主站蜘蛛池模板: 欧美亚洲国产日韩电影在线| 亚洲午夜天堂| 亚洲精品无码久久久久苍井空| 日韩精品亚洲一区中文字幕| 人禽伦免费交视频网页播放| 国产一区二区影院| 婷婷午夜影院| AV在线天堂进入| 日本欧美视频在线观看| 国产成人午夜福利免费无码r| 在线色综合| 国产精品美女免费视频大全| 国产视频久久久久| 蜜桃视频一区二区三区| 国产精品无码AV片在线观看播放| 国产嫖妓91东北老熟女久久一| A级全黄试看30分钟小视频| 亚洲国产av无码综合原创国产| 狠狠亚洲婷婷综合色香| 国产亚洲高清在线精品99| 露脸一二三区国语对白| 亚洲乱伦视频| 国产丝袜精品| 国产欧美日韩综合在线第一| 二级毛片免费观看全程| 91色在线观看| 日韩天堂网| 强奷白丝美女在线观看| 日本一区二区三区精品国产| 国产成人艳妇AA视频在线| 超清无码熟妇人妻AV在线绿巨人| 九色在线观看视频| 日本影院一区| 亚洲伦理一区二区| 国产欧美日韩91| 天天操天天噜| 欧美成人国产| 亚洲精品国产日韩无码AV永久免费网 | 日韩精品资源| 97成人在线观看| 色欲国产一区二区日韩欧美| 日韩视频福利| 久久一本精品久久久ー99| 91视频国产高清| 国产乱人伦AV在线A| 久久无码av三级| 国产美女无遮挡免费视频网站| 试看120秒男女啪啪免费| 免费视频在线2021入口| 久久亚洲精少妇毛片午夜无码| 免费观看国产小粉嫩喷水| 天天综合网色中文字幕| 久热这里只有精品6| 香蕉视频在线观看www| 亚洲天堂久久| 男女性色大片免费网站| 91色在线视频| 久久综合丝袜日本网| 一级成人a毛片免费播放| 一级毛片高清| 久操中文在线| 色偷偷av男人的天堂不卡| 精品国产福利在线| 国产剧情国内精品原创| 久久一级电影| 视频一区视频二区中文精品| 成人第一页| 一级毛片免费不卡在线| 国产性生交xxxxx免费| 亚洲成a∧人片在线观看无码| 在线人成精品免费视频| 欧洲极品无码一区二区三区| 中文成人无码国产亚洲| 国产老女人精品免费视频| 国产精品久久自在自线观看| 亚洲无码四虎黄色网站| 亚洲AⅤ综合在线欧美一区| 狂欢视频在线观看不卡| 无码专区国产精品第一页| 欧美天堂久久| 97精品久久久大香线焦| 一本大道东京热无码av|