新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 借助智能DAQ, 獲得高級數據采集技術

        借助智能DAQ, 獲得高級數據采集技術

        作者: 時間:2010-04-13 來源:NI公司 收藏

          上圖既沒有針對全局通道、采樣時鐘、觸發的配置函數,也沒有開始、停止和清除等任務。 所有內容都被1個簡單的模擬I/O讀取所取代;全部定時都為本地結構(如:While循環和條件結構)所控制。由于整個程序框圖均在 FPGA硬件內執行,代碼的運行便體現出硬件定時的速度和可靠性。

        本文引用地址:http://www.104case.com/article/107898.htm

          讓我們更深入地了解一下該程序框圖的運行方式。 模擬I/O節點并不指定某個采樣速率,而使用For循環采集各個樣本。 與之對應的ADC在I/O節點被調用時,負責對輸入信號進行實際數字化,因而通過For循環接受定時。 若想在100 kHz的頻率下進行信號采樣,針對循環的延遲就必須設定為10 µs。 循環的定時器函數從第2輪循環迭代開始便確保著特定的時間延遲,用戶因而能夠通過順序結構保證樣本之間存在著指定的時間間隔。 FPGA中功能強大的條件結構,實際代表了用于封裝各類代碼的硬件觸發。 由于所有的函數和結構都通過邏輯單元在硬件內運行,所以條件結構確保開始具有實時10 µs時間精度的采樣。 最后需指出的是,由于操作位于硬件層,只涉及幾個層次的抽象處理,因此用戶無需清除任務ID或釋放內存。

          就基于FPGA的智能硬件而言,其真正的優勢是能夠定制各類定時和觸發,并在硬件中進行信號處理和決策。 現在讓我們了解一下:針對某類自定義應用,需對模擬輸入觸發做出哪些修改。 若我們希望在2路模擬輸入通道的某路電壓超過指定范圍時便觸發采集,又該如何修改呢? 借助 LabVIEW FPGA,此類任務的執行易如反掌。

          

         

          圖 3. 通過智能 LabVIEW FPGA實現的自定義觸發式模擬輸入

          這里,我們已經為程序框圖添加了第2個I/O節點和第2個比較函數,以及1個布爾“或”函數。 智能硬件為所有的模擬輸入通道提供專用ADC,因而2路通道能夠接受同步采樣;同時,只要任何1路通道的電壓超過了指定范圍,條件結構便會執行 “真”條件,并開始以10 µs時間精度進行采樣。 請記住:缺少智能DAQ便不可能生成類似的觸發;在其他DAQ硬件上應用時,觸發需要具有更高延遲的軟件定時來實現。 如果此后我們希望通過擴展將監控范圍從2路通道延伸至全部8路通道,甚至希望添加數字觸發,就需要簡化自定義代碼。 添加預觸發掃描后,用戶便可對輸入通道不斷進行采樣并將數據傳送至FIFO緩沖器。 觸發器一旦接受讀取,FIFO緩沖器和此后的采樣便可經由DMA通道,被傳送至主機。

          如果我們希望借助NI-DAQmx驅動,對第2模擬輸入通道進行采樣,則該程序框圖與圖1所示的內容相差無幾。然而限制依然存在,因為2路通道均被迫引用 相同的觸發器并以相同的時鐘頻率進行采樣。 現在我們來看看:智能DAQ和NI LabVIEW FPGA幫助實現的各類多通道采樣。

          

         

          圖4. 通過智能DAQ實現的觸發式同步模擬輸入

          圖4(上圖)展現了:如何基于模擬輸入通道0中的模擬觸發器,對2路不同的模擬輸入通道進行同步采樣。由于智能DAQ設備均配有獨立的ADC,在同一 I/O節點中的2路通道可在完全相同的時刻接受采樣。 典型的多功能DAQ設備可通過一個ADC多路復用所有通道,因此,各路通道必須共享相同的采樣時鐘和觸發線。 圖5(下圖)展現了:智能DAQ硬件其實能夠以獨立的速率,對不同的模擬輸入通道進行采樣。 在獨立回路中放置模擬輸入I/O節點后,每路通道會以完全不同的速率進行采樣,然后各自通過2條DMA通道讀寫硬盤。

          



        關鍵詞: NI 數據采集 LabVIEW DAQ

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 延长县| 锦州市| 昌都县| 新源县| 吴堡县| 杭锦后旗| 靖宇县| 高州市| 萨迦县| 方正县| 望江县| 山东省| 淅川县| 梁平县| 青田县| 铅山县| 南通市| 馆陶县| 太谷县| 宜良县| 安图县| 房产| 团风县| 交口县| 崇州市| 西藏| 新泰市| 永寿县| 鄂托克前旗| 上杭县| 会宁县| 平阳县| 丽江市| 永寿县| 高尔夫| 杂多县| 青海省| 永胜县| 三门峡市| 鲁甸县| 湛江市|