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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 解析PXIe總線在多通道高速數(shù)據(jù)采集流盤系統(tǒng)中的應(yīng)用

          解析PXIe總線在多通道高速數(shù)據(jù)采集流盤系統(tǒng)中的應(yīng)用

          作者: 時間:2016-12-21 來源:網(wǎng)絡(luò) 收藏

          1.引言

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

          隨著測控技術(shù)的發(fā)展及其應(yīng)用范圍的不斷擴大,數(shù)據(jù)采集方法及存儲技術(shù)在內(nèi)容和形式上都發(fā)生了巨大的變化。在此過程中,多通道、高采樣率以及大量數(shù)據(jù)實時存盤的測試需求對現(xiàn)有的測試系統(tǒng)提出了挑戰(zhàn),如何將測試過程中的大量數(shù)據(jù)進行有效的存儲和分析,成為工程師們首先要考慮的問題。本文介紹了基于PXIe總線的數(shù)據(jù)采集卡和RAID0磁盤陣列的組合,并結(jié)合LabVIEW 2009作為開發(fā)平臺,以柔性測試技術(shù)為指導(dǎo),為讀者提供了一個多通道、高采樣率、大量數(shù)據(jù)實時存儲的數(shù)據(jù)采集系統(tǒng)的解決方案。

          2.現(xiàn)狀

          目前,多通道、高采樣率的數(shù)據(jù)采集卡市場上普遍存在,這類采集卡會瞬間產(chǎn)生大量的試驗數(shù)據(jù),現(xiàn)階段數(shù)據(jù)的存儲介質(zhì)以SATA接口硬盤為主,而SATA接口的硬盤又受到系統(tǒng)總線帶寬的限制,如PCI總線為133MB/s,PCIe總線最高為4GB/s,PXIe總線最高為6GB/s。因此,若要構(gòu)建一個具有可靠性、適應(yīng)性、靈活性和拓展性的多通道、高采樣率、數(shù)據(jù)實時存盤的系統(tǒng),那么系統(tǒng)總線、數(shù)據(jù)傳輸方式、系統(tǒng)軟件架構(gòu)、硬件的技術(shù)指標則非常重要。

          3.系統(tǒng)方案

          為構(gòu)建多通道、高采樣率、數(shù)據(jù)實時存盤測試系統(tǒng),我們的系統(tǒng)方案從軟件和硬件兩個方面分別闡述。

          3.1 硬件系統(tǒng)

          硬件平臺以NI的PXI為基礎(chǔ)。PXI平臺比較成熟的多通道、高采樣、大量數(shù)據(jù)存盤的方案是:PXIe數(shù)據(jù)采集卡+RAID磁盤陣列,此方案最高的數(shù)據(jù)吞吐量為:400-600MB/s,完全滿足此類系統(tǒng)的構(gòu)建,確保系統(tǒng)運行的可靠性。

          3.2 軟件系統(tǒng)

          軟件平臺以NI的LabVIEW 20 DAQmx9.0為基礎(chǔ)。LabVIEW 2009中提供了新一代數(shù)據(jù)存儲格式TDMS 2.0,最高存儲速度為400MB/s,以超強適應(yīng)性來滿足數(shù)據(jù)采集過程中瞬間產(chǎn)生的大量數(shù)據(jù),確保系統(tǒng)大量數(shù)據(jù)實時存儲的要求。

          3.2.1 軟件架構(gòu)

          軟件架構(gòu)的高效與否將直接影響到程序的執(zhí)行效率,得益于多核處理器和LabVIEW的多線程運行機制,工程師可以利用不同的線程完成對輸入信號的采集、處理、存儲的功能,通過提高軟件構(gòu)架的靈活性來提高程序執(zhí)行效率,使PXI系統(tǒng)發(fā)揮最大的性能。

          3.2.2 數(shù)據(jù)存儲類型

          通常在采樣率較小、數(shù)據(jù)量較小的情況下,可選擇直接讀取DBL數(shù)據(jù)。而當采樣率較高、數(shù)據(jù)量較大時,可采用Raw 1D I16或者2D I16的格式讀取測量數(shù)據(jù)。其中,1D I16占用內(nèi)存最小,每個采樣點占用2Byte內(nèi)存,而每個DBL采樣點要占用8Byte內(nèi)存,因此在數(shù)據(jù)量較大時,采用I16格式可以顯著減少內(nèi)存和CPU占用率。兩種格式各有所長,不同情況下均可以發(fā)揮優(yōu)勢,使系統(tǒng)具有超強適應(yīng)性及靈活性。

          3.2.3 數(shù)據(jù)傳輸機制

          采用IRQ或DMA傳輸采集數(shù)據(jù)可以極大減少CPU的占用率,從而全面提高系統(tǒng)的性能。

          3.2.4 數(shù)據(jù)存儲方式

          通常情況下,系統(tǒng)處理文件操作的API函數(shù)分配的緩沖區(qū)太小,在讀取大文件時性能較低。依據(jù)靈活性原則,在編程過程中,可選用支持“禁用緩沖”模式的API函數(shù),避免軟件流盤速度上的瓶頸。
          LabVIEW 2009中支持非緩沖格式流盤的函數(shù)有TDMS、二進制以及Win32 API函數(shù),開啟“禁用緩沖”可以顯著提高流盤的速度。

          在LabVIEW 2009和DAQmx 9.0平臺下,可以利用DAQmx TDMS2.0集成流盤模塊DAQmx Configure Logging(TDMS),

          這個API函數(shù)效率更高且編程簡單,占用系統(tǒng)資源較少,直接將原始數(shù)據(jù)的和通道的標定信息從板卡通過DMA方式傳輸至硬盤,最高速度可達1.2GB/s。在采集的過程中,若不需要讀取通道的采樣值,可將本模塊的“操作”選為“記錄”,這樣,采樣值將被直接存儲為TDMS 2.0文件。如此靈活高效的存儲方式,恰如其分地詮釋了柔性測試技術(shù)所要求的靈活性。

          4.工程案例

          某測試系統(tǒng)可以對系統(tǒng)中的64路信號進行同步采樣,最高可達到3.3MS/s采樣率(所有通道)下的實時存盤,同時還可300KS/S(所有通道)進行實時數(shù)據(jù)顯示、存盤。而PXI硬件系統(tǒng)選用NI的18槽3U PXIe-1075機箱,PXIe-8130控制器、PXIe-6124等,PXIe-6124每通道4MS/s同步采樣速率、16位分辨率、1個獨享模塊至控制器間帶寬的PXIe接口;數(shù)據(jù)存儲設(shè)備選用NI-8262及HDD-8264 組成的RAID0磁盤陣列,最高數(shù)據(jù)吞吐量可達600MB/s左右。

          同時,該系統(tǒng)為用戶完善通道觸發(fā)功能,包括:模擬觸發(fā)、數(shù)字邊沿觸發(fā)、模擬參考觸發(fā)等,以滿足不同情況下的各種需求。此外,軟件采用狀態(tài)機框架結(jié)構(gòu)和模塊化的編程風格,便于軟件功能的修訂和管理,充分實現(xiàn)柔性測試技術(shù)所要求的靈活性與拓展性。

          數(shù)據(jù)采集功能被封裝為功能模塊,通過DAQmx Configure Logging(TDMS) VI將測量數(shù)據(jù)實時保存至硬盤,減少了CPU及內(nèi)存的使用率,提高了程序的執(zhí)行效率,具體實現(xiàn)方法如圖4所示。

          5.結(jié)語

          本文闡述了多通道、高采樣、實時數(shù)據(jù)存盤的實現(xiàn)方法及應(yīng)注意的事項,以大量數(shù)據(jù)和一個系統(tǒng)實例為依據(jù),深入分析了多通道高速數(shù)據(jù)采集的可靠性、適應(yīng)性、靈活性以及拓展性等特點。通過介紹NI TDMS數(shù)據(jù)存儲格式,為工程師開發(fā)多通道、高采樣率、大量實時數(shù)據(jù)存盤測試系統(tǒng)的實現(xiàn)方法提供了參考。



          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();