《電子技術(shù)應(yīng)用》
欢迎订阅(电子2025)
欢迎订阅(网数2025)
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 業(yè)界動(dòng)態(tài) > 虛擬儀器驅(qū)動(dòng)器綜述
NI-LabVIEW 2025

虛擬儀器驅(qū)動(dòng)器綜述

2008-08-25
作者:劉金寧1, 孟 晨1, 崔少

  摘 要: 驅(qū)動(dòng)器是連接虛擬儀器物理硬件和測(cè)試應(yīng)用程序的橋梁和紐帶,回顧了虛擬儀器驅(qū)動(dòng)器技術(shù)規(guī)范的發(fā)展歷程。在分析規(guī)范的基礎(chǔ)上給出了兩種驅(qū)動(dòng)器設(shè)計(jì)類(lèi)型,預(yù)測(cè)了其今后的發(fā)展趨勢(shì)。分析了驅(qū)動(dòng)器發(fā)展過(guò)程中的相關(guān)支撐技術(shù),論述了我國(guó)的研究現(xiàn)狀,指出基于組件技術(shù)的信號(hào)型驅(qū)動(dòng)器設(shè)計(jì)是虛擬儀器驅(qū)動(dòng)器的發(fā)展方向。
  關(guān)鍵詞: 虛擬儀器 驅(qū)動(dòng)器 信號(hào)接口 COM 軟件工程


  計(jì)算機(jī)在測(cè)試和自動(dòng)化領(lǐng)域中的應(yīng)用,導(dǎo)致了儀器“驅(qū)動(dòng)器”概念的誕生,驅(qū)動(dòng)器又稱(chēng)驅(qū)動(dòng)程序。儀器驅(qū)動(dòng)器是介于計(jì)算機(jī)與儀器硬件設(shè)備之間的軟件中間層,由函數(shù)庫(kù)、實(shí)用程序、工具套件等組成,是一系列軟件代碼模塊的統(tǒng)稱(chēng)。它駐留在計(jì)算機(jī)中,是連接計(jì)算機(jī)和儀器的橋梁和紐帶。采用驅(qū)動(dòng)器可以使計(jì)算機(jī)有能力控制物理儀器設(shè)備,隨著VXI、PXI等標(biāo)準(zhǔn)總線的出現(xiàn),開(kāi)創(chuàng)了測(cè)試系統(tǒng)" title="測(cè)試系統(tǒng)">測(cè)試系統(tǒng)發(fā)展的嶄新空間——虛擬儀器(Virtual Instruments)。虛擬儀器代表著從傳統(tǒng)硬件為主的測(cè)試系統(tǒng)到以軟件為中心的測(cè)試系統(tǒng)的根本性轉(zhuǎn)變。
1 技術(shù)規(guī)范回顧
  計(jì)算機(jī)在測(cè)試領(lǐng)域的應(yīng)用經(jīng)歷了總線型儀器、PC儀器、虛擬儀器等不同的發(fā)展階段。伴隨著這一過(guò)程,儀器驅(qū)動(dòng)器技術(shù)規(guī)范以通用性為基本出發(fā)點(diǎn),儀器互換性" title="互換性">互換性和互操作性以及軟件移植性為根本指導(dǎo)原則,從最初的IEEE-488.2、SCPI(Standard Command for Programming Instrument)發(fā)展到現(xiàn)在的IVI-MSS (Measurement and Stimulus Subsystem)、IVI-Signal Interface,已經(jīng)走過(guò)了艱辛而漫長(zhǎng)的歷程。它們建立在Windows操作系統(tǒng)驅(qū)動(dòng)程序設(shè)計(jì)模式VxD和WDM(Windows Driver Model)之上,并融入了儀器操作的具體內(nèi)容。
1.1 IEEE 488.2
  IEEE-488是1975年由IEEE發(fā)布的一個(gè)重要的儀器控制總線標(biāo)準(zhǔn)。IEEE-488.1定義了計(jì)算機(jī)和儀器之間的硬件接口規(guī)范;IEEE-488.2定義了TPS(Test Program Set)和儀器之間的軟件接口規(guī)范。IEEE-488.2規(guī)定了數(shù)據(jù)代碼和格式,用一組公用命令和協(xié)議定義了測(cè)試系統(tǒng)中控制器和儀器之間的通信標(biāo)準(zhǔn),共有39條,這些命令提供了儀器的內(nèi)部管理功能。IEEE-488.2沒(méi)有嚴(yán)格的語(yǔ)義定義,同樣的功能不同廠商可用不同的命令來(lái)實(shí)現(xiàn),而且這一標(biāo)準(zhǔn)僅適合于GPIB類(lèi)儀器,通用性、互換性很差。
1.2 SCPI
  IEEE-488.2沒(méi)有涉及為了提供測(cè)量和激勵(lì)所必需的命令。1990年,在IEEE-4888.2標(biāo)準(zhǔn)和IEEE-754標(biāo)準(zhǔn)之上,制定了SCPI標(biāo)準(zhǔn)。它通過(guò)指定一組通用控制命令來(lái)實(shí)現(xiàn)對(duì)多類(lèi)儀器的相同控制。在儀器功能?chē)?yán)格匹配(如具有相同的精確度、測(cè)量范圍等)的前提下,可實(shí)現(xiàn)互換,擴(kuò)展了儀器互換的空間。然而,這種互換性限制了儀器生產(chǎn)廠家對(duì)儀器功能的擴(kuò)展,實(shí)用性差,加上SCPI編程的復(fù)雜性,通用性、互換性水平較低。
1.3 VPP
  1993年,VPP(VXI Plug & Play)系統(tǒng)聯(lián)盟發(fā)布了VPP規(guī)范,該規(guī)范定義了系統(tǒng)的框架、軟件接口、軟件環(huán)境和儀器驅(qū)動(dòng)器模型。它把與儀器的底層通信封裝成一些高層函數(shù),執(zhí)行儀器的控制功能。VISA(Virtual Instrument Software Architecture)作為底層I/O庫(kù),是這一時(shí)期的主要成果。它不區(qū)分儀器的種類(lèi),用一組通用函數(shù)實(shí)現(xiàn)驅(qū)動(dòng)器功能,通用性得到了很大加強(qiáng)。然而,跟IEEE-488.2類(lèi)似,VPP驅(qū)動(dòng)器接口仍沒(méi)有嚴(yán)格的語(yǔ)義標(biāo)準(zhǔn),儀器廠商可以根據(jù)自己的特長(zhǎng)進(jìn)行開(kāi)發(fā),這使得驅(qū)動(dòng)器產(chǎn)品的接口不統(tǒng)一,儀器互換性仍沒(méi)有最終實(shí)現(xiàn)。
1.4 IVI
  為了實(shí)現(xiàn)儀器互換和互操作,1998年成立了IVI(Interchangeable Virtual Instruments)基金會(huì),討論開(kāi)發(fā)可互換儀器驅(qū)動(dòng)模型,旨在對(duì)硬件互換、運(yùn)行性能、發(fā)展彈性、質(zhì)量保證等驅(qū)動(dòng)器問(wèn)題進(jìn)行規(guī)范。
  IVI模型是IVI基金會(huì)在VPP技術(shù)規(guī)范基礎(chǔ)上制定的一種驅(qū)動(dòng)器設(shè)計(jì)標(biāo)準(zhǔn)。它通過(guò)定義類(lèi)驅(qū)動(dòng)器和專(zhuān)用驅(qū)動(dòng)器(獨(dú)立的軟件層)并增加儀器仿真、狀態(tài)緩存、量程監(jiān)視等機(jī)制實(shí)現(xiàn)了部分通用儀器之間的互換,提高了測(cè)試程序" title="測(cè)試程序">測(cè)試程序的開(kāi)發(fā)效率。
  然而,面向儀器互換的虛擬儀器設(shè)計(jì)目標(biāo),IVI模型仍然存在以下不足:
  (1)只適合同類(lèi)儀器的互換,不能實(shí)現(xiàn)不同類(lèi)儀器或某些具備兩類(lèi)、多類(lèi)儀器功能的綜合性?xún)x器之間的互換。
  (2)IVI類(lèi)驅(qū)動(dòng)器只能統(tǒng)一某類(lèi)儀器中80%的儀器功能,而其它20%功能只能通過(guò)專(zhuān)用驅(qū)動(dòng)器來(lái)實(shí)現(xiàn)。
  (3)可用標(biāo)準(zhǔn)較少。目前只完成了示波器、萬(wàn)用表、函數(shù)發(fā)生器、多路開(kāi)關(guān)等九種儀器的類(lèi)驅(qū)動(dòng)器的標(biāo)準(zhǔn)化。
  (4)標(biāo)準(zhǔn)開(kāi)放程度低。IVI模型只適合于通用儀器,比如萬(wàn)用表等,而對(duì)某些專(zhuān)用儀器(如數(shù)據(jù)采集卡)不適用。
1.5 IVI-MSS
  為了改進(jìn)IVI模型存在的不足,IVI基金會(huì)開(kāi)始制定IVI-MSS和IVI-Signal Interface規(guī)范,它們是在IVI模型的基礎(chǔ)上發(fā)展起來(lái)的,分別實(shí)現(xiàn)基于功能和信號(hào)的儀器互換操作。其中IVI-MSS于2001年2月發(fā)布,現(xiàn)已經(jīng)是成熟的規(guī)范,而IVI-Signal Interface尚待發(fā)布。
  如圖1所示,基于IVI-MSS規(guī)范的虛擬儀器測(cè)試軟件共包括五部分。用戶應(yīng)用程序是IVI-MSS Solution的運(yùn)行環(huán)境,它通過(guò)調(diào)用IVI-MSS Server提供的編程接口實(shí)現(xiàn)對(duì)儀器資源的訪問(wèn);IVI-MSS Server是獨(dú)立于測(cè)試儀器資源的軟件層,它封裝了測(cè)試算法,對(duì)外提供面向測(cè)試功能需求的編程接口,該接口在被用戶應(yīng)用程序調(diào)用時(shí)作為“角色”向用戶提供測(cè)試服務(wù);RCM是連接IVI-MSS Server和儀器Driver的軟件層,在RCM內(nèi)部封裝了儀器訪問(wèn)細(xì)節(jié),對(duì)外提供RCM接口與IVI-MSS Server交互。RCM通過(guò)SCPI命令、VISA函數(shù)和IVI驅(qū)動(dòng)器等實(shí)現(xiàn)對(duì)物理儀器的訪問(wèn)。


  IVI-MSS 中IVI-MSS Solution作為一個(gè)獨(dú)立的軟件層,為儀器互換提供了解決方案;RCM由開(kāi)發(fā)人員根據(jù)需求來(lái)定義,對(duì)于不同的測(cè)試需求,即使是同一測(cè)試儀器平臺(tái),RCM也是不同的。在更換儀器后,只要提供與原始儀器功能相同或相當(dāng)?shù)腞CM,就可實(shí)現(xiàn)相同的測(cè)試功能,這樣大大拓展了儀器互換的空間。
1.6 IVI-Signal Interface
  2000年,IVI基金會(huì)的Signal Interface工作組在TYX公司和HP公司的領(lǐng)導(dǎo)下開(kāi)始制定IVI-Signal Interface標(biāo)準(zhǔn)。它基于COM(Component Object Model)技術(shù),是一系列COM組件的統(tǒng)稱(chēng)。
  在IVI-MSS模型基礎(chǔ)上發(fā)展起來(lái)的IVI-Signal Interface標(biāo)準(zhǔn)把原先的儀器控制命令轉(zhuǎn)化為對(duì)測(cè)試信號(hào)的需求,把IVI-MSS Server功能接口進(jìn)一部封裝形成IVI-Signal Interface信號(hào)接口。這克服了“面向儀器”的TPS開(kāi)發(fā)中存在的弊端,實(shí)現(xiàn)了更高層次的儀器互換。信號(hào)接口的標(biāo)準(zhǔn)化增強(qiáng)了不同廠商儀器之間的互操作性,方便了代碼移植。同時(shí),為儀器驅(qū)動(dòng)器開(kāi)發(fā)帶了巨大商機(jī),提高了IVI信號(hào)組件的開(kāi)發(fā)效率和質(zhì)量,有很看好的應(yīng)用前景。
  綜上,當(dāng)前占主導(dǎo)地位的驅(qū)動(dòng)器設(shè)計(jì)規(guī)范主要有兩種: VPP規(guī)范和IVI系列規(guī)范。兩種驅(qū)動(dòng)器開(kāi)發(fā)規(guī)范的共同點(diǎn)是均建立在IEEE-488.2和SCPI命令以及VISA庫(kù)之上,都包括接口和內(nèi)部實(shí)現(xiàn)兩部分。不同點(diǎn)是前者已發(fā)展成熟,它以?xún)x器本身的特征應(yīng)用為中心,是功能驅(qū)動(dòng)的,多由儀器生產(chǎn)商提供,接口沒(méi)有嚴(yán)格的語(yǔ)義標(biāo)準(zhǔn),實(shí)現(xiàn)了儀器的即插即用" title="即插即用">即插即用,沒(méi)有實(shí)現(xiàn)儀器互換和軟件移植等功能;而后者建立在VPP之上,正處在發(fā)展完善之中,它面向UUT的測(cè)試需求,是需求驅(qū)動(dòng)的,由測(cè)試系統(tǒng)集成人員或第三方軟件開(kāi)發(fā)人員編寫(xiě),接口有嚴(yán)格的語(yǔ)義標(biāo)準(zhǔn),部分地實(shí)現(xiàn)了儀器互換性和軟件移植性,并最終向著完全實(shí)現(xiàn)而努力。目前VPP規(guī)范已被多數(shù)廠家所采納進(jìn)行自己產(chǎn)品的驅(qū)動(dòng)器開(kāi)發(fā),因此將在未來(lái)很長(zhǎng)的一段時(shí)間內(nèi)占統(tǒng)治地位。但由于它在解決儀器互換性問(wèn)題上無(wú)能為力,隨著IVI系列規(guī)范的進(jìn)一步完善,必將被其替代。
2 驅(qū)動(dòng)器開(kāi)發(fā)
  根據(jù)以上驅(qū)動(dòng)器設(shè)計(jì)規(guī)范發(fā)展回顧及分析可知,驅(qū)動(dòng)器開(kāi)發(fā)也分為兩種類(lèi)型:基于VPP規(guī)范的即插即用型驅(qū)動(dòng)器開(kāi)發(fā)和基于IVI系列規(guī)范的互換型驅(qū)動(dòng)器開(kāi)發(fā)。
2.1即插即用型驅(qū)動(dòng)器開(kāi)發(fā)
  開(kāi)發(fā)基于VPP規(guī)范的即插即用型驅(qū)動(dòng)器的過(guò)程分為兩步。第一是儀器驅(qū)動(dòng)器外部接口的設(shè)計(jì),它表示儀器驅(qū)動(dòng)器如何與外部軟件接口,通常提供兩種方式的接口:程序式開(kāi)發(fā)接口和圖形軟面板。軟件開(kāi)發(fā)者通過(guò)程序式開(kāi)發(fā)接口可以理解每個(gè)儀器驅(qū)動(dòng)器函數(shù)的功能以及在應(yīng)用程序中如何調(diào)用每個(gè)函數(shù)、另一種接口方式是圖形化軟面板,通過(guò)這一軟面板可以直接操作控制物理儀器。第二是要完成儀器驅(qū)動(dòng)器的內(nèi)部模塊設(shè)計(jì),實(shí)現(xiàn)儀器的硬件功能。使用程序式開(kāi)發(fā)接口的用戶了解了這一功能,可以在應(yīng)用程序中直接應(yīng)用這些模塊,而不必通過(guò)軟面板操作。
  要完成第一項(xiàng)工作應(yīng)選用界面編輯功能較強(qiáng)的編程環(huán)境,減少儀器軟面板的開(kāi)發(fā)時(shí)間;第二項(xiàng)工作通過(guò)調(diào)用 VISA I/O庫(kù)中的函數(shù)來(lái)完成,編程語(yǔ)言按照VPP規(guī)程可以選用ANSI C、BASIC或者Ada等。選用合適的圖形軟件工具可以把這兩部分工作集成到一個(gè)環(huán)境下完成,省去兩部分的連接工作,例如NI公司的可視化軟件平臺(tái) LabWindows/CVI。CVI開(kāi)發(fā)環(huán)境中兩部分組成:用戶界面設(shè)計(jì)器和源代碼" title="源代碼">源代碼編輯器。
2.2互換型驅(qū)動(dòng)器開(kāi)發(fā)
  與即插即用型驅(qū)動(dòng)器類(lèi)似,基于IVI系列規(guī)范的互換型驅(qū)動(dòng)器開(kāi)發(fā)也包括兩部分。第一是分析測(cè)試系統(tǒng)的功能需求,以功能或信號(hào)的形式分類(lèi)定義驅(qū)動(dòng)器組件的接口。這些接口是對(duì)UUT測(cè)試需求的描述,有嚴(yán)格的語(yǔ)義標(biāo)準(zhǔn),將不隨儀器種類(lèi)和軟件類(lèi)型而改變,是標(biāo)準(zhǔn)的,通用的。第二是驅(qū)動(dòng)器組件接口的內(nèi)部實(shí)現(xiàn),它被封裝在組件內(nèi)部,可以根據(jù)具體的開(kāi)發(fā)工具和編程人員特長(zhǎng)來(lái)開(kāi)發(fā),是非標(biāo)準(zhǔn)的、特殊的。
  對(duì)于基于IVI系列規(guī)范的驅(qū)動(dòng)器開(kāi)發(fā),目前還沒(méi)有專(zhuān)業(yè)的、IVI基金會(huì)指定的開(kāi)發(fā)工具。但由于其采用COM技術(shù),因此可以使用任何支持組件開(kāi)發(fā)的編程平臺(tái)進(jìn)行開(kāi)發(fā)。設(shè)計(jì)人員在理解技術(shù)規(guī)范的基礎(chǔ)上可以利用現(xiàn)有的圖形化編程工具(比如VC++、VB等)進(jìn)行設(shè)計(jì)。
  需要說(shuō)明的是,IVI是介于VPP和IVI-MSS之間的一個(gè)過(guò)渡性規(guī)范,它既有IVI-C的C語(yǔ)言形式,也有基于COM的IVI-COM組件形式,并且接口的嚴(yán)格語(yǔ)義標(biāo)準(zhǔn)目前只發(fā)布了八類(lèi)儀器的技術(shù)規(guī)范,因此可以根據(jù)具體情況選用相應(yīng)工具進(jìn)行開(kāi)發(fā)。
3 發(fā)展趨勢(shì)
  (1)信號(hào)型驅(qū)動(dòng)器
  由前面對(duì)IVI-Signal Interface標(biāo)準(zhǔn)的介紹可知,信號(hào)型驅(qū)動(dòng)面向UUT的測(cè)試需求,是需求驅(qū)動(dòng)的,符合當(dāng)前計(jì)算機(jī)體系結(jié)構(gòu)發(fā)展趨勢(shì),而且實(shí)現(xiàn)了更高層次的儀器互換和互操作,通用性好。隨著面向信號(hào)的商業(yè)化虛擬儀器軟件開(kāi)發(fā)平臺(tái)的不斷涌現(xiàn),如PAWS、ATLAS 2K等,迫切需要給出標(biāo)準(zhǔn)化的軟件開(kāi)發(fā)平臺(tái)與底層硬件模塊之間的接口,而信號(hào)型驅(qū)動(dòng)器恰好實(shí)現(xiàn)了面向信號(hào)的TPS開(kāi)發(fā)平臺(tái)與底層硬件模塊的完美對(duì)接。基于以上分析,信號(hào)型驅(qū)動(dòng)器將是虛擬儀器驅(qū)動(dòng)器設(shè)計(jì)標(biāo)準(zhǔn)發(fā)展的必然結(jié)果。
  (2)網(wǎng)絡(luò)化驅(qū)動(dòng)器
  網(wǎng)絡(luò)的普及給各個(gè)行業(yè)都帶來(lái)了巨大沖擊,測(cè)試領(lǐng)域也不例外,網(wǎng)絡(luò)化虛擬儀器和儀器網(wǎng)絡(luò)化現(xiàn)已成為當(dāng)前測(cè)試技術(shù)的一個(gè)研究熱點(diǎn)。而要想實(shí)現(xiàn)遠(yuǎn)程控制儀器就必須提供儀器設(shè)備的網(wǎng)絡(luò)化驅(qū)動(dòng)器或在現(xiàn)有儀器驅(qū)動(dòng)器的基礎(chǔ)上添加網(wǎng)絡(luò)化功能?;诖耍琕XI聯(lián)盟(VXI Consortium)提出了VXI-11規(guī)范,這個(gè)規(guī)范主要是對(duì)IEEE-488總線的擴(kuò)展,也就是通過(guò)TCP/IP發(fā)送IEEE-488總線命令。該擴(kuò)展的目的在于實(shí)現(xiàn)遠(yuǎn)端的客戶端通過(guò)網(wǎng)絡(luò)與現(xiàn)場(chǎng)儀器通信并完成測(cè)試任務(wù),并且對(duì)用戶來(lái)講好像是在本地使用儀器一樣。隨著虛擬儀器技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)化驅(qū)動(dòng)器將取得更大的發(fā)展空間。
  (3)VISA兼容更多的接口類(lèi)型
  計(jì)算機(jī)接口技術(shù)不斷發(fā)展,涌現(xiàn)了許多商業(yè)化PC總線,如USB、Ethernet等,這也是影響虛擬儀器發(fā)展的關(guān)鍵技術(shù)之一。由于這些總線最初是為網(wǎng)絡(luò)PC和連接PC外設(shè)而設(shè)計(jì)的,要更方便地控制儀器,這些總線需要軟件構(gòu)架來(lái)簡(jiǎn)化通信并與其他一起控制標(biāo)準(zhǔn)兼容。因此,需要對(duì)虛擬儀器驅(qū)動(dòng)器標(biāo)準(zhǔn)框架VISA進(jìn)行擴(kuò)展。
  (4)與商業(yè)TPS開(kāi)發(fā)平臺(tái)“即插即用”
  驅(qū)動(dòng)器是連接計(jì)算機(jī)和物理儀器的中間環(huán)節(jié),是虛擬儀器開(kāi)發(fā)的重要資源。當(dāng)前的TPS開(kāi)發(fā)平臺(tái)向著集成、高效、商家壟斷方向發(fā)展,如HP公司的VEE、NI公司的LabVIEW、LabWindows/CVI等。為了擴(kuò)展自己的市場(chǎng)空間和便于用戶開(kāi)發(fā)使用,虛擬儀器硬件設(shè)計(jì)廠商或第三方軟件開(kāi)發(fā)單位應(yīng)該提供與這些商業(yè)開(kāi)發(fā)平臺(tái)“即插即用”的驅(qū)動(dòng)器。同時(shí),為了加強(qiáng)合作和簡(jiǎn)化集成,商業(yè)TPS開(kāi)發(fā)商也應(yīng)該給出與自己平臺(tái)兼容的驅(qū)動(dòng)器設(shè)計(jì)標(biāo)準(zhǔn)并提供相關(guān)技術(shù)支持。
  (5)源代碼級(jí)開(kāi)放式結(jié)構(gòu)
  當(dāng)前,從源代碼開(kāi)放的角度來(lái)講,虛擬儀器設(shè)計(jì)領(lǐng)域存在三種驅(qū)動(dòng)器類(lèi)型:封閉黑盒型,封裝型和開(kāi)放源代碼型。其中封閉黑盒型不提供對(duì)源代碼的訪問(wèn),不具備擴(kuò)展和編寫(xiě)儀器新功能的能力;封裝型驅(qū)動(dòng)可作為驅(qū)動(dòng)器二次開(kāi)發(fā)的原始接口或封裝器;而開(kāi)放源代碼型驅(qū)動(dòng)原生于相應(yīng)的開(kāi)發(fā)環(huán)境,提供對(duì)源代碼的完全訪問(wèn)權(quán)限,經(jīng)過(guò)優(yōu)化和改進(jìn)后能易于使用并具有集成的靈活性,能讓開(kāi)發(fā)人員定制自己的功能需求,把開(kāi)發(fā)觸角伸向了儀器設(shè)備的心臟地帶。
  虛擬儀器的一個(gè)重要特點(diǎn)是硬件的功能由軟件來(lái)定制,而從某種層面上講,驅(qū)動(dòng)器是儀器功能的描述和表達(dá)。當(dāng)前多數(shù)儀器硬件模塊開(kāi)發(fā)廠商在發(fā)布自己的產(chǎn)品時(shí),都把驅(qū)動(dòng)器作為“黑盒子”來(lái)發(fā)布,這不利于客戶定制自己需要的功能和進(jìn)行二次開(kāi)發(fā)。另一方面,由于軟件升級(jí)換代相當(dāng)迅速,這也給驅(qū)動(dòng)器開(kāi)發(fā)提出了新的要求?,F(xiàn)在多數(shù)儀器驅(qū)動(dòng)在向.NET平臺(tái)移植時(shí)都存在各種各樣的困難,而驅(qū)動(dòng)器源代碼級(jí)開(kāi)放是解決這些問(wèn)題的前提。不僅如此,開(kāi)放源代碼型驅(qū)動(dòng)還能簡(jiǎn)化與儀器硬件的連接,使開(kāi)發(fā)人員不僅是驅(qū)動(dòng)器的使用者而且是擁有者。因此,儀器驅(qū)動(dòng)器采用開(kāi)放源代碼式結(jié)構(gòu)將是一個(gè)重要的發(fā)展方向。
  (6)可視化配置操作
  可視化與完備的人機(jī)交互能力是現(xiàn)代軟件開(kāi)發(fā)的基本要求,作為虛擬儀器核心的驅(qū)動(dòng)器在這方面應(yīng)能滿足客戶的更高的需求。把軟件開(kāi)發(fā)人員從繁重的代碼編寫(xiě)任務(wù)中解脫出來(lái),而把主要精力放在測(cè)試功能的實(shí)現(xiàn)上是驅(qū)動(dòng)器設(shè)計(jì)迫切需要解決的問(wèn)題。將儀器連接配置、編寫(xiě)測(cè)試代碼、測(cè)試任務(wù)的組合設(shè)定等繁瑣工作轉(zhuǎn)變成友好人機(jī)界面下的鼠標(biāo)操作,必將簡(jiǎn)化虛擬儀器系統(tǒng)的集成開(kāi)發(fā)。為此,在驅(qū)動(dòng)器設(shè)計(jì)領(lǐng)域出現(xiàn)了虛擬資源、虛擬通道等概念。它們把物理資源和通道的信息(比如量程、端口配置等)進(jìn)行封裝,通過(guò)友好的界面與開(kāi)發(fā)人員進(jìn)行信息交互,實(shí)現(xiàn)了儀器控制的可視化配置操作。
  (7)拓展應(yīng)用空間
  儀器驅(qū)動(dòng)器是計(jì)算機(jī)控制物理儀器設(shè)備的中間環(huán)節(jié),隨著虛擬儀器的不斷發(fā)展,這一思想也拓展了嶄新的發(fā)展空間。驅(qū)動(dòng)器越來(lái)越多地以“服務(wù)”的形式為測(cè)試程序提供功能調(diào)用。如IEEE 1451.4標(biāo)準(zhǔn)給模擬傳感器定義了電子數(shù)據(jù)表格并內(nèi)嵌于其中,測(cè)試系統(tǒng)或TPS開(kāi)發(fā)平臺(tái)可以通過(guò)模擬傳感器提供的數(shù)字接口讀取電子數(shù)據(jù)表中的數(shù)據(jù)并對(duì)其進(jìn)行配置,這在一定意義上也是驅(qū)動(dòng)器應(yīng)用的新領(lǐng)域。使用基于IEEE1451.4設(shè)計(jì)的智能傳感器可以簡(jiǎn)化傳感器的連接過(guò)程,實(shí)現(xiàn)傳感器的“即插即用”和自動(dòng)配置。ISP(Programmable in-system)技術(shù)在電子設(shè)計(jì)自動(dòng)化領(lǐng)域得到了廣泛應(yīng)用,基于此,NI公司提出的RIO(Reconfiguration I/O)技術(shù)完成了物理儀器的在線可編程控制,實(shí)現(xiàn)了用戶自定義硬件,是儀器驅(qū)動(dòng)器概念的升華。
4 關(guān)鍵技術(shù)
  (1)COM技術(shù)
  COM技術(shù)的核心是組件,組件是可以明確辨識(shí)和管理、可以提供某項(xiàng)服務(wù)的自包含的軟件模塊。它封裝了一定的數(shù)據(jù)(屬性)和方法(函數(shù)),并提供特定接口。開(kāi)發(fā)人員通過(guò)訪問(wèn)這些特定接口來(lái)使用組件,與其它程序模塊通信、交互,實(shí)現(xiàn)預(yù)期功能。組件是實(shí)現(xiàn)儀器驅(qū)動(dòng)器語(yǔ)言、平臺(tái)無(wú)關(guān)和網(wǎng)絡(luò)位置透明的關(guān)鍵技術(shù)。
  基于組件技術(shù)的驅(qū)動(dòng)器模塊通過(guò)標(biāo)準(zhǔn)接口與其它軟件模塊通信,各個(gè)組件就像掛在“軟總線”上一樣通過(guò)公共通道傳遞信息?;诖?,編程人員可以象“搭積木”似的開(kāi)發(fā)自己的測(cè)試程序。更換儀器后,只要驅(qū)動(dòng)器接口不變就不用更改測(cè)試程序。使用驅(qū)動(dòng)器組件使得儀器模塊的互換性、測(cè)試軟件的開(kāi)放性和可重用性得到了根本保證,同時(shí)實(shí)現(xiàn)了軟件開(kāi)發(fā)和應(yīng)用的不斷“迭代和增量”過(guò)程。
  (2)多線程技術(shù)
  同步、觸發(fā)、時(shí)序操作是儀器控制的客觀要求,而多線程技術(shù)是滿足這一要求的關(guān)鍵技術(shù)。Windows操作系統(tǒng)是一個(gè)多任務(wù)、多線程操作系統(tǒng),實(shí)行的是搶先式、多任務(wù)工作模式。在Windows環(huán)境中,每一個(gè)測(cè)試項(xiàng)目可以由一個(gè)線程來(lái)代表,這意味著一個(gè)測(cè)試程序可以同時(shí)完成多個(gè)測(cè)試任務(wù)。在多線程執(zhí)行中系統(tǒng)會(huì)根據(jù)線程的優(yōu)先級(jí)和同步要求分配時(shí)間單元用于執(zhí)行多個(gè)線程,這樣實(shí)現(xiàn)了多任務(wù)分時(shí)占有CPU,可在一個(gè)段時(shí)間內(nèi)并行完成多個(gè)測(cè)試任務(wù)。多任務(wù)、多線程之間通過(guò)同步、通信(如共亨內(nèi)存映射文件、訪問(wèn)共亨數(shù)據(jù)以及使用同一消息隊(duì)列等)以實(shí)現(xiàn)復(fù)雜的測(cè)試、控制邏輯。
  (3)引擎技術(shù)
  測(cè)試程序的儀器操作過(guò)程是TPS利用驅(qū)動(dòng)器控制硬件儀器的過(guò)程。為了優(yōu)化這一控制過(guò)程,需要引擎技術(shù),把軟件代碼的控制需求轉(zhuǎn)變成實(shí)際的物理儀器操作。測(cè)試中用到的最多的同步、觸發(fā)功能,若有多個(gè)同步步驟需要連續(xù)、高速觸發(fā),在這樣的情況下,僅需要測(cè)試代碼去控制是很難滿足需求的。為此,可以設(shè)計(jì)基于引擎技術(shù)的同步觸發(fā)引擎,把測(cè)試需求編程一定的序列輸入到相應(yīng)的同步觸發(fā)引擎中。依據(jù)測(cè)試程序的執(zhí)行自行觸發(fā)這一序列,將大大提高測(cè)試效率,滿足更高的測(cè)試速率要求,使測(cè)試程序具有自主觸發(fā)和時(shí)鐘路由能力。另外,隨著便攜式、模塊化、嵌入式實(shí)時(shí)環(huán)境對(duì)虛擬儀器的要求越來(lái)越迫切,還需要開(kāi)發(fā)驅(qū)動(dòng)器在這些不同環(huán)境下的運(yùn)行時(shí)引擎,以滿足各種需求。綜上,引擎技術(shù)在測(cè)試領(lǐng)域中有很大的發(fā)展空間,應(yīng)倍加重視。
  (4)軟件工程技術(shù)
  儀器驅(qū)動(dòng)器是對(duì)物理儀器的功能描述,軟件工程技術(shù)將能保證驅(qū)動(dòng)器設(shè)計(jì)的功能完備性。1997年由 OMG(Object Management Group)發(fā)布的統(tǒng)一建模語(yǔ)言(UML,unified modeling language)和統(tǒng)一軟件開(kāi)發(fā)過(guò)程是軟件工程領(lǐng)域中的重要成果,標(biāo)志著面向?qū)ο蠹夹g(shù)走向第二代。UML支持從系統(tǒng)需求分析到詳細(xì)設(shè)計(jì)再到系統(tǒng)的驗(yàn)證測(cè)試的全部過(guò)程,當(dāng)出現(xiàn)問(wèn)題時(shí)提供跟蹤機(jī)制。使用UML會(huì)幫助設(shè)計(jì)人員在建造驅(qū)動(dòng)器框架中理解模型,把握儀器的全貌和功能、部件之間的聯(lián)系,防止過(guò)早地陷入各個(gè)模塊細(xì)節(jié)中去,有利于提高驅(qū)動(dòng)器軟件的質(zhì)量,縮短研制周期,降低開(kāi)發(fā)費(fèi)用。統(tǒng)一軟件開(kāi)發(fā)過(guò)程是用戶驅(qū)動(dòng)、以架構(gòu)為中心、不斷迭代和增量過(guò)程。基于這一過(guò)程,可以設(shè)計(jì)出功能完備、接口標(biāo)準(zhǔn)、易于升級(jí)換代的驅(qū)動(dòng)器。
5 國(guó)內(nèi)現(xiàn)狀
  我國(guó)在虛擬儀器驅(qū)動(dòng)器研究方面取得了一定的進(jìn)展:成都電子科技大學(xué)開(kāi)發(fā)出了具有自主知識(shí)產(chǎn)權(quán)的VISA庫(kù);哈爾濱工業(yè)大學(xué)電氣工程系開(kāi)發(fā)的虛擬儀器軟件開(kāi)發(fā)平臺(tái)—ATS95可以實(shí)現(xiàn)對(duì)VXI、GPIB等總線接口的控制;成都611所在引進(jìn)PAWS平臺(tái)的同時(shí)也對(duì)面向信號(hào)的驅(qū)動(dòng)器設(shè)計(jì)和平臺(tái)開(kāi)發(fā)做了一定研究等等。但由于我國(guó)介入虛擬儀器研究比較晚,在硬件模塊方面沒(méi)有自己上規(guī)模、成系列的產(chǎn)品,導(dǎo)致了測(cè)試軟件沒(méi)有全面發(fā)展,很多關(guān)鍵技術(shù)仍處于起步階段,在驅(qū)動(dòng)器設(shè)計(jì)方面沒(méi)有自己知識(shí)產(chǎn)權(quán)的技術(shù)規(guī)范和相關(guān)產(chǎn)品,仍需要很長(zhǎng)的路要走。鑒于此,我們應(yīng)在以下方面進(jìn)行努力:(1)開(kāi)發(fā)自己的總線控制器,占領(lǐng)虛擬儀器技術(shù)的心臟地帶;(2)設(shè)計(jì)各種儀器模塊產(chǎn)品并形成系列化,降低虛擬儀器系統(tǒng)的集成成本;(3)設(shè)計(jì)完備成熟的VISA庫(kù),把握自己的知識(shí)產(chǎn)權(quán); (4)開(kāi)展面向信號(hào)的驅(qū)動(dòng)器技術(shù)研究,與國(guó)際接軌,深入研究虛擬儀器核心技術(shù)。
參考文獻(xiàn)
1 IVI Foundation. IVI-3系列規(guī)范[EB/OL]. http://www.ivi-foundation. org.
2 National Instrument Corporation. Instrumentation Newsletter. Second Quarter 2004:8~9
3 National Instrument Corporation. Instrumentation Newsletter. Four Quarter 2004:19
4 National Instrument Corporation. Instrumentation Newsletter. Third Quarter 2004:6~7

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。