<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 利用NI LabVIEW的并行化技術(shù)來(lái)提高測試的吞吐量

利用NI LabVIEW的并行化技術(shù)來(lái)提高測試的吞吐量

作者: 時(shí)間:2012-01-06 來(lái)源:網(wǎng)絡(luò ) 收藏

  概覽

  二十世紀一位很有影響力的建筑設計師Frank Floyd Wright曾經(jīng)說(shuō)過(guò):“每個(gè)偉大的建筑設計師都是他所處時(shí)代的偉大解讀者?!边@句話(huà)同樣適用于測試系統設計師們。在他們設計、開(kāi)發(fā)和實(shí)現系統的時(shí)候,他們必須理解不斷進(jìn)步的技術(shù),如多核處理器、現場(chǎng)可編程門(mén)陣列(FPGA)和高速數據總線(xiàn),如PCI Express等等。通過(guò)將這些技術(shù)與NI 并行化編程軟件及NI TestStand編程管理軟件結合在一起,測試工程師們可以創(chuàng )建出高性能的測試系統,用于并行化處理、并行化測量,甚至于在生產(chǎn)階段進(jìn)行完全并行化的測試。借助于基于PC機的,用戶(hù)可以將測試速度提高到傳統儀器的10倍以上。

  并行化處理

  在傳統CPU設計中,CPU性能會(huì )受限于實(shí)際的困難,如高速時(shí)鐘速率帶來(lái)的散熱問(wèn)題等。為了確保PC機平臺可以滿(mǎn)足不斷增長(cháng)的處理需求,芯片制造商們正在開(kāi)發(fā)具有多個(gè)處理核心的新型處理器。在自動(dòng)化測試應用中,為了充分發(fā)揮多核技術(shù)在性能和吞吐量上的優(yōu)勢,必須針對多個(gè)處理核心編寫(xiě)軟件應用程序,即創(chuàng )建出在多個(gè)處理核心上分別執行的多個(gè)線(xiàn)程。

          圖1.編譯器在不需要用戶(hù)配置的情況下,即可為并行代碼段創(chuàng )建獨立的執行線(xiàn)程

  利用基于文本的編程語(yǔ)言(如ANSI C等)編寫(xiě)多線(xiàn)程應用程序,對于多數設計和測試工程師而言,都不是一件很容易的事情,它需要精通創(chuàng )建和管理線(xiàn)程,并且懂得以線(xiàn)程安全的方式在線(xiàn)程間傳遞數據。利用圖形化編程環(huán)境,工程師們可以充分發(fā)揮出多核處理的計算性能。如圖1所示,在LabVIEW中,兩個(gè)沒(méi)有數據依賴(lài)關(guān)系的循環(huán)會(huì )自動(dòng)在獨立的線(xiàn)程中執行,而開(kāi)發(fā)者不需要考慮線(xiàn)程管理等細節內容。如果需要了解如何利用多核處理器的應用案例,請閱讀名為《使用多核處理器和NI LabVIEW來(lái)最優(yōu)化自動(dòng)測試應用》的白皮書(shū)。

  對于特殊的數據操作和信號處理而言,為這些任務(wù)分配專(zhuān)用的處理單元是十分必要的。多核控制器可以很好地滿(mǎn)足這種需求,然而對于最終的并行處理而言,它的性能很難超過(guò)FPGA。FPGA為自動(dòng)化測試系統提供了無(wú)與倫比的性能和可靠性,是目前并行化編程計算硬件中的佼佼者。LabVIEW FPGA Module軟件使用LabVIEW嵌入式技術(shù)對LabVIEW圖形化開(kāi)發(fā)進(jìn)行了擴展,并且針對NI可配置I/O(RIO)硬件上的FPGA芯片。LabVIEW有著(zhù)清晰的并行化和數據流表示方法,因而非常適合對FPGA進(jìn)行編程。借助于LabVIEW FPGA Module軟件,用戶(hù)可以創(chuàng )建出自定義的測量和控制硬件,而無(wú)需了解低級別的硬件描述語(yǔ)言或板級設計。用戶(hù)可以借助于個(gè)性化的并行化硬件來(lái)進(jìn)行實(shí)現特殊的定時(shí)和觸發(fā)例程、超高速控制、與數字協(xié)議進(jìn)行接口、數字信號處理(DSP)和其它許多需要高速的硬件可靠性和確定性的應用。

  使用FPGA,用戶(hù)可以實(shí)現協(xié)同處理的應用(如圖2所示)。例如,使用具有新型定點(diǎn)計算能力的LabVIEW FPGA以及ni.com/ipnet上提供的快速傅里葉變換(FFT),用戶(hù)可以在NI PXI-7852 R系列模塊上的Virtex-5 LX50 FPGA中擺放40個(gè)并行化的FFT操作。隨著(zhù)PXI Express的專(zhuān)用帶寬(高達1GB/秒/方向)和點(diǎn)對點(diǎn)流盤(pán)技術(shù)的出現,這種能力的價(jià)值正在不斷提升。

     圖2.LabVIEW FPGA的定點(diǎn)計算能力可以使PXI FPGA上包含FFT在內的協(xié)處理應用的性能得到提高

  并行化測量

  并行化測量要求測試系統中所有的子部件都支持并行化的模型,而不只是處理器。其中包含了數據的采集和傳輸。

        圖3.PCI Express實(shí)現了專(zhuān)用帶寬而非共享式數據傳輸,進(jìn)而顯著(zhù)提高采集和傳輸到硬盤(pán)的數據數量

  現在,模塊儀器中最常用的數據傳輸總線(xiàn)包括PCI、USB、以太網(wǎng)和GPIB,但是它們都不支持真正的并行化數據傳輸模型,因為總線(xiàn)上的設備共享總線(xiàn)的帶寬。如果I/O設備采集或生成的累計速率比總線(xiàn)可用的速率高,那么將造成數據的丟失。解決這個(gè)問(wèn)題的通常辦法是順序化地進(jìn)行測量,并且在I/O設備上集成大容量的板上存儲器作為緩沖區,這樣在等待通信總線(xiàn)可用的過(guò)程中,數據就不會(huì )丟失了。

  相反,PCI Express是最新的高性能數據傳輸總線(xiàn),它為每個(gè)設備提供了專(zhuān)用的帶寬,而且提供的吞吐量比上面提到的其它商業(yè)化通信總線(xiàn)都要大??捎玫腜CI Express總線(xiàn)有x1、x4、x8和x16(發(fā)音為“乘1”,“乘4”等等)通道幾種,其中每條通道的有用吞吐量為250MB/s。x1和x4選項是儀器類(lèi)硬件中最為常見(jiàn)的,分別實(shí)現了250MB/s和1GB/s(4條250MB/s的通道)的專(zhuān)用帶寬。

  通過(guò)在背板中使用PCI Express技術(shù),可將PXI可用的帶寬從132MB/s提高到6GB/s,在帶寬方面的提高達到了45倍多,同時(shí)保持了與PXI模塊在軟件和硬件上的兼容性。PXI Express技術(shù)與PXI平臺完全整合在一起,為PXI用戶(hù)提供了每個(gè)插槽1GB/秒/方向的專(zhuān)用帶寬,以及工業(yè)上最高性能的時(shí)序和同步功能。

           圖4.PCI Express和模塊化儀器為并行化測量提供了可調整的模型

  在PXI Express模塊采集數據時(shí),它通過(guò)專(zhuān)用的PCI Express通道將數據從板上存儲器寫(xiě)入到硬盤(pán)驅動(dòng)器或者系統存儲器中。當數據被傳輸到系統存儲器中時(shí),LabVIEW應用程序可以訪(fǎng)問(wèn)數據,而且如果與多核處理器配合使用,那么從信號到最后測量的并行化測量就實(shí)現了。

  并行化測試

  利用多核處理器、PCI Express總線(xiàn)和LabVIEW軟件,用戶(hù)可以創(chuàng )建并行化的測量系統,它們能夠同時(shí)測試一個(gè)待測單元(UUT)。但是,并行化測試的定義是指多個(gè)待測單元同時(shí)接受測試。替代方案是順序化地測試待測單元。雖然并行化測試可以顯著(zhù)地降低總體的測試時(shí)間、增加測試吞吐量,并且改進(jìn)儀器的使用方法,但是開(kāi)發(fā)并行化測試系統的復雜性是非常巨大的。開(kāi)發(fā)測試管理軟件以實(shí)現同時(shí)測試多個(gè)待測單元,需要理解底層的操作系統并行化工作的原理(如Windows的臨界代碼段)有所了解,不僅需要周密地考慮在多個(gè)待測單元間進(jìn)行儀器共享,而且要避免沖突或者死鎖。

  從頭開(kāi)發(fā)自定義的并行化測試系統的替代方案是使用即時(shí)可用的測試管理軟件,如NI Teststand。該軟件使用內建的特性,對并行化測試系統開(kāi)發(fā)中底層的復雜度進(jìn)行了抽象化,用于在多個(gè)線(xiàn)程中執行并行化的測試序列,同時(shí)對操作系統和儀器資源進(jìn)行管理。另外,用戶(hù)可以使用NI Teststand Resource Profiler工具來(lái)理解儀器的使用和并行化測試系統的執行,進(jìn)而降低測試時(shí)間并提高吞吐量。Resource Profiler工具可對測試系統執行進(jìn)行分析,并且確定儀器的瓶頸來(lái)幫助用戶(hù)優(yōu)化測試代碼,區分未來(lái)儀器投資的優(yōu)先順序。如圖5所示,profiler工具實(shí)時(shí)顯示了儀器和其它資源的使用情況。

    圖5. NI TestStand Resource Profiler工具幫助開(kāi)發(fā)者理解并行測試系統的執行,進(jìn)而提高了系統的吞吐量

  為了解釋采用并行化測試構架的性能優(yōu)勢,請考慮比較使用PXI平臺和傳統儀器來(lái)實(shí)現基本的WCDMA測試序列。與W-CDMA測試標準一致,基準應該包含測量(如相鄰信道功率(ACP)、占用帶寬(OBW)、補償累積分布函數(CCDF)和誤差向量幅度(EVM))的時(shí)間和精度。如圖6所示,在測量速度方面,基于NI TestStand、LabVIEW和PXI平臺的并行化測試平臺提供了5倍的改進(jìn)。這可以顯著(zhù)地節省終端用戶(hù)的開(kāi)銷(xiāo)。需要了解更多關(guān)于基準分析的信息,請查閱《射頻基準比較白皮書(shū)》。

 圖6. 相比于傳統儀器,基于LabVIEW、NI TestStand和PXI的NI并行化測試平臺,提供了5倍的測量速度改進(jìn)和更高的精度

  完成并行測試構架

  多核處理器、FPGA和PCI Express正在改變現代PC機的版圖,并幫助LabVIEW圖形化編程根據工程師應用邏輯的數據流向,實(shí)現真正的并行化處理和并行化測量。利用NI TestStand軟件,可以完成并行化的測試構架。具有此結構的測試系統利用PCI Express提高了數據吞吐量,使用LabVIEW、多核處理器和FPGA增強了處理能力,最后利用NI TestStand軟件降低了每個(gè)待測單元的總體測試時(shí)間和費用。



關(guān)鍵詞: LabVIEW 并行化技術(shù)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>