喻波
【摘 要】虛擬儀器的驅(qū)動(dòng)技術(shù)對虛擬儀器能否正常運(yùn)行至關(guān)重要,是虛擬儀器中最關(guān)鍵的技術(shù)。虛擬儀器的驅(qū)動(dòng)技術(shù)就是通過模塊化編程的方法,把對儀器的一系列操作集合在一起形成儀器驅(qū)動(dòng)程序,如初始化儀器、配置儀器、讀取測試結(jié)果等,避免了程序員在對同樣儀器開發(fā)新的應(yīng)用時(shí)進(jìn)行重復(fù)工作。本文簡單介紹了虛擬儀器的驅(qū)動(dòng)技術(shù)的概況和發(fā)展歷程,詳細(xì)論述了主要的儀器驅(qū)動(dòng)器技術(shù)規(guī)范SCPI、VPP和IVI的基本原理和層次結(jié)構(gòu)。
【關(guān)鍵詞】虛擬儀器 SCPI VPP IVI
1概述
虛擬儀器的驅(qū)動(dòng)技術(shù)對虛擬儀器能否正常運(yùn)行至關(guān)重要,是虛擬儀器中最關(guān)鍵的技術(shù)。它一方面與具體儀器通信,一方面與更高層的軟件或使用儀器驅(qū)動(dòng)程序的用戶通信。
為了降低開發(fā)成本,減小開發(fā)難度,縮短研發(fā)周期,提高系統(tǒng)穩(wěn)定性,自動(dòng)測試系統(tǒng)中大量采用了商用貨架產(chǎn)品COTS。
而商用產(chǎn)品更新?lián)Q代很快,為了延長測試系統(tǒng)的壽命,往往需要進(jìn)行儀器更換;另一方面,當(dāng)被測對象測試需求發(fā)生變化時(shí),也可能要求對儀器進(jìn)行更新?lián)Q代,這就存在兼容性問題。
2 主要的虛擬儀器驅(qū)動(dòng)技術(shù)
隨著測試系統(tǒng)的不斷發(fā)展,儀器驅(qū)動(dòng)器技術(shù)規(guī)范也經(jīng)歷了從 IEEE488.2、SCPI、VPP儀器驅(qū)動(dòng)器到 IVI儀器驅(qū)動(dòng)器的發(fā)展。
下面對SCPI、VPP和IVI分別加以論述:
2.1 SCPI
SCPI(Standard Commands for Programmable Instruments)即可編程儀器標(biāo)準(zhǔn)命令,是建立在IEEE488.2提出的標(biāo)準(zhǔn)代碼和格式之上的,包含了IEEE488.2通用命令和SCPI儀器特定控制命令。
IEEE488.2通用命令規(guī)定了儀器必須執(zhí)行的命令,它與測量無關(guān),用來實(shí)現(xiàn)重設(shè)(reset),自測試(self-test),狀態(tài)查詢(status byte query)等。SCPI儀器特定控制命令用以執(zhí)行測量,儀器狀態(tài)查詢,獲取測試數(shù)據(jù)等,包括所有的測試函數(shù)和一些特殊的功能函數(shù)。不同的儀器具有不同控制命令。但命令的格式相同,都是采取層次化結(jié)構(gòu),每個(gè)根命令層次下可能有許多低層次命令,呈樹狀向下伸展,只有指定完整的路徑才能執(zhí)行較低層次的命令。SCPI與過去的儀器命令最大的區(qū)別是:描述的是試圖測量的信號(hào)而不是用測量該信號(hào)所用的儀器。
2.2 VPP
眾所周知,在設(shè)計(jì)、組建自動(dòng)測試系統(tǒng)中,儀器的編程是一個(gè)系統(tǒng)中最費(fèi)時(shí)費(fèi)力的部分。系統(tǒng)中的儀器可能由各個(gè)儀器供應(yīng)廠家提供,而且系統(tǒng)設(shè)計(jì)人員對所有的儀器既需要完成底層的儀器I/O操作,又需要高層的儀器互換能力,這大大增加了系統(tǒng)設(shè)計(jì)人員的負(fù)擔(dān),因此儀器用戶總是想方設(shè)法將儀器編程結(jié)構(gòu)化、模塊化以便控制特定儀器的程序能反復(fù)使用。因此,一方面對儀器編程語言推出了標(biāo)準(zhǔn)化要求;另一方面,需要定義一層具有獨(dú)立性的模塊化儀器驅(qū)動(dòng)程序,亦即具有相對獨(dú)立性的儀器驅(qū)動(dòng)程序。
基于以上原因,VXI即插即用聯(lián)盟制定了VPP(VXI Plug &Play)儀器驅(qū)動(dòng)規(guī)范標(biāo)準(zhǔn),它詳細(xì)地規(guī)定了VXI總線即插即用風(fēng)格的虛擬儀器系統(tǒng)的儀器驅(qū)動(dòng)程序的結(jié)構(gòu)和設(shè)計(jì)。
VPP規(guī)范的一個(gè)重要結(jié)果就是將儀器驅(qū)動(dòng)器作為儀器的一部分,由儀器廠家提供。 VPP儀器驅(qū)動(dòng)程序封裝了為完成儀器操作和控制所必需的所有底層操作,無論是消息基還是寄存器基的儀器。這就使得測試系統(tǒng)開發(fā)人員不必從最基礎(chǔ)的VISA語句寫起,也無需了解儀器的具體命令,只要調(diào)用儀器驅(qū)動(dòng)程序模塊即可完成應(yīng)用程序的開發(fā)工作,大大提高了測試開發(fā)的效率。
2.3 IVI
雖然HP VEE、LabVIEW、Lab Windows/ CVI 及中文VPP 等跨平臺(tái)開發(fā)環(huán)境,通過不同的API 接口保證了改變操作系統(tǒng)和編程語言無需修改測試程序,而通過VISA 規(guī)范標(biāo)準(zhǔn),不同廠家的儀器在這些平臺(tái)上實(shí)現(xiàn)了互操作性。但是,如果更換硬件設(shè)備,則必須修改測試程序,換句話說,也就是虛擬儀器不具有可互換性,這是由于不同硬件廠商提供的儀器驅(qū)動(dòng)程序(或I/O 接口程序) 之間缺乏統(tǒng)一的編程接口而引起的。這一情況限制了測試系統(tǒng)開發(fā)周期的進(jìn)一步縮短和系統(tǒng)成本的進(jìn)一步降低。特別是對于軍用測試系統(tǒng),壽命一般長達(dá)20~30 年。在很多時(shí)候,儀器硬件不是過時(shí)就是需要更新,而且軍用測試軟件工具和標(biāo)準(zhǔn)化需要巨額投資。隨著技術(shù)的更新,這些軟件和標(biāo)準(zhǔn)的維護(hù)費(fèi)用昂貴,又難以升級(jí)。所以,更加迫切地需要一種無需改動(dòng)程序代碼就可用新的儀器硬件改進(jìn)系統(tǒng)方法及儀器可互換性。
以上原因?qū)е铝薎VI的出現(xiàn)。IVI(Interchangeable Virtual Instrument)即可互換虛擬儀器技術(shù)規(guī)范是由IVI基金會(huì)于1998年發(fā)布的,旨在提高可互換性、提供更好的性能、減少開發(fā)和維護(hù)的費(fèi)用。目前仍在不斷完善中。IVI規(guī)范為在儀器級(jí)別上實(shí)現(xiàn)軟件互換,盡可能實(shí)現(xiàn)儀器驅(qū)動(dòng)程序和測試程序代碼的可重用性作出了巨大的貢獻(xiàn)。
IVI驅(qū)動(dòng)程序類型如圖5所示,可以看到,IVI規(guī)范把儀器驅(qū)動(dòng)分為IVI類驅(qū)動(dòng)器(Class Driver)和IVI特定驅(qū)動(dòng)器(Specific Driver),而IVI特定驅(qū)動(dòng)器又由IVI類兼容(Class-compliant)特定驅(qū)動(dòng)器和IVI定制特定驅(qū)動(dòng)器組成。
IVI規(guī)范引入了儀器類的概念,完整定義了某個(gè)已定義類儀器的所用特性和一致的編程接口。IVI類驅(qū)動(dòng)器對于實(shí)現(xiàn)儀器互換是必需的。目前已定義的類驅(qū)動(dòng)規(guī)范有8種:直流電源,數(shù)字萬用表,函數(shù)發(fā)生器,開關(guān),示波器,功率計(jì),射頻信號(hào)發(fā)生器,頻譜分析儀,成熟的只有5種。
IVI內(nèi)部模型與VPP內(nèi)部模型最大的區(qū)別在于它的引擎機(jī)制。IVI 引擎將決定哪個(gè)特定驅(qū)動(dòng)器和儀器建立通話鏈路,同時(shí)也包含如何去獲取、確認(rèn)和更新儀器屬性的方法。建立在由IVI引擎驅(qū)動(dòng)的屬性機(jī)制的基礎(chǔ)上,IVI實(shí)現(xiàn)了狀態(tài)緩存、范圍檢測、狀態(tài)檢測及儀器仿真功能。
IVI驅(qū)動(dòng)器的互換性體現(xiàn)在由類驅(qū)動(dòng)器向特定驅(qū)動(dòng)器的映射機(jī)制上。不用更改測試程序,只通過更改配置文件就可實(shí)現(xiàn)驅(qū)動(dòng)器的互換。特定驅(qū)動(dòng)器按照IVI規(guī)范實(shí)現(xiàn)外部接口,內(nèi)部采用VPP系統(tǒng)聯(lián)盟的驅(qū)動(dòng)器結(jié)構(gòu)和底層VISA I/O庫來實(shí)現(xiàn)。可以說,IVI驅(qū)動(dòng)器在結(jié)構(gòu)上是VPP驅(qū)動(dòng)器的超集。
3結(jié)語
由于具有便攜性好、可靠性高、環(huán)境適應(yīng)性強(qiáng)、能進(jìn)行快速組合以滿足多種檢測方案的要求等顯著優(yōu)點(diǎn),虛擬儀器測試技術(shù)的應(yīng)用越來越廣泛,而作為最重要組成的驅(qū)動(dòng)技術(shù)也必將隨著虛擬儀器測試技術(shù)的飛速發(fā)展而日新月異。