<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 自動化測試解決之道――構建以軟件為核心的模塊化

          自動化測試解決之道――構建以軟件為核心的模塊化

          作者: 時間:2010-07-13 來源:網(wǎng)絡 收藏

          如今,伴隨著測試需求的多樣化和復雜化,定義的儀器系統(tǒng)已成為測試測量行業(yè)最重要的發(fā)展趨勢和主流技術。定義的系統(tǒng)不僅可以幫助用戶在提高效率的同時降低測試成本,還能滿足未來不斷升級擴展的需要。

          本文引用地址:http://www.ex-cimer.com/article/195374.htm

          定義的測試系統(tǒng)成為行業(yè)主流技術
          當今的電子產(chǎn)品(例如iPhone)不但集成越來越多的功能,而且越來越依重于通過軟件去定義產(chǎn)品功能。同樣地,在產(chǎn)品設計和客戶需求日益復雜的今天,用于測試測量的儀器系統(tǒng)也越來越突出軟件定義的作用。通過軟件定義硬件的功能,用戶能夠更快更靈活的配置測試系統(tǒng),并滿足不斷改變的測試需求,例如同一個數(shù)字化儀可以實現(xiàn)示波器、頻譜分析儀和視頻分析儀等不同的功能。此外,通過軟件還可以自定義更加友好的人機界面。

          同時,為了實現(xiàn)對電子產(chǎn)品所集成的多種功能進行測試,同時也為了達到更好的靈活性和可升級性,測試系統(tǒng)正逐漸朝著、小體積的方向發(fā)展,也就是將復雜的測試系統(tǒng)簡化成模塊化的硬件和軟件去逐一實現(xiàn),需要增加測試項目時只需增加相應的功能模塊即可滿足未來的升級需求。

          基于這兩個發(fā)展方向,以軟件為的模塊化儀器技術應運而生,并成為測試測量行業(yè)最重要的發(fā)展趨勢和主流技術。相比于傳統(tǒng)儀器固定的功能配置和只是對“測試結果”的呈現(xiàn),以軟件為的模塊化儀器技術賦予用戶更多自定義的測量功能?;谏虡I(yè)的高速總線(如PXI/PXI Express)可以確保大量原始數(shù)據(jù)的傳輸;一旦獲取了原始數(shù)據(jù),就能發(fā)揮軟件的強大功能,對原始測量數(shù)據(jù)進行自定義處理、分析、顯示、報告生成或數(shù)據(jù)存儲。例如利用軟件配置模塊化射頻儀器,并結合自定義的軟件調(diào)制與解調(diào),就能在同樣的硬件平臺上實現(xiàn)多種無線協(xié)議的測試,這也正體現(xiàn)了我們所說的軟件無線電的概念。

          以軟件為的模塊化儀器五層架構
          具體而言,一個細化的以軟件為核心的模塊化測試系統(tǒng)架構如圖1所示。現(xiàn)在許多企業(yè)都以該架構為標準構建測試系統(tǒng)。

          圖1 以軟件為核心的模塊化測試系統(tǒng)五層架構

          結構層次五:系統(tǒng)管理軟件
          系統(tǒng)管理軟件層位于五層架構的最高層。對于一個系統(tǒng),有些測試任務會根據(jù)待測設備(DUT)的不同而不同,如儀器配置、結果分析等;而有些對于所有的待測設備則是通用的,如測試流程的管理,測試報告的生成等。測試管理軟件的作用就是將通用任務分離出來,通過專業(yè)的軟件服務創(chuàng)建測試流程、集成報告生成和數(shù)據(jù)庫管理等功能。專業(yè)測試管理軟件(如NI TestStand)除提供上述功能,還內(nèi)建了并行和自動協(xié)調(diào)測試工具可以幫助用戶大幅提升測試效率,增加系統(tǒng)吞吐量。

          結構層次四:應用開發(fā)軟件
          應用開發(fā)軟件在測試架構中扮演著承上啟下的作用。系統(tǒng)開發(fā)者需要借助它實現(xiàn)具體的測量應用程序、向最終用戶顯示必要的信息以及連接其它應用程序;同時測試開發(fā)軟件需要通過設備驅(qū)動程序與I/O連接。不僅如此,用于開發(fā)測量應用的軟件,還需要集成強大的數(shù)據(jù)分析和再現(xiàn)功能,并且是具有長生命周期的主流軟件。NI的圖形化的編程軟件LabVIEW為用戶提供了高效而直觀的測試測量應用程序開發(fā)工具,滿足所有上述需求。對于習慣于文本編程的用戶,基于ANSI C的LabWindows/CVI和基于Microsoft Visual Studio的Measurement Studio也是不錯的選擇。

          結構層次三:系統(tǒng)服務和驅(qū)動
          系統(tǒng)服務和驅(qū)動層是連接軟件開發(fā)環(huán)境和硬件設備的紐帶。除了起到設備驅(qū)動的作用,這一層應該包含更多關于硬件配置管理,診斷測試等功能。例如,NI Measurement and Automation Explorer (MAX) 軟件可以幫助開發(fā)者對所有的NI硬件和通過總線相連的眾多傳統(tǒng)儀器進行統(tǒng)一的自動檢測和配置。系統(tǒng)服務和驅(qū)動還通過應用編程接口(API)提供了對應用開發(fā)軟件層的集成,這樣開發(fā)者可以很容易的實現(xiàn)設備的編程,從而提高開發(fā)效率,減少維護成本。

          結構層次二:處理總線平臺
          儀器總線種類很多,每一種都有其適合的應用,例如GPIB總線目前還是最常見的臺式儀器控制總線;LAN/LXI總線特別適合于分布式的系統(tǒng)。為了發(fā)揮不同總線的優(yōu)勢,達到系統(tǒng)性能的最優(yōu)化,許多測試應用都基于混合總線測試系統(tǒng)。作為一個開放的、基于PC技術的測試測量平臺,PXI和PXI Express提供了業(yè)界最好的數(shù)據(jù)帶寬性能和背板集成的定時和同步功能,以其作為核心總線不會成為整個混合系統(tǒng)的傳輸瓶頸。同時PXI和PXI Express擁有和多種其它總線互連的軟硬件接口支持,使其成為混合總線測試平臺核心總線的理想選擇。

          結構層次一:儀器和設備I/O
          作為系統(tǒng)架構的最底層,儀器和設備I/O層將直接接觸到實際的物理信號,完成信號調(diào)理、A/D和D/A轉(zhuǎn)換等工作。模塊化的I/O主要是基于PXI和PXI Express總線的儀器,現(xiàn)在,有超過70家廠商提供超過1500種的PXI模塊化儀器,其中包括Agilent,Rhode Schwarz,Keithley和NI在內(nèi)的眾多知名公司,產(chǎn)品覆蓋從數(shù)字化儀、信號發(fā)生、RF、電源到開關模塊等各種I/O模塊?;谀K化的軟件架構和PXI/PXI Express為核心的控制模塊,用戶還可以輕松的集成基于GPIB,USB,LAN/LXI等總線的傳統(tǒng)儀器,保護原有投資價值。

          以軟件為核心的模塊化測試系統(tǒng)架構的應用
          如今,數(shù)以千計的公司采用了以軟件為核心的模塊化的系統(tǒng)架構為標準構建儀器系統(tǒng)。例如,微軟基于NI LabVIEW和PXI模塊化儀器,為Xbox 360控制器設計的測試系統(tǒng)的速度是前一代測試系統(tǒng)的兩倍;華錄松下使用NI TestStand, NI LabVIEW和模塊化儀器為新型DVD刻錄機開發(fā)了完整的系統(tǒng),大大提高了效率。這樣的例子不勝枚舉。采用以軟件為核心的模塊化架構不僅為可以加速測試系統(tǒng)開發(fā)時間,節(jié)省成本,而且基于該架構,還能將最新的商業(yè)技術引入測試系統(tǒng),開創(chuàng)創(chuàng)新應用。這些應用包括基于多核處理器的并行測試、基于FPGA的自定義儀器設計和硬件在環(huán)仿真、基于PXI Express總線和磁盤陣列技術的測試數(shù)據(jù)高速流盤等等。相信以軟件為核心的模塊化架構未來仍將是測試技術的主流,并不斷深入每個測試領域,拓展新的應用方向。


          本文已刊登于《今日電子》2010年5月刊



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();