ad采集 cube配置 dma_【技术技巧】 使用MCC数据采集设备获取模拟波形
目標
使用MCC數(shù)據(jù)采集設(shè)備在不同的軟件平臺上獲取模擬波形。
適用于
需要實時數(shù)字化模擬波形的數(shù)據(jù)采集系統(tǒng)開發(fā)人員,并希望了解如何在不同軟件平臺下實現(xiàn)波形的捕捉。
概述
對于變化緩慢的模擬信號,我們關(guān)心的是采樣值本身而非采樣速度,因此即使每次采樣的時間間隔存在偏差也是可以被接受的。這種情況下, 簡單的“軟件定時采樣”即可滿足。然而,對于高速變化的模擬信號,或者需要分析信號頻率分量時,此時要用高采樣率的AD。實際上,除了更高的采樣率要求,統(tǒng)一的采樣時間點間隔也很重要。
MCC的模擬數(shù)據(jù)采集卡通過板載定時電路來保證各個模擬通道采樣時間間隔相同。MCC數(shù)據(jù)采集卡同樣利用板載緩存,通過總線(一般USB)將采集到的數(shù)據(jù)以適當大小的包進行周期性依次傳輸。與數(shù)據(jù)采集硬件配合使用的MCC軟件驅(qū)動程序?qū)⒔邮諗?shù)據(jù)包,并將他們綁定后存儲到內(nèi)存中的較大緩存區(qū),從而保證了高級用戶編程語言能夠讀取和使用這些數(shù)據(jù)。
對于應(yīng)用開發(fā)人員來說,需要綜合考慮模擬采樣時長和數(shù)據(jù)訪問需求。換句話說,采集時間持續(xù)多久,以及是否需要在采集過程中數(shù)據(jù)讀取,還是在采集完成后再進行。最簡單的情況是在較短的時間內(nèi)進行采樣,完成后再對采集到的數(shù)據(jù)進行處理。復(fù)雜一些的情況是需要一邊采集數(shù)據(jù)一邊對數(shù)據(jù)進行處理。例如,采集的同時進行實時顯示。這種情況下,開發(fā)者需要在新數(shù)據(jù)不斷填充的同時訪問數(shù)據(jù)緩沖區(qū),MCC在Background模式下提供對此類操作的支持。最復(fù)雜的情況是長時間進行采集,由于計算機的內(nèi)存是有限的,此時需要一個循環(huán)使用的緩存來解決。新的數(shù)據(jù)被連續(xù)采集的同時,應(yīng)用程序必須能夠執(zhí)行需要的運算操作,顯示或數(shù)據(jù)記錄并保證彼此之間有序高效。MCC的驅(qū)動軟件使用Continuous模式來支持這些高級操作。
對于一個非連續(xù)掃描采樣,無論使用哪種軟件平臺,都需要定義以下參數(shù):
AI通道數(shù)
采樣點數(shù)
采樣率
輸入信號范圍
存儲數(shù)據(jù)的緩存區(qū)
除了反饋采樣結(jié)果,還需要能夠返回錯誤代碼。
以下的范例演示了如何進行有限點采樣,范例包括 Universal Library? MCC通用卡驅(qū)動,UL for Android驅(qū)動,NI LabVIEW,DASYLab?和DAQami軟件。
Universal Library通用庫范例
以下是使用Universal Library通用庫驅(qū)動配合Visual Basic語言進行有限點采樣的范例:
LowChan = 0
HighChan = 0 '從通道0采集數(shù)據(jù)
Count = 50000 '定義采樣點數(shù)
Rate = 50000 '定義每通道采樣率
Range = MccDaq.Range.Bip10Volts ‘定義信號輸入范圍:+/- 10V
ULStat = DaqBoard.AInScan(LowChan, HighChan, Count, Rate, Range, MemHandle, Options)
采樣到的數(shù)據(jù)被保持至作為緩存的PC內(nèi)存句柄指定的位置,同時錯誤代碼作為ULStat的值返回。接下來,我們將緩存中的數(shù)據(jù)復(fù)制到程序指定的數(shù)組中,該數(shù)據(jù)被命名為ADData:
ULStat = MccDaq.MccService.WinBufToArray(MemHandle, ADData, FirstPoint, Count)
到此為止,數(shù)據(jù)都是使用原始格式記錄以保證高效的傳輸和保存。我們可以使用UL提供的函數(shù)將原始格式數(shù)據(jù)轉(zhuǎn)化為電壓值:
ULStat = DaqBoard.ToEngUnits(Range, ADData(0), EngUnits)
UL for Android
以下是使用UL for Android驅(qū)動配合JAVA語言對安卓平臺編程的范例:
lowChan = 0;
highChan = 0; //從通道0采集數(shù)據(jù)
mode = ChannelMode.SINGLE_ENDED; //定義通道信號連接模式:單端模式
range = Range.BIP10VOLTS; //定時輸入信號范圍:±10V
samplesPerChan = 50000; //定義每通道采樣數(shù)
rate = 50000; //定義每通道采樣率
mUnit = AiUnit.VOLTS; //定義電壓單位actualScanRate = mAiDevice.aInScan(lowChan, highChan, mode, range, samplesPerChan, rate, options, mUnit, mScanData);
通過調(diào)用aInScan()函數(shù)來進行數(shù)據(jù)采集,采集到的數(shù)據(jù)將被返回到mScanData這個數(shù)組中。
NI LabVIEW
以下的范例演示如何使用NI LabVIEW進行有限點采樣,范例包含相關(guān)VI和設(shè)置。硬件device#0的第一個通道(AI0)被請求返回50000采樣點,設(shè)置的采樣率為50000Hz,輸入范圍為 -10 V 到 +10 V。采集到的電壓結(jié)果被返回到Measurement Array的數(shù)組中。
DASYLab
對于不希望進行編程的用戶來說,可以使用DASYLab來進行數(shù)據(jù)采集,顯示,存儲和分析。DASYLab使用簡單方便,容易上手。可以在這里了解DASYlab的詳情:
http://china.mccdaq.com/products/dasylab.htm
如下圖所示的工作表演示了將Analog Input module(模擬輸入模塊)連接到 Y/t Chart Display(Y/t狀態(tài)顯示模塊),采集到的電壓波形即可顯示到對應(yīng)的圖表中。
在Analog Input module(模擬輸入模塊)上雙擊,可以打開相應(yīng)的配置對話框,供用戶啟用需要的通道,設(shè)定采樣輸入范圍,和定義采樣率。
DAQami
DAQami提供無需編程的數(shù)據(jù)采集體驗,MCC目前免費提供該軟件,您可以在這里下載最新版本:
http://china.mccdaq.com/daq-software/DAQami.aspx
以下的范例演示DAQami軟件的采集配置,通過這個頁面來配置采樣率,采樣數(shù)等。
采集到的數(shù)據(jù)將被標示和輸出到顯示頁面:
關(guān)注MCC 專注數(shù)據(jù)采集
產(chǎn)品及技術(shù)咨詢:021-50509819
Email:sales.china@mccdaq.com
Website:china.mccdaq.com
易于使用 | 輕松集成 | 快速支持
【上手視頻】DASYLab?免費試用28天
DAQami? 免費試用30天
來自MCC的振動分析解決方案
【技術(shù)技巧】如何跨網(wǎng)絡(luò)訪問WebDAQ
基于Raspberry Pi(樹莓派)的MCC數(shù)據(jù)采集卡應(yīng)用
總結(jié)
以上是生活随笔為你收集整理的ad采集 cube配置 dma_【技术技巧】 使用MCC数据采集设备获取模拟波形的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: asp.net ajax 怎么获取前端u
- 下一篇: android怎么监听多点触摸_110寸