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

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

2016-05-14 22:11:11陳麗平
數(shù)字技術與應用 2016年7期

陳麗平

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

關鍵詞:RTX 制導控制系統(tǒng) 硬件抽象層

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

1 概述

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

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

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

2 板卡驅動方法

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

2.1 PCI設備信息獲取

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

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

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

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

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

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

{

//端口使能設置

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,可在設備管理器中查詢。

2.2 訪問內部寄存器

對板卡操作的核心就是對板卡內部寄存器的配置和讀寫,上述已獲得PCI板卡的基本信息,根據(jù)廠家的硬件手冊,可以知道內部寄存器的功能、地址及其性質[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板卡的基地址,后面為操作寄存器的偏移地址。同樣,要實現(xiàn)該板卡的其他功能,到硬件手冊里找到相應的寄存器,對其進行相應的配置和讀寫即可。操作完畢之后,關閉板卡,用RtDisablePortIo()函數(shù)關閉IO。

3 結語

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

參考文獻

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

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

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

主站蜘蛛池模板: 日韩精品免费在线视频| 无码人中文字幕| 久久精品国产国语对白| www.国产福利| 免费AV在线播放观看18禁强制| 国产一级在线观看www色 | 中文无码日韩精品| 欧美三級片黃色三級片黃色1| 色135综合网| 国产乱人伦AV在线A| 亚洲国产成人麻豆精品| 国产成人综合网| 欧美精品xx| 久久这里只有精品23| 久久国语对白| 美女视频黄又黄又免费高清| 国产精品美女在线| 亚洲国内精品自在自线官| 一级高清毛片免费a级高清毛片| 91福利片| 国产十八禁在线观看免费| 国产女人在线| 国产十八禁在线观看免费| 日韩123欧美字幕| 日韩在线视频网| 国产精品30p| 亚洲国产欧美中日韩成人综合视频| 亚洲有码在线播放| 婷婷综合在线观看丁香| 国产日本欧美在线观看| 97色伦色在线综合视频| 亚洲全网成人资源在线观看| 精品一区二区三区无码视频无码| 日本精品中文字幕在线不卡| 日韩黄色在线| 在线观看网站国产| 日本不卡在线视频| 人妻少妇乱子伦精品无码专区毛片| 国内精自视频品线一二区| 亚洲国产成人久久精品软件| 一级毛片免费播放视频| 久久久91人妻无码精品蜜桃HD| 久久久久青草线综合超碰| a天堂视频在线| 伊人大杳蕉中文无码| 国产激情国语对白普通话| 国产一区二区三区在线观看免费| 专干老肥熟女视频网站| 在线观看亚洲精品福利片| 日韩无码黄色| 国产91成人| 亚洲乱码精品久久久久..| 香蕉久久国产精品免| 国产精品自拍露脸视频| 国产小视频免费观看| 久久精品国产一区二区小说| 亚洲中字无码AV电影在线观看| 国产一级片网址| 亚洲黄色片免费看| 亚洲无码视频一区二区三区| 国产XXXX做受性欧美88| 国产乱人伦精品一区二区| 91欧美在线| 国产精品久久自在自线观看| 欧美a在线| 成人精品视频一区二区在线| 亚洲高清国产拍精品26u| 91网在线| 99青青青精品视频在线| 国产综合精品一区二区| 国产极品美女在线播放| 色综合久久88色综合天天提莫| 在线色国产| 2020精品极品国产色在线观看| 国产白浆视频| 97超碰精品成人国产| 四虎成人精品| 国产乱人免费视频| 欧美黄网在线| 亚洲中文无码h在线观看| 中美日韩在线网免费毛片视频| 一本大道香蕉久中文在线播放|