<pre id="6m4dy"><label id="6m4dy"><menu id="6m4dy"></menu></label></pre><track id="6m4dy"></track>
    <table id="6m4dy"><strike id="6m4dy"></strike></table>
      1. <pre id="6m4dy"></pre>
      2. <center id="6m4dy"></center>

        <p id="6m4dy"><del id="6m4dy"><xmp id="6m4dy"></xmp></del></p>

        <pre id="6m4dy"></pre><tr id="6m4dy"></tr>

      3. 首頁 > 產品 > 汽車測試 > 上海恩艾儀器有限公司 > 開創虛擬儀器技術新紀元

        開創虛擬儀器技術新紀元

        發布日期:2017-11-29 18:04  來源:上海恩艾儀器有限公司
        概覽
         
        作者:

        NI中國 資深技術市場工程師 周斌
         
        NI中國 市場部經理 朱君
         
        目錄
        儀器技術新時代
        并行技術的涌現
        虛擬儀器技術新紀元
        更多相關資源
         
        1. 儀器技術新時代
         
        日新月異的科技發展與日趨激烈的市場競爭給工程師們帶來了持續的壓力和挑戰。
         
        其中一個挑戰就是協議的多樣化,比如在通訊行業中,比起十年前,目前的通訊協議幾乎數不清(見圖1),而且沒有一個明顯的主導協議,因此最終產品就需要同時實現多個協議。如果按照原來的傳統方式,即一個測試儀器針對一個協議,那么很難想象會需要多少臺獨立儀器。
         
         
        圖1 通訊行業并存著多樣的協議
         
        產品功能的日趨集成化也是挑戰之一,我們拿新上市的iPhone為例(見圖2),它匯聚了多種功能, 不僅用來通話,也可以用作mp3、PDA、數字相機等等,并且為了保持市場的競爭力,新的功能會被不斷地加入。如果要跟上這樣的發展來進行產品的功能測試,顯然,功能固定的傳統測試方法已無法滿足靈活性的要求;而且如果產品功能每增加一個就意味著需要增加或替換一臺儀器來測試的話,這是工程師們所無法接受的。
         
         
        圖2 產品功能日趨集成化
         
        隨著科技的高速發展,上述的發展趨勢目前已愈加明顯,因此測試儀器也正在經歷一個基本原則的變更——從功能固定的分立儀器向著靈活的基于軟件的模塊化儀器架構轉變,而這也就是NI在20多年前提出的 “虛擬儀器技術”的概念。利用虛擬儀器技術的特性,我們可以有效地解決上述的挑戰:基于軟件的自定義功能使得工程師們可以針對不同的協議開發對應的測試程序;而模塊化的儀器架構則可以根據不同的功能測試選用不同的模塊硬件,在同一個測試平臺上靈活地實現測試系統的集成。
         
        目前,虛擬儀器技術已經被應用在測試測量和自動化的各大領域,協助越來越多的工程師們來創建高性能、高擴展性的測試系統,可以說,一個儀器技術的新時代已經來臨。
         
        而與此同時,虛擬儀器技術本身也在不斷發展和創新,縱觀其20多年來的發展歷程,我們可以看到,由于虛擬儀器技術是建立在商業可用技術的基礎之上,因此它能夠將新興發展的科學技術都融合進來,使工程師能以最迅速和便捷的方式來享用,從而創建更高性能的測試系統。PC處理器技術的發展就是一個很好的例子:在1990年,用當時的PC(Intel 386/16)處理65000個點的FFT(快速傅立葉變換,用于頻譜分析的基本方法)需要1100秒時間,而現在使用3.4GHz的P4計算機實現相同的FFT只需要約0.8秒,可以想見,這一技術上的飛躍對工程師們意味著多少曾經的設想將成為可能。
         
        以此類推,目前正在蓬勃發展著的新興技術也注定將成為推動虛擬儀器技術發展的新動力,例如PCI Express總線技術可以讓更多的原始數據以更高的速度傳送給PC;而多核技術則可以實現真正的并行運算,從而直線提升系統的數據處理性能;可編程邏輯門陣列(FPGA)技術則允許工程師根據不同的測試要求通過軟件重新定制硬件的功能。因此,可以預見的是,這些主流的商業可用技術將讓虛擬儀器技術向許多之前只能用昂貴的專用設備的應用領域敞開了大門,從而開啟一個虛擬儀器技術的新紀元!
         
        2. 并行技術的涌現
         
        縱觀目前主流的商業可用技術,我們可以很明顯地看到,其發展的趨勢是通過并行拓撲結構來實現更高的性能,下面將針對它們進行更深入的探討。
         
        (1)PCI Express 總線技術
         
        傳統儀器由于將數據處理和分析的過程放在了儀器硬件內部,因此它只能返回一個結果值,這種方式雖然方便,但是卻無法滿足之前已經敘述過的靈活性的要求。因此,一個更好的測試方式就是直接得到原始數據,再使用專業的分析工具來分析數據,這種方式可以允許工程師們對原始數據進行多次的分析,從而不再需要做多次測試來獲得不同的分析結果,節省了時間和成本。
         
        然而,隨著采樣率的不斷提高和通道數的增多,現有的總線帶寬能否進行原始數據的實時讀取,這是實現很多新興測試應用之前就需要解決的問題。
         
        回顧現有的總線技術,可以看到PCI總線的數據傳達吞吐率可以高達132兆/秒,這個相比其他總線已經屬于相當高了,并且還具有最低的延時(圖3)。然而它是一個共享資源的總線,也就是說,當多個設備同時在總線上傳輸數據時,每個設備可享受的帶寬會相比例地降低。隨著I/O速度和應用要求的提高,這樣的架構成為了瓶頸。而新一代的PCI Express技術,它運用了點對點總線的拓撲架構,使每個儀器可以通過獨立的通道向處理器傳輸數據,明顯地改善了傳輸數據的帶寬,極小化了對內存的需求,并加快了數據流的傳輸(圖4)。
         
        眾所周知,在通信背板上添加的PCI總線是推動PXI得到快速應用的一個關鍵因素?,F在,隨著商用的PC技術從PCI總線發展到PCI Express,PXI也已經將PCI Express結合到PXI標準中,即PXI Express(圖5)。PXI Express不僅保留了PXI的定時和同步等特性,還加入了很多新的同步特性,甚至還提供了微分系統時鐘,微分信號以及微分星觸發等。
         
         
        圖3 總線帶寬與延時比較


         
        圖4 PCI與PCI Express總線對比
         
         
        圖5 PXI Express機箱
         
        值得一提的是,PXI Express標準還提供了向后的軟件兼容性,這樣工程師們就可以充分利用他們在已有軟件系統中所開發的成果。此外,NI提供的PXI Express混合插槽可以同時支持PXI和PXI Express兩種總線形式的模塊,從而更好地保留了過去的投資。
         
        總言之,PCI Express技術的誕生使得虛擬儀器技術可以實現對于數據吞吐率有高要求的應用,例如汽車碰撞測試的高速圖像采集或高速數字I/O應用等等。
         
        (2)多核處理器技術
         
        PCI Express技術提高了總線帶寬和數據吞吐率,使得工程師可以獲得原始數據,并通過專業的分析工具拿到可靠的測試結果。不過近年的數據量快速增長,導致對這些數據進行處理和分析成為擺在工程師們面前的又一個問題。在過去的很多年來,我們都可以無需改變任何編程即可通過升級CPU處理器來享受運算性能的提升,而現在,這種“免費的午餐”即將結束。
         
        以往計算機處理器都是單純通過提高主頻來提高處理器的運行速度,正如摩爾定律所陳述的:每隔24個月,晶體管的數量將翻番。但目前受制于功率的因素,單純提高主頻的方法已不再可行(圖6),一個新的架構正孕育而生,那就是多核。
         
         
        圖6 處理器速度的發展趨勢
         
        多核處理器技術能夠提高傳統的測試算法的運行速度,但是不同于以往的單核,為了實現性能的提高,開發人員需要在應用軟件里配置線程。從圖7中可以看到,即使是在四核的處理器上,如果其應用只是單線程的話,操作系統仍舊會將所有的任務分配到其中的一個核上運行??梢?,為了實現在多核處理器上程序性能的提升,就必須將你的應用程序分成多個線程,再由OS協調分配在不同的核上運行,這樣才能最大限度的利用多核處理器并行的優勢來提升性能。
         
        然而,這對于許多習慣于開發單線程應用的開發者來說都是一個極大的挑戰。如果工程師使用的是基于文本的編程語言,如C語言,那么在進行多線程應用軟件的編寫時,需要專門的語義創建和管理線程,并且在線程安全方式下進行數據的傳送。
         
         
        圖7使用多線程編程才能最大限度地利用多核處理器的性能
         
        而NI LabVIEW,就非常適合于創建并行的多線程應用。首先,相比文本編程語言的至上而下的順序結構,LabVIEW本身就是一種并行的編程結構;其次,早在LabVIEW 5.0時LabVIEW就已經支持多線程,在LabVIEW程序編寫完畢后,LabVIEW編譯器可以自動地識別線程并創建線程到不同的任務和循環上,再由OS分配到不同的核上運行(圖8)。而最新的LabVIEW 8.5更針對多核技術進行了全面的支持;此外,在實時操作系統中,用戶還可以自己分配特定的線程在特定的核上運行,如圖9所示。
         
        而且,隨著更多的核的到來,LabVIEW 可以自動創建更多的線程來自動提升程序的性能。簡單來說,就是當你把測試系統的控制器升級為更多核的處理器時,不需要對程序做任何修改,測試系統就能自動達到更高的處理性能。


         
        圖8 使用LabVIEW方便實現多線程編程
         

         
        圖9 LabVIEW 8.5允許用戶手動分配線程在指定的核上運行
         
        綜上所述,多核處理器使用了并行拓撲架構來提高處理能力,而真正的多線程編程語言,如LabVIEW,可以幫助我們輕松實現真正的運算性能的提高。
         
        (3)FPGA技術
         
        虛擬儀器技術最初的一個重要特性就是可以使用軟件來定制硬件的功能。隨著LabVIEW作為并行化的編程語言的地位逐漸穩固,它的應用也得到了不斷的擴展,并對強大的并行硬件技術FPGA提供了強有力的支持。
         
        發明于80年代中期的FPGA技術是扎根于簡單的可編程邏輯上,一塊FPGA芯片包含了一個可重置的門陣列邏輯電路,內部電路如何連接是通過軟件來實現開發和部署。
         
        通常來說,FPGA的軟件開發平臺是使用VHDL語言來實現,但是這種語言需要很長的學習時間,并且也需要深厚的硬件技術背景,因此只有少數的一些專業人員掌握。隨著可編程硬件的需求日益增長,FPGA已成為一種主流的技術,這種趨勢需要我們能夠有方法降低FPGA編程的門檻,從而將FPGA技術帶給更多的工程師。
         
        LabVIEW的并行化的編程方式以及圖形化的編程環境可以允許工程師們能以直觀的方式來實現FPGA的邏輯功能。例如,使用LabVIEW,在FPGA中實現圖10所示的邏輯功能就變得相對簡單。
         
        當然,如果要搭建一個完整的測控平臺,我們還需要有很多不同的IO模塊來選擇。NI提供給工程師們完整的基于FPGA的商業可用型平臺以供選擇,讓工程師們能夠利用這一技術實現更高性能的測試應用。

         
        圖10 使用LabVIEW實現FPGA邏輯功能
         
        3. 虛擬儀器技術新紀元
        最后,讓我們一起來展望一下未來虛擬儀器技術的藍圖。
         
        PCI Express總線的高帶寬將虛擬儀器技術的應用范圍擴展到更多新興的應用,從而使工程師們能夠在享受高通道、高采樣率的好處同時,又可根據自身需要靈活定制相關功能。
         
        Intel已經許諾了在2011年會推出80個芯核的CPU,而NI LabVIEW也已經做好了迎接這一豐盛饕餮的準備,工程師們可以在不改變程序的同時,充分提升數據分析和處理的性能。
         
        而利用基于FPGA的平臺,工程師們可以對硬件進行重新配置,它可以靈活地根據待測單元、軟件或者是測試需求的變化來進行重新配置。
         
        綜上所述,新的技術不斷地被吸收和融合,成為推動虛擬儀器技術飛躍的源動力。這一次,PCI Express、多核以及FPGA等并行技術將扮演開啟虛擬儀器技術新紀元的角色,從而推動它成功實現這一次的騰躍!
         
        4. 更多相關資源
         
        中文網頁:全方位了解 PCI EXPRESS 
        技術文檔:LabVIEW的前世今生
        在線研討會:LabVIEW FPGA 模塊簡介視頻演示
        下載/索?。篖abVIEW評估版 
        舉報 0 收藏 0
        沦为公妓的清纯校花h_日本xx18一19_国产在线拍揄自揄视精品_艳乳欲仙欲死在线观看

        <pre id="6m4dy"><label id="6m4dy"><menu id="6m4dy"></menu></label></pre><track id="6m4dy"></track>
          <table id="6m4dy"><strike id="6m4dy"></strike></table>
            1. <pre id="6m4dy"></pre>
            2. <center id="6m4dy"></center>

              <p id="6m4dy"><del id="6m4dy"><xmp id="6m4dy"></xmp></del></p>

              <pre id="6m4dy"></pre><tr id="6m4dy"></tr>