<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è) > 測試測量 > 設計應用 > 借助智能DAQ, 獲得高級數據采集技術(shù)

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

作者: 時(shí)間:2010-04-13 來(lái)源:NI公司 收藏

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

本文引用地址:http://dyxdggzs.com/article/107898.htm

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

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

  

 

  圖 3. 通過(guò)智能 LabVIEW FPGA實(shí)現的自定義觸發(fā)式模擬輸入

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

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

  

 

  圖4. 通過(guò)智能DAQ實(shí)現的觸發(fā)式同步模擬輸入

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

  



關(guān)鍵詞: NI 數據采集 LabVIEW DAQ

評論


相關(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>