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

        ?

        在RTX環(huán)境下的PCI板卡驅(qū)動方法研究

        2016-05-14 22:11:11陳麗平

        陳麗平

        摘要:制導(dǎo)控制系統(tǒng)半實(shí)物仿真是制導(dǎo)控制系統(tǒng)研制工作中非常重要的手段,為保證實(shí)驗(yàn)結(jié)果的準(zhǔn)確性,其對實(shí)時(shí)性要求非常高。Windows操作系統(tǒng)不是一個實(shí)時(shí)性操作系統(tǒng),RTX擴(kuò)展了該系統(tǒng)的硬件抽象層,提供了精確的時(shí)鐘,定時(shí)器,但RTX只支持部分的外圍硬件驅(qū)動,對于半實(shí)物仿真中使用的各類PCI板卡驅(qū)動不支持,本文以某類型的PCI板卡為例,介紹了一種在RTX環(huán)境下PCI板卡驅(qū)動的方法。

        關(guān)鍵詞:RTX 制導(dǎo)控制系統(tǒng) 硬件抽象層

        中圖分類號:TP39 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2016)07-0094-01

        1 概述

        在半實(shí)物仿真平臺搭建過程中,對于參試設(shè)備多、結(jié)構(gòu)復(fù)雜的仿真系統(tǒng),其對實(shí)時(shí)性的要求非常高,如何保證仿真的實(shí)時(shí)性一直是仿真界研究中的一個重點(diǎn)和難點(diǎn)。仿真的實(shí)時(shí)性要求響應(yīng)時(shí)間準(zhǔn)確,受外界影響小,并且其在執(zhí)行相同的任務(wù)過程中,每次任務(wù)執(zhí)行時(shí)間應(yīng)保持一致。Windows操作系統(tǒng)由于其友好的人機(jī)交互界面、Win32接口函數(shù)豐富、功能強(qiáng)大等特點(diǎn)得到廣泛應(yīng)用,但其線程調(diào)度機(jī)制隱含著不確定性,且線程的優(yōu)先級比較少,定時(shí)精度比較差,故其不是一個實(shí)時(shí)的操作系統(tǒng),不適用于實(shí)時(shí)性要求較高的半實(shí)物仿真平臺。RTX能很好的解決這一問題,它是Windows操作系統(tǒng)的擴(kuò)展,在保留Windows所有優(yōu)勢的同時(shí)實(shí)現(xiàn)硬實(shí)時(shí)處理能力的軟件解決方案,其完全利用Windows的特性,開發(fā)簡單,無需專用工具包[1]。

        RTX(Real - Time Extension)是美國Ardence公司在Windows操作系統(tǒng)基礎(chǔ)上開發(fā)的一套軟件實(shí)現(xiàn)硬實(shí)時(shí)解決方案,結(jié)構(gòu)如圖1。

        從圖1看出,RTX的實(shí)時(shí)子系統(tǒng)RTSS有精確高速的任務(wù)調(diào)度器,其優(yōu)先級都高于windows的進(jìn)程,此外還提供了精確的時(shí)鐘,定時(shí)器。其提供的定時(shí)器周期最小可達(dá)100微妙,完全能夠滿足半實(shí)物仿真平臺搭建的需求。

        2 板卡驅(qū)動方法

        CPU是通過地址訪問或內(nèi)存訪問的方式實(shí)現(xiàn)PCI設(shè)備的功能,而驅(qū)動程序就是直接操作設(shè)備工作的軟件程序,所以實(shí)現(xiàn)PCI設(shè)備的驅(qū)動程序就是對相應(yīng)的寄存器進(jìn)行相應(yīng)的操作。實(shí)現(xiàn)以上操作須獲得該設(shè)備在BIOS上的基地址,及相應(yīng)寄存器的偏移地址,基地址加偏移地址才能操作該寄存器,此外還須了解PCI設(shè)備寄存器的屬性,需廠家詳細(xì)的硬件手冊。

        2.1 PCI設(shè)備信息獲取

        PCI設(shè)備寄存器配置,是由BIOS初始化自動完成完成。如需開發(fā)某PCI設(shè)備的驅(qū)動程序,須定位到該設(shè)備,獲取該設(shè)備的信息,如該設(shè)備的映射基地址、PCI總線號等,在訪問內(nèi)部寄存器之前,要對邏輯映射地之或端口進(jìn)行使能[2]。在RTX下使RtGetBusDataByOffset()函數(shù)獲得PCI設(shè)備信息,通過遍歷比較VendorID、DeviceID和CardIndex,定位到該設(shè)備。偽代碼如下:

        for(uBusNum)//總線循環(huán)

        for(uDeviceNum)//設(shè)備循環(huán)

        for(uFunNum)//功能循環(huán)

        {uBytesWritten = RtGetBusDataByOffset(PCIConfiguration,uBusNum,SlotNumber.u.AsULONG,PciData,uOffset,PCI_COMMON_HDR_LENGTH);//獲取PCI設(shè)備信息

        if((PciData->DeviceID == DeviceID) && (PciData->VendorID == VendorID) && uDeviceNum == CardIndex)//比較PCI設(shè)備的VendorID和DeviceID和CardIndex定位設(shè)備

        {

        //端口使能設(shè)置

        PciData->Command = (PCI_ENABLE_IO_SPACE | PCI_ENABLE_MEMORY_SPACE | PCI_ENABLE_BUS_MASTER | PCI_ENABLE_WRITE_AND_INVALIDATE);

        RtSetBusDataByOffset(PCIConfiguration,uBusNum,SlotNumber.u.AsULONG,PciData,0,PCI_COMMON_HDR_LENGTH);

        //基地址獲得

        _base_addr = PciData->u.type0.BaseAddresses[2] & 0xfffffffe;

        上述VendorID、DeviceID和CardIndex,可在設(shè)備管理器中查詢。

        2.2 訪問內(nèi)部寄存器

        對板卡操作的核心就是對板卡內(nèi)部寄存器的配置和讀寫,上述已獲得PCI板卡的基本信息,根據(jù)廠家的硬件手冊,可以知道內(nèi)部寄存器的功能、地址及其性質(zhì)[3]。以PCI12初始配置為例,偽代碼如下:

        for( i=0;i

        {

        RtWritePortUchar((PUCHAR)(addr1716+0x04), i); //配置采樣的通

        RtWritePortUchar((PUCHAR)(addr1716+0x05), i); //配置采樣的通道

        RtWritePortUchar((PUCHAR)(addr1716+0x02), ucGain); //配置采樣的通道的電壓范圍

        }

        Len12AD為AD采樣通道數(shù),為16,addr12是PCI12板卡的基地址,后面為操作寄存器的偏移地址。同樣,要實(shí)現(xiàn)該板卡的其他功能,到硬件手冊里找到相應(yīng)的寄存器,對其進(jìn)行相應(yīng)的配置和讀寫即可。操作完畢之后,關(guān)閉板卡,用RtDisablePortIo()函數(shù)關(guān)閉IO。

        3 結(jié)語

        RTX解決了Windows不能提供強(qiáng)實(shí)時(shí)性的問題,但其不支持半實(shí)物仿真平臺搭建中使用的板卡驅(qū)動,本文介紹了一種在RTX環(huán)境下的PCI板卡驅(qū)動方法,通過實(shí)驗(yàn)表明,該方法可行且穩(wěn)定可靠。

        參考文獻(xiàn)

        [1]黃鍵,龐亞華,薛順虎.PTX環(huán)境下PCI設(shè)備實(shí)時(shí)驅(qū)動的開發(fā).計(jì)算機(jī)工程,2010.

        [2]呂瑛,陳懷民,吳成富,鄧紅德.RTX換件下某智能串口卡的驅(qū)動開發(fā).科學(xué)技術(shù)與工程,2007.

        [3]黃甫禎, 陳懷民,吳成富,王亮.基于RTX的實(shí)時(shí)網(wǎng)絡(luò)應(yīng)用研究.測控技術(shù),2008.

        乱中年女人伦av| 亚洲偷自拍国综合第一页| 国产太嫩了在线观看| 日韩乱码人妻无码中文字幕视频 | 亚洲av成熟国产精品一区二区| 老熟女富婆激情刺激对白| 久久久久99精品成人片欧美| 成在线人av免费无码高潮喷水| 中国猛少妇色xxxxx| 97久久综合区小说区图片专区| 国产优质女主播在线观看| 日本久久精品视频免费| 精品无码国产一区二区三区麻豆| 亚洲国产精品日韩av不卡在线| 麻豆精品网站国产乱子伦| 亚洲日本一区二区在线观看 | 97夜夜澡人人双人人人喊| 亚洲国产精品久久亚洲精品| 国产精品中文第一字幕| 亚洲天堂av另类在线播放| 国产最新女主播福利在线观看| 极品成人影院| 91精品国产福利尤物免费| 牛仔裤人妻痴汉电车中文字幕| 国产视频一区二区在线免费观看 | 在线观看热码亚洲av每日更新 | 色综合久久精品亚洲国产| 中文字幕亚洲无线码在一区| 亚洲精品日本| 一区二区三区四区黄色av网站| 亚洲av永久中文无码精品综合| 亚洲精品无码久久久久av麻豆| 亚洲人成影院在线高清| 久久想要爱蜜臀av一区二区三区| 四虎影视成人永久免费观看视频| 中出内射颜射骚妇| 国产视频不卡在线| 久久久麻豆精亚洲av麻花| 国产xxxxx在线观看| 国产精品一区二区资源| 成人精品国产亚洲av久久|