資源描述:
《基于pci總線數(shù)據(jù)采集卡的實(shí)時(shí)測(cè)控技術(shù)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、基于PCI總線數(shù)據(jù)采集卡的實(shí)時(shí)測(cè)控技術(shù)作者:孫業(yè),張鵬,張哲,梁敏【摘要】我們從軟件技術(shù)的角度,論述了在WindowsXP環(huán)境下基于PCI總線數(shù)據(jù)采集卡實(shí)現(xiàn)實(shí)時(shí)測(cè)控所需要的關(guān)鍵技術(shù)、軟件體系結(jié)構(gòu)和開發(fā)方法。遵循本文所討論的技術(shù)路線,開發(fā)了DFQ系列多方位牽引床的測(cè)控軟件,提高了被控系統(tǒng)的控制精度和可靠性,增強(qiáng)了系統(tǒng)的可用性?!娟P(guān)鍵詞】PCI總線;WDM設(shè)備驅(qū)動(dòng)程序;軟件體系結(jié)構(gòu);計(jì)算機(jī)測(cè)量與控制Abstract:Thekeytechniques,softwarearchitectureanddevelopmentmethodusedtoimplementreal-timemeasurement
2、andcontrolbasedonPCIbusdataacquisitioncardinWindowsXPenvironmentarediscussedfromtheviewpointofsoftwaretechnology.ThemeasurementandcontrolsoftwareforDFQmultidimensionaltractionbedaredevelopedaccordingtothetechniquesprovidedinthispaper,theprecision,highreliabilityandbetterusabilityoftheobjectsystemare
3、improved.15Keywords:PCIBus;WDMdevicedriver;Softwarearchitecture;Computermeasurementandcontrol1引言計(jì)算機(jī)測(cè)控技術(shù)在生產(chǎn)實(shí)踐中有著廣泛的應(yīng)用?;谟?jì)算機(jī)技術(shù)的測(cè)控系統(tǒng)主要分為兩種類型。一類是以各種單片機(jī)、可編程邏輯芯片為核心組成的測(cè)控系統(tǒng),這類測(cè)控系統(tǒng)一般適用于功能要求相對(duì)簡(jiǎn)單的被控對(duì)象,可獨(dú)立構(gòu)成測(cè)控系統(tǒng),或以PC機(jī)作為上位機(jī)構(gòu)成兩級(jí)級(jí)聯(lián)的測(cè)控系統(tǒng),此時(shí)PC機(jī)一般負(fù)責(zé)界面處理。一類是以PC機(jī)為核心構(gòu)成的測(cè)控系統(tǒng),PC機(jī)通過數(shù)據(jù)采集卡及接口電路連接到被控對(duì)象。由于PC機(jī)具有高性能、易用性、可擴(kuò)展性和豐富
4、的軟件資源等,此類系統(tǒng)可適用于功能要求較為復(fù)雜的被控對(duì)象。WindowsXP是一個(gè)多任務(wù)的并能夠滿足實(shí)時(shí)要求的操作系統(tǒng),是目前PC機(jī)普遍采用的操作系統(tǒng)之一。PCI總線是高性能的局部總線,支持高速數(shù)據(jù)傳輸,是PC機(jī)上流行的總線接口標(biāo)準(zhǔn)。我們從軟件技術(shù)的角度,討論了在WindowsXP操作系統(tǒng)下,基于PCI總線數(shù)據(jù)采集卡,在工業(yè)現(xiàn)場(chǎng)實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)測(cè)控的關(guān)鍵技術(shù),包括實(shí)時(shí)I/O端口讀寫和定時(shí)數(shù)據(jù)采集的實(shí)現(xiàn)方法。本研究的技術(shù)已成功應(yīng)用于DFQ多方位牽引床的軟件研發(fā),取得了良好的效果。由于是在Windows15XP操作系統(tǒng)下采用實(shí)時(shí)測(cè)控技術(shù),最終設(shè)計(jì)完成的牽引床系統(tǒng)功能豐富,控制精確,可靠性高,具有良好的
5、用戶界面。2系統(tǒng)的關(guān)鍵點(diǎn)和技術(shù)難點(diǎn)WindowsXP是一個(gè)多用戶、多任務(wù)的操作系統(tǒng)。由于允許多個(gè)任務(wù)并發(fā)執(zhí)行以及允許多個(gè)用戶同時(shí)登錄操作系統(tǒng),安全性和穩(wěn)定性是WindowsXP操作系統(tǒng)設(shè)計(jì)的主要目標(biāo)之一。在WindowsXP操作系統(tǒng)下,計(jì)算機(jī)的運(yùn)行狀態(tài)被強(qiáng)制為用戶態(tài)和核心態(tài)兩種狀態(tài)。對(duì)于一個(gè)程序,在一個(gè)確定的時(shí)刻,要么在用戶態(tài)執(zhí)行,要么在核心態(tài)執(zhí)行。在用戶態(tài)運(yùn)行的程序處于系統(tǒng)最低的中斷請(qǐng)求級(jí)(interruptrequestlevel,IRQL)上,隨時(shí)可以被具有更高中斷請(qǐng)求級(jí)的中斷請(qǐng)求所打斷[1]。因此,為了能夠在給定的時(shí)間約束內(nèi)發(fā)出控制信號(hào)和采集數(shù)據(jù),滿足系統(tǒng)的實(shí)時(shí)性要求,提高系統(tǒng)可靠性,
6、必須使得測(cè)控程序能夠在核心態(tài)執(zhí)行。其次,為了滿足自身的穩(wěn)定性,WindowsXP將對(duì)硬件的訪問封裝在了系統(tǒng)底層。用戶態(tài)的應(yīng)用程序不能直接訪問硬件資源,包括讀寫I/O端口和內(nèi)存,響應(yīng)中斷,執(zhí)行DMA操作等。在WindowsXP下,程序只有轉(zhuǎn)入核心態(tài),并通過系統(tǒng)調(diào)用才能直接訪問硬件資源。顯然,若能夠獲得直接訪問硬件的能力,則可明顯提高測(cè)控程序的實(shí)時(shí)性和效率。15綜上所述,在WindowsXP操作系統(tǒng)下,測(cè)控軟件要獲得本質(zhì)上的實(shí)時(shí)性和高可靠性,必須具有在操作系統(tǒng)核心態(tài)運(yùn)行的能力。設(shè)備驅(qū)動(dòng)程序是WindowsXP留給用戶的允許用戶獲得核心態(tài)運(yùn)行能力的唯一開發(fā)接口[1]。WDM(windowsdrive
7、rmodel)驅(qū)動(dòng)程序模型是WindowsXP下的設(shè)備驅(qū)動(dòng)程序的模型之一,測(cè)控軟件可借助WDM驅(qū)動(dòng)程序?qū)崿F(xiàn)所要求的實(shí)時(shí)性和高可靠性?! ?系統(tǒng)組成和開發(fā)環(huán)境如圖1所示,牽引床控制系統(tǒng)由PC機(jī)、PCI總線數(shù)據(jù)采集卡、外圍接口電路和牽引床四部分組成[2]。PCI總線數(shù)據(jù)采集卡是通用的標(biāo)準(zhǔn)模塊,可供選擇的產(chǎn)品很多,本系統(tǒng)使用凌華公司的PCI9111數(shù)據(jù)采集卡[3]。接口電路完成模擬信號(hào)和數(shù)字信號(hào)的調(diào)理和