02-25-2009 07:39 AM
我在cRIO FPGA底下,將loop timer設定為100uSec,也就是說我ㄧ秒鐘要抓取10000筆資料(Sampling rate:10000)
我看loop裡頭的 i 值是有一秒鐘跑一萬筆,但是Analog input的資料一秒鐘讀幾百筆而已吧!!
能否告訴我這是怎麼一回事,在煩請NI 工程師解答了,謝謝。
程式如下:
--------------------------------------------------------------------------------------------------------------------------------------------------------
軟體版本:LabVIEW 8.6
NI RIO 3.0.1-October 2008
cRIO-9014
NI 9215
02-26-2009 01:14 AM
Hi Jaye,
請問您所謂一秒鐘幾百筆,是在 RT 程式中確認還是 FPGA 程式呢?
基本上如果要確認 AI 收到了多少資料,應該是先確定在 FPGA 程式裡 AI 收到的資料是否與 i 一致,
也就是檢查您 FPGA 程式(testFIFO.vi)中的 Waveform Chart 所出現的個數是否與 i 值相同,
這應該是不太可能發生不一致的情形。
如果這邊確定 AI 收到的數量與 i 相同,而 RT 端的卻非如此,
那麼就要檢查是否透過 DMA FIFO 傳送資料時發生 lost 的現象,或 RT 端讀取時的速度所發生的問題,
才能確定您所謂 AI 一秒鐘讀取資料與 FPGA 迴圈執行的 i 之間的不一致關係。
以上資訊提供您參考。
謝謝。
02-26-2009 01:38 AM
一秒鐘幾百筆資料是在FPGA中的waveform chart所出現的橫軸值,它橫軸的值不是代表每個數字表一個AI數值(data)嗎?
又或者一個數值裡面有可能夾雜許多的AI Data?
我想的是,while loop每執行一次,AI就會讀一個數值到waveform chart
我設定while loop一秒鐘運行10000次,那waveform chart的橫軸值應該在一秒鐘裡面跑10000次才對?
但我給的程式一秒鐘只跑幾百次。
另外,Jimmy大所說的
檢查您 FPGA 程式(testFIFO.vi)中的 Waveform Chart 所出現的個數是否與 i 值相同,
這應該是不太可能發生不一致的情形。
這段話的意思是什麼呢?我不太懂,現階段就是FPGA 程式(testFIFO.vi)中的 Waveform Chart 所出現的個數與 i 值不相同
我想應該是不相同啦,我才會上來問的,
有什麼觀念上的錯誤,在煩請工程師們幫我解答,謝謝。
02-26-2009 04:02 AM
Hi Jaye,
這個問題在於 Front Panel 的更新跟不上 FPGA 的速度。
由 i 的值可以之到,迴圈的速度是有達到您的設定值,當然其中的 AI 也有按照這個速度在做擷取資料,只是 Waveform Chart 的更新跟不上。
事實上,FPGA 的程式跟 RT 的程式並不具有人機介面,
所以 Front Panel 其實是方便給使用者看,雖然更新速度更不上,但其實資料是有進來的。
一個最簡單可以 check 的方式,就是檢查透過 DMA FIFO 傳到 RT 的資料,看資料量是否符合您的預期。
以上資訊提供您參考。
謝謝。
09-14-2010 03:13 PM
我FPGA7831R analog input loop rate=10000, 但是front panel上显示数据更新大概只有10Hz,是不是因为你说的这个原因