一類基于放寬型體系的分析儀器換置踐行
當今技術的發展,日新月異。由此導致測試設備的淘汰影響著飛行器、汽車以及軍用等測試行業。這些系統的測試在TPS上投入巨大,而且隨著儀器的更新,將導致TPS的升級與重新編寫,這又將會使投入進一步加大。人們早就試圖解決儀器的互換性問題,早期MATE計劃、ATLAS和后來的DAD計劃都是不錯的想法,特別是他們還提出了面向信號的概念,這些概念現在仍在使用。但是,最終他們失敗了。因為這些政府項目,開銷巨大、而且不能與技術的發展同步<2>。
解決儀器互換問題必須走的標準化道路。1990年,SCPI聯盟試圖標準化所有儀器的ASCI命令,開創了通用儀器類的概念。但是這時正值儀器驅動技術流行,以至于沒有多少用戶真正了解到SCPI的優越性<2>。
90年代中期,VPP驅動器出現了。它開發了儀器軟面板,解決了不同廠商儀器驅動器之間的互操作性問題,開發了VISA傳輸層,但是,他們從來就沒有解決儀器的互換性問題。而且,他們受到了后來微軟COM技術的威脅。
這些標準都提出了一些新的概念或想法,促進了儀器互換性的發展,但是這些標準化家族也都有各自的優缺點。要解決儀器的互換性必須結合以前的成功經驗,引進最新技術和采用復雜的體系結構,并考慮將來的發展<2>。直到IVI技術的出現,才使得儀器互換技術得到了較好的實現。
IVI規范和體系結構為了提高儀器驅動程序的執行性能和實現儀器的互換性,1998年由9個公司成立了IVI(interchang2 eable virtual instrument)基金會,在VXI2PNP技術的基礎上為儀器驅動程序制定新的編程接口,在VISA標準驅動程序上插入VXI2PNP框架結構和類驅動程序。
IVI一經提出就得到了一些儀器生產廠商的響應,目前已經發布了9大類儀器規范。美國國家儀器公司(簡稱NI)作為IVI的系統聯盟之一,積極響應IVI的號召,并開發了基于虛擬儀器軟件平臺的IVI驅動程序庫和配置環境。IVI技術的發展也引起了美國國防部(DoD)的興趣,并向其提出了制定包括源和測試裝置在內的光電儀器類的需求。下一代測試(NText)工作組也將IVI作為其關鍵技術之一<2>。
IVI體系結構由IVI儀器類驅動器、IVI具體儀器驅動程序、IVI引擎、IVI配置實用程序和IVI配置信息文件五部分組成,如所示。測試程序(TP)調用儀器類驅動器,儀器類驅動程序再調用具體儀器驅動程序來控制真實儀器。IVI引擎通過控制儀器的讀寫屬性,來監測IVI驅動程序,實現狀態緩存與參數驗證等功能。此外,實現儀器的互換還必須借助配置工具,進行必要的配置。
IVI的缺點IVI技術是當前最為流行的儀器互換技術,而且該技術也正處在發展當中。但是,IVI技術的一些固有缺陷也影響了儀器的互換性和實際應用。
首先,雖然IVI在過去的幾年里取得了巨大的進步,但是目前只發布了9個儀器類,這只是眾多儀器類中的一小部分<3>。另外,只有相對較少的硬件開發商支持IVI驅動器<3>,這種限制成為了測試系統中采用IVI的主要障礙。雖然在IVI的基礎上又定義了IVI2MSS和IVI信號接口以支持更高層的儀器互換,但是IVI的固有缺陷也影響了它的靈活性。
其次,所有儀器的功能不能完全相同,因此,不可能建立一個單一的編程接口滿足不同儀器的所有要求。為了適應這一需求,IVI基金會將儀器類規范分成基本功能和擴展功能。前者定義了同類儀器中絕大多數儀器所共有的能力和屬性。后者則是更多地體現了每類儀器的許多特殊功能和屬性。但是,該結構中的擴展功能影響了儀器互換性的實現。還有,NI作為IVI的積極響應者,開發了基于虛擬儀器軟件平臺的IVI驅動程序庫和配置環境MAX.在MAX中需要配置的有四項: Devices、Instrument Drivers、Virtual Instruments、Logical Names.
雖然IVI宣稱自己是一個開放式體系結構,但是其所提供的配置功能還很有限。儀器驅動器的接口由IVI規范保證,沒有在配置環境中配置,對用戶來說少了靈活性。
基于開發式系統的儀器互換性實現為了克服IVI的缺點,并繼承其優點以支持更廣泛的儀器互換性,本文提出了一種基于開放式體系結構的實現儀器互換性的方法,如所示。該體系結構由四部分組成:面向信號儀器驅動器、資源管理器、測試資源配置工具和模型庫組成。儀器驅動器負責真實儀器的驅動,儀器驅動器的接口采用面向信號的定義方法,為實現不同儀器同類信號之間的互換奠定了基礎;資源管理器負責將TPS的信號需求映射到具體的儀器及儀器驅動器接口,并對儀器驅動器進行調度;資源配置工具負責ATE測試資源的修改與維護;模型庫保存系統的ATE測試資源信息,為資源管理器的資源匹配與儀器驅動器自動調用提供依據。其中設備模型、配置模型和適配器模型為ATE硬件測試資源的描述,儀器驅動器模型為面向信號儀器驅動器接口的描述。
驅動器所謂儀器驅動器就是一組用于控制可編程儀器的軟件模塊。傳統的儀器驅動器是由儀器開發商根據特定的儀器開發的,用以控制相應儀器的配置、讀寫或觸發的一組函數集。儀器驅動器的出現極大的減輕了測試應用開發的難度,開發人員不必去學習每一個儀器的編程協議,簡化了儀器控制,減少了測試用的開發周期。
為了實現儀器驅動器接口的面向信號和現有儀器驅動器的重用,設計了儀器驅動器的結構如所示。每個儀器驅動器包含如下兩種接口: IDriver接口和信號接口。其中每個儀器都應當繼承和實現IDriver接口,它負責儀器的初始化、自檢和基本的設置工作;信號接口是一個標準,不同儀器實現的相同信號功能應該具有相同的信號接口,這樣就可以實現不同儀器之間信號接口的互換,而不僅僅是儀器之間的互換。為了利用已有的儀器驅動器,可以采用包容和聚合等方法進行復用。
所有的面向信號的儀器驅動器都采用COM實現。COM軟構件是一種接口定義良好、獨立可重用的二進制代碼,軟構件的典型特征是接口特性、封裝特性和重用性。此外,還具有多線程安全、數據共享機制、多平臺支持和便于版本升級等固有的特性,可以極大地提高軟件的性能及通用性和維護性<5>。
測試資源信息模型通常ATE測試資源信息模型包含三個部分,分別為:設備模型(DM)、適配器模型(AM)和配置模型(CM) ,它完整地描述了ATE硬件資源的信息以及資源之間的配置連接關系。其中,設備模型主要描述ATE設備的標識及其性能;適配器模型描述ATE接口連接器之間、UUT接口連接器之間、ATE接口連接器與UUT接口連接器之間的連接關系;配置模型是ATE的邏輯模型,它描述了在該測試環境下設備之間的相互連接和通信<6>。該模型框架最先由ARINC提出,后來為IEEE所采用,并在IEEE Std 99321997中用TEDL語言進行了描述。http://www.pc256.com