在RTX環(huán)境下的PCI板卡驅(qū)動(dòng)方法研究_第1頁
在RTX環(huán)境下的PCI板卡驅(qū)動(dòng)方法研究_第2頁
在RTX環(huán)境下的PCI板卡驅(qū)動(dòng)方法研究_第3頁
在RTX環(huán)境下的PCI板卡驅(qū)動(dòng)方法研究_第4頁
在RTX環(huán)境下的PCI板卡驅(qū)動(dòng)方法研究_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、    在rtx環(huán)境下的pci板卡驅(qū)動(dòng)方法研究    陳麗平摘要:制導(dǎo)控制系統(tǒng)半實(shí)物仿真是制導(dǎo)控制系統(tǒng)研制工作中非常重要的手段,為保證實(shí)驗(yàn)結(jié)果的準(zhǔn)確性,其對(duì)實(shí)時(shí)性要求非常高。windows操作系統(tǒng)不是一個(gè)實(shí)時(shí)性操作系統(tǒng),rtx擴(kuò)展了該系統(tǒng)的硬件抽象層,提供了精確的時(shí)鐘,定時(shí)器,但rtx只支持部分的外圍硬件驅(qū)動(dòng),對(duì)于半實(shí)物仿真中使用的各類pci板卡驅(qū)動(dòng)不支持,本文以某類型的pci板卡為例,介紹了一種在rtx環(huán)境下pci板卡驅(qū)動(dòng)的方法。關(guān)鍵詞:rtx 制導(dǎo)控制系統(tǒng) 硬件抽象層:tp39 :a :1007-9416(2016)07-0094-011 概述在半實(shí)

2、物仿真平臺(tái)搭建過程中,對(duì)于參試設(shè)備多、結(jié)構(gòu)復(fù)雜的仿真系統(tǒng),其對(duì)實(shí)時(shí)性的要求非常高,如何保證仿真的實(shí)時(shí)性一直是仿真界研究中的一個(gè)重點(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)先級(jí)比較少,定時(shí)精度比較差,故其不是一個(gè)實(shí)時(shí)的操作系統(tǒng),不適用于實(shí)時(shí)性要求較高的半實(shí)物仿真平臺(tái)。rtx能很好的解決這一問題,它是windows操作系統(tǒng)的擴(kuò)展,在保留windows所有優(yōu)勢(shì)的同時(shí)實(shí)現(xiàn)硬實(shí)時(shí)處理能力的軟件解

3、決方案,其完全利用windows的特性,開發(fā)簡(jiǎn)單,無需專用工具包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)先級(jí)都高于windows的進(jìn)程,此外還提供了精確的時(shí)鐘,定時(shí)器。其提供的定時(shí)器周期最小可達(dá)100微妙,完全能夠滿足半實(shí)物仿真平臺(tái)搭建的需求。2 板卡驅(qū)動(dòng)方法cpu是通過地址訪問或內(nèi)存訪問的方式實(shí)現(xiàn)pci設(shè)備的功能,而驅(qū)動(dòng)程序就是直接操作設(shè)備工作的軟件程序,所以實(shí)現(xiàn)pci設(shè)備的驅(qū)動(dòng)程序就是對(duì)相應(yīng)的寄存器進(jìn)行相應(yīng)的操

4、作。實(shí)現(xiàn)以上操作須獲得該設(shè)備在bios上的基地址,及相應(yīng)寄存器的偏移地址,基地址加偏移地址才能操作該寄存器,此外還須了解pci設(shè)備寄存器的屬性,需廠家詳細(xì)的硬件手冊(cè)。2.1 pci設(shè)備信息獲取pci設(shè)備寄存器配置,是由bios初始化自動(dòng)完成完成。如需開發(fā)某pci設(shè)備的驅(qū)動(dòng)程序,須定位到該設(shè)備,獲取該設(shè)備的信息,如該設(shè)備的映射基地址、pci總線號(hào)等,在訪問內(nèi)部寄存器之前,要對(duì)邏輯映射地之或端口進(jìn)行使能2。在rtx下使rtgetbusdatabyoffset()函數(shù)獲得pci設(shè)備信息,通過遍歷比較vendorid、deviceid和cardindex,定位到該設(shè)備。偽代碼如下:for(ubusnu

5、m)/總線循環(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è)備的

6、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.t

7、ype0.baseaddresses2 & 0xfffffffe;上述vendorid、deviceid和cardindex,可在設(shè)備管理器中查詢。2.2 訪問內(nèi)部寄存器對(duì)板卡操作的核心就是對(duì)板卡內(nèi)部寄存器的配置和讀寫,上述已獲得pci板卡的基本信息,根據(jù)廠家的硬件手冊(cè),可以知道內(nèi)部寄存器的功能、地址及其性質(zhì)3。以pci12初始配置為例,偽代碼如下:for( i=0;i< p>rtwriteportuchar(puchar)(addr1716+0x04), i); /配置采樣的通rtwriteportuchar(puchar)(addr1716+0x05), i); /配置

8、采樣的通道rtwriteportuchar(puchar)(addr1716+0x02), ucgain); /配置采樣的通道的電壓范圍len12ad為ad采樣通道數(shù),為16,addr12是pci12板卡的基地址,后面為操作寄存器的偏移地址。同樣,要實(shí)現(xiàn)該板卡的其他功能,到硬件手冊(cè)里找到相應(yīng)的寄存器,對(duì)其進(jìn)行相應(yīng)的配置和讀寫即可。操作完畢之后,關(guān)閉板卡,用rtdisableportio()函數(shù)關(guān)閉io。3 結(jié)語rtx解決了windows不能提供強(qiáng)實(shí)時(shí)性的問題,但其不支持半實(shí)物仿真平臺(tái)搭建中使用的板卡驅(qū)動(dòng),本文介紹了一種在rtx環(huán)境下的pci板卡驅(qū)動(dòng)方法,通過實(shí)驗(yàn)表明,該方法可行且穩(wěn)定可靠。參考文獻(xiàn)1黃鍵,龐亞華,薛順虎.ptx環(huán)境下pci設(shè)備實(shí)時(shí)驅(qū)動(dòng)的開發(fā).計(jì)算機(jī)工程,2010.2呂瑛,陳懷民,吳成富,鄧紅德.rtx換件下某智能串口卡的驅(qū)動(dòng)開發(fā).科學(xué)技術(shù)與工程,2007.3黃甫禎, 陳懷民,吳成富,王亮.基于rtx的實(shí)時(shí)網(wǎng)絡(luò)應(yīng)用研究.測(cè)控技術(shù),2008.數(shù)字技術(shù)與應(yīng)用2016年7期數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論