1. 模塊化儀器——靈活的自定義軟件和可擴展硬件
設備的日趨復雜和技術的漸進融合迫使測試系統變得更加靈活。盡管成本的壓力要求系統具有更長的生命周期,測試系統仍須適應設備隨時間變化而帶來的各種變化。而實現這些目標的唯一途徑便是采用一種軟件定義的模塊化架構。本文將通過使用虛擬儀器來解釋軟件定義的概念,為硬件平臺和軟件實現提供多種選擇,并討論模塊化系統是如何滿足理想ATE的需求。
目前就本質而言,有兩種類型的儀器應用,虛擬儀器和傳統儀器。圖1描述了這兩種類型儀器的架構。
Figure 1. Comparing traditional and virtual instrumentation architectures, both share similar hardware components; the primary difference between the architectures is where the software resides and whether it is user-accessible.
兩種類型儀器的相似之處。兩者都具有測量硬件、一個機箱、一個電源、一根總線、一個處理器、一個操作系統和一個用戶界面。由于這兩類儀器使用相同的基本組件,所以從純硬件的角度來看,兩者間最明顯的區別在于如何將這些組件進行封裝。一個傳統的(或獨立的)儀器會將所有的組件放在同一個盒子(這個盒子適用于任何一個獨立儀器)中。通過GPIB、USB或LAN/局域網控制的手動儀器便是這類獨立儀器的一個范例。這些儀器是作為獨立實體設計的,其主要設計目的并不是系統應用。雖然傳統儀器數量眾多,但就儀器本身而言,其軟件處理和用戶界面都是固定的,僅當廠商選擇更新時才可以被更新,而且如何更新也取決于廠商的選擇(例如,通過固件升級)。因此,用戶要想進行傳統儀器功能列表中未包括的測量是不可能的,而且,對于一個傳統儀器,根據新的標準進行測量,或者根據需求的變化調整原系統,都是極具挑戰的。
相比之下,一個通過軟件定義的虛擬儀器使得用戶可以訪問來自硬件的原始數據,以便自定義測量和用戶界面。通過這種軟件定義的方式,用戶可以進行定制測量,根據新的標準進行測量,或者根據需求變化調整系統(例如增加儀器、通道或測量)。盡管用戶定義軟件可用于獨立的、特殊應用的硬件,但其理想的搭配還是通用的模塊化硬件,它能使測量軟件的靈活性和性能得到充分發揮。這種靈活的自定義軟件與可擴展硬件的組合,便是模塊化儀器的核心所在。
2. 支持系統擴展的模塊化硬件
模塊化儀器可以采取多種形式。在一個設計良好的模塊化儀器系統中,許多組件,例如機箱和電源,都為多個儀器模塊所共用,而不是為某一儀器功能重復配置這些組件。這些儀器模塊也可以包含不同類型的硬件,包括示波器、函數發生器、數字化儀與RF等。在某些情形下(如圖2所示),測量硬件僅僅是一個安裝于主機的某個外設端口或外設插槽的外設。在此情形下,主機PC提供用以完成軟件測量的處理器,以及用于電源供應和I/O的機箱。
Figure 2. Examples of measurement hardware choices for modular instrumentation include a USB peripheral module on the left, and a PCI Express plug-in module on the right.
在另一些情形下,例如PXI(PCI的儀器拓展)——一個用于測試、測量和控制的穩固平臺,并由超過70個成員公司所支持——測量硬件被安裝于一個工業機箱(如圖3所示)。
Figure 3. This example of a modular instrumentation system uses PXI hardware and NI LabVIEW graphical development software.
在一個PXI系統中,主機可以嵌入機箱(如圖3所示),或者是通過線纜接口控制測量硬件的獨立的便攜機、臺式機或服務器。由于一個PXI系統使用與PC內部相同的總線(PCI和PCI Express)和現有的PC組件來實現對系統的控制,因此,無論是使用PXI系統還是PC,相同的模塊化儀器概念均可等同應用。(然而,PXI確實為模塊化儀器提供了一些此處未展現的其它優點,如更高的通道數、便攜性和穩固性(了解關于PXI的更多信息,請訪問ni.com/china/pxi)。)不論系統使用PXI、帶有內插式模塊的臺式機或是帶有外設I/O模塊的臺式機,這種共享機箱和控制器的方式都大大降低了成本,同時也使用戶能夠對測量與分析軟件進行控制。雖然模塊化儀器存在多種配置選擇,但該類型儀器與傳統儀器的區別之處在于,其軟件是開放的,因此當測試需求發生變化或傳統儀器無法完成測量時,用戶可以自定制測量。
值得注意的是,這種模塊化方法并不意味著,在與將所有功能連接到單一盒子內的傳統儀器相比時,會存在儀器或通道間同步的問題。相反地,模塊化儀器的設計目的在于可被集成以供系統使用。所有的模塊化儀器均通過共享的時鐘和觸發器,提供定時和同步的能力。例如,就最高同步精度而言,基帶、IF和RF儀器可以以低于100 ps儀器間偏移的精度進行同步——優于同一臺儀器的多個通道間的同步偏移。
3. 模塊化降低了成本與外形尺寸,提高了吞吐量,并延長了生命周期
雖然術語“模塊化”有時會僅僅基于硬件封裝而被錯誤使用,但模塊化儀器所涵蓋的內容遠不止封裝。用戶期望一個模塊化系統能帶來三方面的收益——通過共用機箱、背板和處理器帶來成本的降低和外形尺寸的減小,通過與主處理器的高速連接帶來更快的吞吐量,以及通過用戶定義的軟件實現更大的靈活性與更長的生命周期。
如上所述,一個模塊化儀器系統中的所有儀器共用一個電源、機箱和控制器。而獨立儀器則為每一個儀器重復配置電源、機箱和(或)控制器,從而增加了成本與尺寸并降低了可靠性。事實上,無論使用何種總線結構,每個自動化測試系統都需要計算機進行控制;在模塊化架構下,所有儀器共用同一個控制器,從而使得在整個系統范圍內分擔成本。在模塊化儀器系統中,G赫茲計算機處理器通過軟件分析數據并完成測量。其測量結果十倍于甚至百倍于僅由傳統儀器構建的測試系統(這些系統使用內置的廠商定義的固件和專用處理器)的吞吐量。例如,一個典型的矢量信號分析儀(VSA)每秒可以完成0.13次帶內功率測量,然而一個NI模塊化VSA每秒可以完成4.18次帶內功率測量——提高近33倍。
模塊化儀器需要一個高帶寬、低延遲的總線將儀器模塊與共享處理器相連接,以執行用戶定義的測量。雖然USB在易用性方面提供了極好的用戶體驗,但PCI與PCI Express(以及以這些總線為基礎拓展所得的PXI平臺)在模塊化儀器中提供了最佳性能。目前, PCI Express提供高達4 GB/s的插槽,而PXI提供帶寬高達2GB/s的插槽——超過高速USB 33倍,100 Mb/s以太網的160倍,甚至是即將推出的千兆以太網的16倍(如圖4所示)。外設總線(例如LAN與USB)總是通過一個內部總線(例如PCI Express)與PC處理器相連,因而理論上總會導致性能下降。我們以一個模塊化RF采集系統為例,來討論高速總線如何影響測試與測量。在一個臺式機或PXI系統中,一個帶有4個2 GB/s的PCI Express插槽,可以將兩個通道100 MS/s 的16位IF(中頻)數據直接輸送到處理器供運算。由于LAN與USB都不能滿足這些需求,所以需要提供這樣性能水平的儀器總是包含一個嵌入式的、廠商定義的處理器,以完成測量——這樣的儀器就不再是模塊化的了。
Figure 4. PCI and PCI Express provide the highest bandwidth and lowest latency, decreasing test time and delivering flexibility and longevity through user-defined software.
對于一個模塊化儀器,與主機的高速連接是提供靈活性和長生命周期的關鍵,因為它使軟件而非儀器駐留于主機。通過在主機上運行軟件,用戶(而不是廠商)可以定義儀器如何運行。這樣的架構使您能夠:1)進行那些不夠普遍以致未能包含在典型的、廠商定義的、非模塊化的途徑中的測量;2)為尚未發布的標準創建測量; 3)定義用于進行特殊測量的算法。軟件的用戶定義本質也意味著,當待測設備發生變化時,您可以對測量甚至儀器進行增加或調整。您也可以使用軟件的直接訪問,通過網絡來監聽或控制這些模塊化儀器。
值得注意的是,這些硬件的實現并沒有犧牲測量性能。目前,通過模塊化儀器方法的設計的儀器,包括業界最高分辨率的數字化儀、最高帶寬的任意波形發生器和最精確的7位半數字萬用表。
4. 靈活的自定義測量軟件
模塊化儀器中軟件的作用是不容忽視的。軟件將來自硬件的原始比特流轉換為一個有用的測量值。一個設計良好的模塊化儀器系統能兼顧軟件的多層結構,包括I/O驅動程序、應用開發程序和測試管理程序。
Figure 5. Software layers are often used in a modular instrumentation system.
位于最底層的測量與控制服務,是最常被忽略的,但卻是一個模塊化儀器系統最關鍵的要素之一。該層代表I/O驅動軟件和硬件配置工具。這個驅動軟件非常關鍵,因為它為測試開發軟件和用于測量與控制的硬件之間提供連接。
儀器驅動程序提供一個高層、直接可讀的、與儀器交互的函數的集合。每個儀器驅動程序都是為特定的儀器模塊量身定做,以提供一個調用其獨特功能的接口。對于一個儀器驅動程序,特別重要的是其與開發環境的集成,以便儀器命令成為應用開發的無縫集成的一部分。系統開發人員需要根據所選的開發環境(如NI LabVIEW、C、C++或Microsoft .NET)對儀器驅動進行優化。
同樣包含在測量與控制服務中的是配置工具。這些配置工具包括用于配置和測試I/O的資源,存儲擴展、校準和通道混疊信息。這些工具對于一個儀器系統的快速構建、故障排除和維護非常重要。
位于應用開發環境層的軟件能提供用于開發應用所需的代碼或程序的工具。雖然圖形化編程不是每一個模塊化儀器系統所必需的,但出于易用性和快速開發的考慮,這些系統經常使用圖形化工具。圖形化編程使用“圖標”或符號函數,以繪圖方式表示所要執行的操作,如圖7所示。這些符號通過傳遞數據并確定執行順序的“線”相連。LabVIEW提供了業界最常用的、也是最完整的圖形化開發環境。
Figure 5. Code for a typical stimulus/response application using modular instrumentation, written in LabVIEW, 1) generates a signal from an arbitrary waveform generator; 2) acquires the signal with a digitizer/oscilloscope; 3) performs a fast Fourier transform; and 4) graphs the result of the FFT on the user interface (front panel)。
一些應用還需要一個名為軟件管理的附加層,用于測試執行或測試數據的可視化。對于高度自動化的測試系統,測試管理軟件為順序執行、分支/循環、報告生成和數據庫集成提供了一個框架。測試管理工具還必須提供與創建專用代碼的開發環境的緊密集成。例如,NI TestStand提供了用于順序執行、分支、報告生成和數據庫集成的框架,并包含與所有常用開發環境的連接。對于其它需要可視化觀察大量測試數據的應用,其他的工具或許有用。這些需求包括快速訪問大量的離散數據、持續報告和數據可視化。這些軟件工具,針對數據采集過程中所采集到的數據和(或)仿真過程中所生成的數據,為管理、分析和報告這些數據提供輔助。
對于一個模塊化儀器系統,該軟件架構中的每一層都應當予以重視。
5. 模塊化儀器——滿足自動化測試的需求
隨著設備變得愈為復雜并涵蓋更多迥異的技術,測試系統必須變得更為靈活。測試系統必須適應隨時變化的設備,然后與此同時,成本的壓力要求系統具有更長的生命周期。實現這些目標的唯一途徑便是采用一種軟件定義的模塊化架構。通過共享組件、高速總線和開放的用戶定義軟件,模塊化儀器便是滿足當今和未來自動化測試需求的最合適的選擇。
責任編輯:gt
評論
查看更多