![基于PCI接口的虛擬儀器軟件開發(fā)_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/3/9afdbc4e-f785-41ab-b11d-41d6808fd85c/9afdbc4e-f785-41ab-b11d-41d6808fd85c1.gif)
![基于PCI接口的虛擬儀器軟件開發(fā)_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/3/9afdbc4e-f785-41ab-b11d-41d6808fd85c/9afdbc4e-f785-41ab-b11d-41d6808fd85c2.gif)
![基于PCI接口的虛擬儀器軟件開發(fā)_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/3/9afdbc4e-f785-41ab-b11d-41d6808fd85c/9afdbc4e-f785-41ab-b11d-41d6808fd85c3.gif)
![基于PCI接口的虛擬儀器軟件開發(fā)_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/3/9afdbc4e-f785-41ab-b11d-41d6808fd85c/9afdbc4e-f785-41ab-b11d-41d6808fd85c4.gif)
![基于PCI接口的虛擬儀器軟件開發(fā)_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/3/9afdbc4e-f785-41ab-b11d-41d6808fd85c/9afdbc4e-f785-41ab-b11d-41d6808fd85c5.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于PCI接口的虛擬儀器軟件開發(fā)摘 要:介紹了一種使用LabView軟件和VC+編輯的動(dòng)態(tài)鏈接庫(kù)開發(fā)基于PCI接口的虛擬儀器軟件的方法,并且給出了動(dòng)態(tài)鏈接庫(kù)設(shè)計(jì)的范例。 1 引言 PCI總線是一種目前使用非常普遍的、為CPU與外設(shè)提供高性能數(shù)據(jù)總線的局部總線。由于PCI總線的高速特性,他可以有效解決數(shù)據(jù)的實(shí)時(shí)采集、實(shí)時(shí)傳輸和實(shí)時(shí)存儲(chǔ)等問題,現(xiàn)有基于PC機(jī)的各種虛擬儀器大多都使用了PCI總線。 所謂虛擬儀器,就是在通用計(jì)算機(jī)平臺(tái)上,用戶根據(jù)自己的需求定義和設(shè)計(jì)儀器的測(cè)試功能,其實(shí)質(zhì)是將傳統(tǒng)儀器硬件和最新計(jì)算機(jī)軟件技術(shù)充分結(jié)合起來(lái),以實(shí)現(xiàn)并擴(kuò)展傳統(tǒng)儀器的功能。與傳統(tǒng)儀器相比,虛擬儀器在智能化程度、
2、處理能力、性能價(jià)格比、可操作性等方面均具有明顯的技術(shù)優(yōu)勢(shì)。 我們?yōu)榛赑CI接口的虛擬儀器開發(fā)界面及驅(qū)動(dòng),使用LabView(Laboratory Virtual Instrument Engineering Workbench實(shí)驗(yàn)室虛擬儀器工程平臺(tái))及C+軟件開發(fā)。2 LabView設(shè)計(jì)使用 LabView是目前國(guó)際上首推應(yīng)用最廣的虛擬儀器開發(fā)環(huán)境之一,主要應(yīng)用于儀器控制、數(shù)據(jù)采集、數(shù)據(jù)分析、數(shù)據(jù)顯示等領(lǐng)域。 LabView軟件工具的特點(diǎn)與優(yōu)點(diǎn)可歸納為: (1)圖形化的編程方式,無(wú)需寫任何文本格式的代碼,是真正的工程師的語(yǔ)言。 (2)提供了豐富的數(shù)據(jù)采集、分析及存儲(chǔ)的庫(kù)函數(shù)。 (3)提供了傳
3、統(tǒng)的程序調(diào)試手段,如設(shè)置斷點(diǎn)、單步運(yùn)行,同時(shí)提供有獨(dú)到的高亮度執(zhí)行工具,使程序動(dòng)畫式運(yùn)行,利于設(shè)計(jì)者觀察程序運(yùn)行的細(xì)節(jié),使程序的調(diào)試和開發(fā)更為便捷。 (4)32位的編譯器生成32位編譯程序,保證用戶數(shù)據(jù)采集、測(cè)試和測(cè)量方案的高速執(zhí)行。 (5)包括了DAQ GPIB PXI VXI RS232/485在內(nèi)的各種儀器通信總線標(biāo)準(zhǔn)的所有功能函數(shù),使得不懂總線標(biāo)準(zhǔn)的開發(fā)者也能夠駕馭不同總線標(biāo)準(zhǔn)的接口設(shè)備與儀器。 (6)提供了大量與外部代碼和軟件進(jìn)行連接的機(jī)制,諸如DDLs(動(dòng)態(tài)連接庫(kù))、DDE(共享庫(kù))、ActineX等。2.1 LabView程序設(shè)計(jì)的一般過程 一個(gè)LabView程序設(shè)計(jì)主要包括前面
4、板的設(shè)計(jì)、框圖程序的設(shè)計(jì)和程序的調(diào)試。 (1)首先創(chuàng)建前面板 前面板中主要由輸入控制器和輸出顯示器組成。利用工具模板來(lái)添加輸入控制器和輸出顯示器(添加后會(huì)在框圖程序中出現(xiàn)對(duì)應(yīng)的指示器和控制器框圖)??刂破髟试S用戶輸入數(shù)據(jù)到程序,指示器用來(lái)顯示程序運(yùn)行的結(jié)果。 (2)框圖程序設(shè)計(jì) 相當(dāng)于源代碼的設(shè)計(jì)。對(duì)框圖程序設(shè)計(jì)主要是對(duì)節(jié)點(diǎn)、數(shù)據(jù)端口和連線的設(shè)計(jì)。節(jié)點(diǎn)是LabView程序運(yùn)行的要素,他包括4種類型:函數(shù)、LabView子程序、結(jié)構(gòu)和代碼。 (3)程序的調(diào)試 當(dāng)前面板和框圖程序設(shè)計(jì)好以后,程序的執(zhí)行過程中可能會(huì)遇到很多的錯(cuò)誤。如果程序不能執(zhí)行,運(yùn)行按鈕會(huì)出現(xiàn)一個(gè)折斷的箭頭。點(diǎn)擊斷箭的運(yùn)行按鈕會(huì)出
5、現(xiàn)錯(cuò)誤清單。調(diào)試的主要方法有:設(shè)置執(zhí)行程序?yàn)楦吡练绞?、單步?zhí)行和探針。2.2 動(dòng)態(tài)鏈接庫(kù)機(jī)制 對(duì)于大多編程任務(wù),LabView通常能產(chǎn)生高效的代碼。但LabView亦存在不足,如,不適合于或不擅長(zhǎng)于完成大量數(shù)據(jù)處理的任務(wù)。在虛擬儀器系統(tǒng)開發(fā)中若遇到這類問題,就可利用LabView所提供的與外部代碼進(jìn)行連接的機(jī)制,將其自身無(wú)法或不易實(shí)現(xiàn)的任務(wù)通過能夠或更適合于完成此類任務(wù)的外部代碼來(lái)實(shí)現(xiàn)。 LabView提供了4種調(diào)用外部程序代碼的途徑,其中動(dòng)態(tài)鏈接庫(kù)(Dynamic Link Library DLL)機(jī)制是從LabView調(diào)用標(biāo)準(zhǔn)共享庫(kù)和用戶自定義庫(kù)函數(shù)的通用方法。具體實(shí)現(xiàn)是使用LabView
6、功能模板中“Advanced”子模板里的“調(diào)用庫(kù)函數(shù)(Call Library Function)”結(jié)點(diǎn)?!罢{(diào)用庫(kù)函數(shù)結(jié)點(diǎn)”包括大量的數(shù)據(jù)類型和調(diào)用規(guī)范,使用他可調(diào)用大多數(shù)標(biāo)準(zhǔn)共享庫(kù)和用戶自定義庫(kù)中的函數(shù),用戶可以使用幾乎任何開發(fā)環(huán)境去創(chuàng)建LabView能夠調(diào)用的庫(kù)。3 軟件設(shè)計(jì) 本設(shè)計(jì)采用LabView軟件做界面,調(diào)用VC+生成的動(dòng)態(tài)鏈接文件DLL獲取所設(shè)計(jì)的PCI卡的I/O地址。然后對(duì)I/O口操作實(shí)現(xiàn)對(duì)PCI卡數(shù)據(jù)的讀和寫。在LabView中也有對(duì)I/O口的操作函數(shù)IN PORT和OUT PORT,但是他們最多支持16位的數(shù)據(jù)傳輸,對(duì)PCI卡的操作必須是32位的,所以調(diào)用DLL文件,獲取P
7、CI卡的I/O地址的方法可調(diào)用BIOS中斷1AH,也可以對(duì)PCI的配置空間地址寄存器和配置空間數(shù)據(jù)寄存器讀寫而得到。 PCI總線編程的關(guān)鍵技術(shù)是是對(duì)相應(yīng)板卡配置空間的理解和訪問。我們?cè)陂_發(fā)PCI總線接口設(shè)備時(shí),經(jīng)過對(duì)PCI 總線協(xié)議的深入研究,從協(xié)議本身的角度出發(fā),找到一種方便而快捷的PCI配置空間操作方法,只使用簡(jiǎn)單的I/O命令即可找到特定的PCI總線設(shè)備,并對(duì)其所有的配置空間進(jìn)行I/O讀寫操作。一旦讀得其配置空間的內(nèi)容,即可得到擔(dān)任系統(tǒng)對(duì)該P(yáng)CI總線設(shè)備的資源分配。3.1 總線配置空間及配置機(jī)制 各PCI設(shè)備有其獨(dú)自的配置空間,設(shè)計(jì)者通過對(duì)插槽的IDSEL引腳的驅(qū)動(dòng)區(qū)分不同設(shè)備的配置空間。
8、與編程有關(guān)的配置空間信息主要有: (1)設(shè)備號(hào)(Device ID)及銷售商號(hào)(Vendor ID),配置空間偏移量為00 H,用于對(duì)各PCI設(shè)備的區(qū)分和查找。 (2)PCI基地址(PCI Base Address),配置空間偏移量為1024 H,設(shè)備通過設(shè)定可讀寫的高位數(shù)值來(lái)向操作系統(tǒng)指示所需資源空間的大小。 由于PCAT兼容系統(tǒng)CPU只有內(nèi)存和I/O兩種空間,沒有專用的配置空間,PCI 協(xié)議規(guī)定利用特定的I/O空間操作驅(qū)動(dòng)PCI橋路轉(zhuǎn)換成配置空間的操作。目前存在2種轉(zhuǎn)換機(jī)制,即配置機(jī)制1#和配置機(jī)制2#。配置機(jī)制2#在新的設(shè)計(jì)中將不再被采用,新的設(shè)計(jì)應(yīng)使用配置機(jī)制1#來(lái)產(chǎn)生配置空間的物理操
9、作。這種機(jī)制使用了2個(gè)特定的32位I/O空間,即CF8 H和CFCH。這2個(gè)空間對(duì)應(yīng)于PCI橋路的2個(gè)寄存器,當(dāng)橋路看到CPU在局部總線對(duì)這2個(gè)I/O空間進(jìn)行雙字操作時(shí),就將該I/O操作轉(zhuǎn)變?yōu)镻CI總線的配置操作。寄存器CF8H用于產(chǎn)生配置空間的地址(CONFIG_ADDRESS),寄存器CFCH用于保存配置空間的讀寫數(shù)據(jù)(CONFIG_DATA)配置空間地址寄存器的格式如圖1所示。 當(dāng)CPU發(fā)出對(duì)I/O空間CFCH的操作時(shí),PCI橋路將檢查配置空間地址寄存器CF8H的31位。如果為1,就在PCI總線上產(chǎn)生一個(gè)相應(yīng)的配置空間讀或?qū)懖僮?,其地址由PCI橋路根據(jù)配置空間地址寄存器的內(nèi)容做出,見圖2
10、。 設(shè)備號(hào)被PCI橋路譯碼產(chǎn)生PCI總線地址的高位地址,他們被設(shè)計(jì)者用作IDSEL信號(hào)來(lái)區(qū)分相應(yīng)的PCI設(shè)備。6位寄存器號(hào)用于尋址該P(yáng)CI設(shè)備配置空間64個(gè)雙字的配置寄存器。功能號(hào)用于區(qū)分多功能設(shè)備的某特定功能的配置空間,對(duì)常用的單功能設(shè)備為000。其中PCI插槽的總線號(hào)隨系統(tǒng)(主板)的不同稍有區(qū)別。為了找到某設(shè)備,應(yīng)在系統(tǒng)的各個(gè)總線號(hào)上查找,直到定位。如果在031號(hào)總線上不能發(fā)現(xiàn)該設(shè)備,即可認(rèn)為該設(shè)備不存在。 理解了上述PCI協(xié)議里的配置機(jī)制后,就可以直接對(duì)CF8H和CFCH兩個(gè)雙字的I/O空間進(jìn)行操作,查找某個(gè)PCI設(shè)備并訪問其配置空間,從而得到操作系統(tǒng)對(duì)該P(yáng)CI設(shè)備的資源分配。3.2 I
11、/O命令訪問配置空間 要訪問PCI總線設(shè)備的配置空間,必須先查找該設(shè)備。查找的過程如下: 用I/O命令寫配置空間的地址寄存器CF8H,使其最高位為1,總線號(hào)及設(shè)備為0,功能號(hào)及寄存器號(hào)為0,即寫入0x80000000H;然后用I/O命令讀取配置空間的數(shù)據(jù)寄存器CFCH。如果該寄存器值與該P(yáng)CI設(shè)備的設(shè)備號(hào)/總線號(hào)不相符,則依次遞增設(shè)備號(hào)及總線號(hào),重復(fù)上述操作直到找到該設(shè)備為止。對(duì)于多功能設(shè)備,只要設(shè)備配置寄存器相應(yīng)的功能號(hào)值,其余步驟與單功能設(shè)備一樣,在本設(shè)計(jì)中PCI板卡為單功能設(shè)備。 調(diào)用函數(shù)FindDevice,如果返回值為 0,則沒有找到該P(yáng)CI設(shè)備。如果返回值為1,則找到了該P(yáng)CI設(shè)備
12、。程序中的Inport和Output是設(shè)計(jì)者用486匯編語(yǔ)言構(gòu)造的函數(shù),可以對(duì)I/O口進(jìn)行32位讀寫。3.3 板卡數(shù)據(jù)讀寫 通過對(duì)PCI基地址寄存器寫控制字,可以將板卡上的地址映射到IO空間。在PCI所有的基地址寄存器中,位0是只讀的,用來(lái)區(qū)分該寄存器存放的數(shù)據(jù)類型:為0表示存放的是存儲(chǔ)器基地址,為1表示存放的是IO基地址。我們的設(shè)計(jì)中,是將PCI基地址映射到了IO空間。在VC+中調(diào)用已構(gòu)造的32位Inport和Output函數(shù)可直接對(duì)板卡的I/O地址進(jìn)行操作。 在VC+中生成動(dòng)態(tài)鏈接庫(kù)后,利用LabView功能模板中“Advanced”子模板里的“調(diào)用庫(kù)函數(shù)”結(jié)點(diǎn)對(duì)其進(jìn)行調(diào)用,即可生成基于PCI接口的虛擬儀器的驅(qū)動(dòng)軟件。4 結(jié)語(yǔ) 本文使用LabView軟件和VC+編輯的動(dòng)態(tài)鏈接庫(kù)開發(fā)基于PCI接口的虛擬儀器軟件的方法,在PCI總線接口的軟件設(shè)計(jì)方面做了一定的研究和探討工作,為今后PCI總線接口的開發(fā)提供一些思路和方法。雖然PCI總線接口規(guī)范已經(jīng)接近于成熟,但對(duì)于
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)二年級(jí)數(shù)學(xué)口算題上冊(cè)
- 2022年新課標(biāo)八年級(jí)上冊(cè)道德與法治《第九課 樹立總體國(guó)家安全觀 》聽課評(píng)課記錄(2課時(shí))
- 9-1生活需要法律 2法律保障生活 聽課評(píng)課記錄 新部編人教版七年級(jí)下冊(cè)道德與法治
- 人教版地理七年級(jí)上冊(cè)第四節(jié)《世界的氣候》聽課評(píng)課記錄5
- 華師大版歷史九年級(jí)上冊(cè)第16課《啟蒙運(yùn)動(dòng)》聽課評(píng)課記錄
- 戶外廣告制作合同范本
- 三方委托出口合同范本
- 二零二五年度知乎共享空間租賃合作協(xié)議
- SBS防水卷材購(gòu)貨合同范本
- 公司租賃合同范本
- 2024新滬教版英語(yǔ)(五四學(xué)制)七年級(jí)上單詞默寫單
- 電力兩票培訓(xùn)
- TCCEAS001-2022建設(shè)項(xiàng)目工程總承包計(jì)價(jià)規(guī)范
- 2024.8.1十七個(gè)崗位安全操作規(guī)程手冊(cè)(值得借鑒)
- 二次供水衛(wèi)生管理制度及辦法(4篇)
- 中學(xué)生手機(jī)使用管理協(xié)議書
- 給排水科學(xué)與工程基礎(chǔ)知識(shí)單選題100道及答案解析
- 2024年土地變更調(diào)查培訓(xùn)
- 2024年全國(guó)外貿(mào)單證員鑒定理論試題庫(kù)(含答案)
- 新版中國(guó)食物成分表
- DB11∕T 446-2015 建筑施工測(cè)量技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論