1.6 IVI-Signal Interface
2000年,IVI基金會的Signal Interface工作組在TYX公司和HP公司的領域下開始制定IVI-Signal Interface標準。它基于COM(Component Object Model)技術,是一系列COM組件的統(tǒng)稱。
在IVI-MSS模型基礎上發(fā)展起來的IVI-Signal Interface標準把原先的儀器控制命令轉化為測試信號的需求,把IVI-MSS Server功能接口進一部封裝形成IVI-Signal Interface信號接口。這克服了“面向儀器”的TPS開發(fā)中存在的弊端,實現(xiàn)了更高層閃的儀器互換。信號接口的標準化增強了不同廠商儀器之間的互操作性,方便了代碼移植。同時,為儀器驅動器開發(fā)帶了巨大商機,提高了IVI信號組件的開發(fā)效率和質量,有很看好的應用前景。
綜上,當前占主導地位的驅動器設計規(guī)范主要有兩種:VPP規(guī)范和IVI系列規(guī)范。兩種驅動器開發(fā)規(guī)范的共同點是均建立在IEEE 488.2和SCPI命令以及VISA庫之上,都包括接口和內部實現(xiàn)兩部分。不同點是前者已發(fā)展成熟,它以儀器本身的特征應用于為中心,是功能驅動的,多由儀器生產(chǎn)商朝代,接口沒有嚴格的語義標準,實現(xiàn)了儀器的即插即用,沒有實現(xiàn)儀器互換和軟件移植等功能;而后者建立在VPP之上,正入在發(fā)展完善之中,它面向UUT的測試需求,是需求驅動的,由測試系統(tǒng)集成人員或第三方軟件開發(fā)人員編寫,接口有嚴格的語義標準,部分地實現(xiàn)了儀器互換性和軟件移植性,并最終向著完全實現(xiàn)而努力。目前VPP規(guī)范已被多數(shù)廠家所采納進行自己產(chǎn)品的驅動器開發(fā),因此將在未來很長的一段時間內占統(tǒng)治地位。但由于它在解決儀器互換性總題上無能為力,隨著IVI系列規(guī)范的進一步完善,必將被其替代。
2 驅動器開發(fā)
根據(jù)以上驅動器設計規(guī)范發(fā)展回顧及分析可知,驅動器開發(fā)也分為兩種類型:基于VPP規(guī)范的即插即用型驅動器開發(fā)和基于IVI系列規(guī)范的互換型驅動器開發(fā)。
2.1 即插即用型驅動器開發(fā)
開發(fā)基于VPP規(guī)范的即插即用型驅動器的過程分為兩步。第一是儀器驅動器外部接口的設計,它表示儀器驅動器如何與外部軟件接口,通常提供兩種方式的接口:程序式開發(fā)接口和圖形軟面板。軟件開發(fā)者通過程序式開發(fā)接口可以理解每個儀器驅動器函數(shù)的功能以及在應用程序中如何調用每個函數(shù)、另一種接口方式是圖形化軟面板,通過這一軟面板可以直接操作控制物理儀器。第二是要完成儀器驅動器的內部模塊設計,實現(xiàn)儀器的硬件功能。使用程序式開發(fā)接口的用戶了解了這一功能,可以在應用程序中直接應用這些模塊,而不必通過軟面板操作。
要完成第一項工作應選用界面編輯功能較強的編程環(huán)境,減少儀器軟面板的開發(fā)時間;第二項工作通過調用VISA I/O庫中的函數(shù)來完成,編程語言按照VPP規(guī)程可以選用ANSI C、BASIC或者Ada等。選用合適的圖形軟件工具可以把這兩部分工作集成到一個環(huán)境下完成,省去兩部分的連接工作,例如NI公司的可視化軟件平臺LabWindows/CVI。CVI開發(fā)環(huán)境中兩部分組成:用戶界面設計器和源代碼編程器。
2.互換型驅動器開發(fā)
與即插即用型驅動器類似,基于IVI系列規(guī)范的互換型驅動器開發(fā)也包括兩部分。第一是分析測試系統(tǒng)的功能需求,以功能或信號的形式分類定義驅動器組件的接口。這些接口是對UUT測試需求的描述,有嚴格的主義標準,將不隨儀器種類和軟件類型而改變,是標準的,通用的。第二是驅動器組件接口的內部實現(xiàn),它被封裝在組件內部,可以根據(jù)具體的開發(fā)工具和編程人員特長來開發(fā),是非標準的、特殊的。
對于基于IVI系列規(guī)范的驅動器開發(fā),目前還沒有專業(yè)的、IVI基金會指定的開發(fā)工具。但由于其采用COM技術,因此可以使用任何支持組件開發(fā)的編程平臺進行開發(fā)。設計人員在理解技術規(guī)范的基礎上可以利用現(xiàn)有的圖形化編程工具(比如VC++、VB等)進行設計。
需要說明的是,IVI是介于VPP和IVI-MSS之間的一個過渡性規(guī)范,它既有IVI-C的C語言形式,也有基于COM的IVI-COM組件形式,并且接口的嚴格語義標準目前只發(fā)布了八類儀器的技術規(guī)范,因此可以根據(jù)具體情況選用相應工具進行開發(fā)。
3 發(fā)展趨勢
(1)信號型驅動器
由前面對IVI-Signal Interface標準的介紹可知,信號型驅動面向UUT的測試需求,是需求驅動的,符合當前微型計算機體系結構發(fā)展趨勢,而且實現(xiàn)了更高層次的儀器互換和互操作,通用性好。隨著面向信號的商業(yè)化虛擬儀器和互操作,通用性好。隨著面向信號的商業(yè)化虛擬儀器軟件開發(fā)平臺的不斷涌現(xiàn),如PAWS、ATLAS 2K等,迫切需要給出標準化的軟件開發(fā)平臺與底層硬件模塊之間的接口,而信號型驅動器恰好實現(xiàn)了面向信號的TPS開發(fā)平臺與底層硬件模塊的完美對接?;谝陨戏治?,信號驅動器將是虛擬儀器驅動器設計標準發(fā)展的必然結果。
(2)網(wǎng)絡化驅動器
網(wǎng)絡的普及給各個行業(yè)都帶來了巨大沖擊,測試領域也不例外,網(wǎng)絡化虛擬儀器和儀器網(wǎng)絡化現(xiàn)已成為當前測試技術的一個研究熱點。而要想實現(xiàn)遠程控制儀器就必須提供儀器設備的網(wǎng)絡化驅動器或在現(xiàn)有儀器驅動器的基礎上添加網(wǎng)絡化功能。基于此,VXI聯(lián)盟(VXI Consortium)提出了VXI-11規(guī)范,這個規(guī)范主要是對IEEE-488總線的擴展,也就是通過TCP/IP發(fā)送IEEE-488總線命令。該擴展的目的在于實現(xiàn)遠端的客房端通過網(wǎng)絡與現(xiàn)場儀器通信并完成測試任務,并且對用戶來講好像在本地使用儀器一樣。隨著虛擬儀器技術和網(wǎng)絡技術的發(fā)展,網(wǎng)絡化驅動器將取得更大的發(fā)展空間。
(3)VISA兼容更多的接口類型
計算機接口技術不斷發(fā)展,涌現(xiàn)了許多商業(yè)化PC總線,如USB、Ethernet等,這也是影響虛擬儀器發(fā)展的關鍵技術之一。由于這些總線最初是為網(wǎng)絡PC和連接PC外設而設計的,要更方便地控制儀器,這些總線需要軟件構架來簡化通信并與其他一起控制標準兼容。因此,需要對虛擬儀器驅動器標準框架VISA進行擴展。
(4)與商業(yè)TPS開發(fā)平臺“即插即用”
驅動器是連接計算機和物理儀器的中間環(huán)節(jié),是虛擬儀器開發(fā)的重要資源,當前的TPS開發(fā)平臺向著集成、高效、商家壟斷方向發(fā)展,如HP公司的VEE、NI公司的LabVIEW、LabWindows/CVI等。為了擴展自己的市場空間和便于用戶開發(fā)使用,虛擬儀器硬件設計廠商或第三方軟件開發(fā)單位應該提供與這些商業(yè)開發(fā)平臺“即插即用”的驅動器。同時,為了加強合作和簡化集成,商業(yè)TPS開發(fā)商也應該給出與自己平臺兼容的驅動器設計標準并提供相關技術支持。
(5)源代碼級開放式結構
當前,從源代碼開放的角度來講,虛擬儀器設計領域存在三種驅動器類型:封閉黑盒型,封裝型和開放源代碼型。其中封閉黑盒型不提供對源代碼的訪問,不具備擴展和編寫儀器新功能的能力;封裝型驅動可作為驅動器二次開發(fā)的原始接口或封裝器;而開放源代碼型驅動原生于相應的開發(fā)環(huán)境,提供對源代碼的完全訪問權限,經(jīng)過優(yōu)化和改進后能易于使用并具有集成的靈活性,能讓開發(fā)人員定制自己的功能需求,把開發(fā)觸解伸向了儀器設備的心臟地帶。
虛擬儀器的一個重要特點是硬件的功能由軟件來定制,而從某種層面上講,驅動器是儀器功能的描述和表達。當前多種儀器硬件模塊開發(fā)廠商在發(fā)布自己的產(chǎn)品時,都把驅動器作為“黑盒子”來發(fā)布,這不利于客戶定制自己需要的功能和進行二次開發(fā)。另一方面,由于軟件開發(fā)換代相當迅速,這也給驅動器開發(fā)提供了新的要求?,F(xiàn)在多數(shù)儀器驅動在向.NET平臺移植時都存在各種各樣的困難,而驅動器源代碼級開放是解決這些總是的前提,不僅如此,開放源代碼型驅動還能簡化與儀器硬件的連接,使開發(fā)人員不僅是驅動器的使用者而且是擁有者,因此,儀器驅動器采用開放源代碼式結構將是一個重要的發(fā)展方向。
(6)可視化配置操作
可視化與完備的人機交互能力是現(xiàn)場代軟件開發(fā)的基本要求,作為虛擬儀器核心的驅動器在這方面應能滿足客房的更高的需求。把軟件開發(fā)人員從繁重的代碼編寫任務中解脫出來,而把主要精力放在測試功能的實現(xiàn)上是驅動器設計迫切需要解決的問題。將儀器連接配置、編寫測試代碼、測試任務的組合設定等繁瑣工作轉變成好人機界面下的鼠標操作,必將簡化虛擬儀器系統(tǒng)的集成開發(fā)。為此,在驅動器設計領域出現(xiàn)了虛擬資源、虛擬通道等概念。它們把物理資源和通道的信息(比如量程、端口配置等)進行封裝,通過友好的界面與開發(fā)人員進行信息互交,實現(xiàn)了儀器控制的可視化配置操作。
(7)拓展應用空間
儀器驅動器是計算機控制物理儀器設備的中間環(huán)節(jié),隨著虛擬儀器的不斷發(fā)展,這一思想也拓展了嶄新的發(fā)展空間。驅動器越來越多地以“服務”的形式為測試程序提供功能調用。如IEEE 1451.4標準給模擬傳感器定義了電子數(shù)據(jù)表格并內嵌于其中,測試系統(tǒng)或TPS開發(fā)平臺可以通過模擬傳感受器提供的數(shù)字接口讀取電子數(shù)據(jù)表中的數(shù)據(jù)并對其進行配置,這在一定意義上也是驅動器應用的新領域。使用基于IEEE 1451.4設計的智能傳感器可以簡化傳感器的連接過程,實現(xiàn)傳感器的“即插即用”和自動配置。ISP(Programmable in-system)技術在電子設計自動化領域得到了廣泛應用,基于此,NI公司提出的RIO(Reconfiguration I/O)技術完成了物理儀器的在線可編程控制,實現(xiàn)了用戶自定義硬件,是儀器驅動器概念的升華。