NI產品與技術 討論區

cancel
Showing results for 
Search instead for 
Did you mean: 

cRIO Analog Input NI 9215

我在cRIO FPGA底下,將loop timer設定為100uSec,也就是說我ㄧ秒鐘要抓取10000筆資料(Sampling rate:10000)

我看loop裡頭的 i 值是有一秒鐘跑一萬筆,但是Analog input的資料一秒鐘讀幾百筆而已吧!!

能否告訴我這是怎麼一回事,在煩請NI 工程師解答了,謝謝。

程式如下:

cRIO 8.6 NI 9215

--------------------------------------------------------------------------------------------------------------------------------------------------------

軟體版本:LabVIEW  8.6

               NI RIO 3.0.1-October 2008

               cRIO-9014

               NI 9215

0 Kudos
Message 1 of 5
(5,306 Views)

Hi Jaye,

 

請問您所謂一秒鐘幾百筆,是在 RT 程式中確認還是 FPGA 程式呢?

基本上如果要確認 AI 收到了多少資料,應該是先確定在 FPGA 程式裡 AI 收到的資料是否與 i 一致,

也就是檢查您 FPGA 程式(testFIFO.vi)中的 Waveform Chart 所出現的個數是否與 i 值相同,

這應該是不太可能發生不一致的情形。

 

如果這邊確定 AI 收到的數量與 i 相同,而 RT 端的卻非如此,

那麼就要檢查是否透過 DMA FIFO 傳送資料時發生 lost 的現象,或 RT 端讀取時的速度所發生的問題,

才能確定您所謂 AI 一秒鐘讀取資料與 FPGA 迴圈執行的 i 之間的不一致關係。

 

以上資訊提供您參考。

謝謝。

Jimmy Ko
0 Kudos
Message 2 of 5
(5,285 Views)

一秒鐘幾百筆資料是在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 值不相同

我想應該是不相同啦,我才會上來問的,

有什麼觀念上的錯誤,在煩請工程師們幫我解答,謝謝。

0 Kudos
Message 3 of 5
(5,282 Views)

Hi Jaye,

 

 

這個問題在於 Front Panel 的更新跟不上 FPGA 的速度。

由 i 的值可以之到,迴圈的速度是有達到您的設定值,當然其中的 AI 也有按照這個速度在做擷取資料,只是 Waveform Chart 的更新跟不上。

 

事實上,FPGA 的程式跟 RT 的程式並不具有人機介面,

所以 Front Panel 其實是方便給使用者看,雖然更新速度更不上,但其實資料是有進來的。

 

一個最簡單可以 check 的方式,就是檢查透過 DMA FIFO 傳到 RT 的資料,看資料量是否符合您的預期。

 

以上資訊提供您參考。

謝謝。

Jimmy Ko
0 Kudos
Message 4 of 5
(5,276 Views)

我FPGA7831R analog input loop rate=10000, 但是front panel上显示数据更新大概只有10Hz,是不是因为你说的这个原因

0 Kudos
Message 5 of 5
(4,146 Views)