INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Datenübertragung sehr langsam (FPGA zu Realtime-part des cRIO)



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

06.08.2013, 15:43
Beitrag #1

Maschi Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Oct 2010

2012
2010
EN


Deutschland
Datenübertragung sehr langsam (FPGA zu Realtime-part des cRIO)
Hardware: cRIO 9022 mit 9114 Chassis und 9403 DIO-Modul

Moin!

Aufbau des Systems:
Ich nutze das DIO-Modul als Eingang für einen Quadraturencoder. Im FPGA-VI (40 MHz Clock, 15 µs pro Schleifendurchlauf) werden die Eingangskanäle eingelesen und daraus wird die Encoderposition errechnet. Dieser Wert wird dann einfach von einem VI auf dem Realtime-part des cRIO eingelesen (entweder über FIFO oder einfaches FPGA Read Interface) und für eine Motorregelung verwendet.

Problem:
Ich würde den Encoderwert gerne alle 100µs (10 kHz) auslesen (vom FPGA zum Realtime-part), leider benötigt die Schleife immer 2-3 ms. Ich habe eine Übertragung per einfachem FPGA Read Interface als auch über FIFO ausprobiert. Sowohl im Hybridmodus (Scaninterface und FPGA-Modus) als auch im FPGA-Modus immer das gleiche Resultat. Versuchsweise habe ich das VI auch mal ohne das Einlesen des Encoderwertes nur mit den Softmotion-Funktionen laufen lassen. Dann benötigt die Schleife keine 10µs: Es liegt also nicht an den Softmotion-Funktionen. Auf den Bildern ist ein vereinfachtes VI mit Benchmark zu sehen, bei dem die Softmotion-Funktionen etc. alle fehlen.

Frage:
Geht das einfach nicht schneller oder gibt es eine Lösung für das Problem?

Vielen Dank schon mal im Voraus und Grüße vom Rhein.
Matthias

Schleife ohne Auslesen (so schnell sollte die Schleife im Idealfall laufen :-D )
   

Schleife mit FIFO
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.08.2013, 15:51
Beitrag #2

GerdW Online
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenübertragung sehr langsam (FPGA zu Realtime-part des cRIO)
Hallo Maschi,

und was passiert, wenn du statt nur einem einzelnen Wert gleich 100 aus dem FIFO liest?
Wie kommst du auf die Idee, dass dein cRIO in der Lage ist, Einzelwerte mit 10kHz vom FPGA entgegenzunehmen und zu bearbeiten?

Es sieht aus, als wenn dein FIFO vollgelaufen ist mit "16383 elements remaining"...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.08.2013, 16:22
Beitrag #3

Maschi Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Oct 2010

2012
2010
EN


Deutschland
RE: Datenübertragung sehr langsam (FPGA zu Realtime-part des cRIO)
Danke für die rasche Antwort

(06.08.2013 15:51 )GerdW schrieb:  Wie kommst du auf die Idee, dass dein cRIO in der Lage ist, Einzelwerte mit 10kHz vom FPGA entgegenzunehmen und zu bearbeiten?

Das ist halt Teil meiner Frage. In meinem cRIO-Kursbuch und bei Google sowie hier im Forum bin ich nicht fündig geworden. Mich wundert halt, dass das Auslesen eines einzigen Wertes so viel mehr Zeit benötigt als die relativ komplexen SoftMotion-Blöcke.

(06.08.2013 15:51 )GerdW schrieb:  Es sieht aus, als wenn dein FIFO vollgelaufen ist mit "16383 elements remaining"...

Stimmt, da hatte ich in dem Test-VI nicht genau drauf geachtet. Wirkt sich das denn auf die Auslesegeschwindigkeit aus, wenn das FIFO voll ist?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.08.2013, 20:39
Beitrag #4

GerdW Online
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenübertragung sehr langsam (FPGA zu Realtime-part des cRIO)
Hallo Maschi,

Zitat:Mich wundert halt, dass das Auslesen eines einzigen Wertes so viel mehr Zeit benötigt
Jede Einzelwertabfrage benötigt ca. den gleichen Overhead, den auch eine Abfrage von 1000en Werten mit sich bringt. Und ein cRIO ist nicht unbedingt ein Hochleistungs-MultiCore-MultiGHz-Rechner...
Zu SoftMotion kann ich nichts sagen.

Zitat:Wirkt sich das denn auf die Auslesegeschwindigkeit aus, wenn das FIFO voll ist?
Auf die Lesegeschwindigkeit selbst wirkt es sich nicht aus. Du liest aber alte Werte aus dem FIFO. Außerdem könnte es auf dem FPGA-Part zu Problemen führen, wenn dort auf den FIFO gewartet werden muss...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Teststand, LabVIEW-Realtime, Events in der Host-Anwendung Felix777 1 13.530 01.08.2017 07:38
Letzter Beitrag: GerdW
  cRio-9064 RealTime Anbindung Anil 2 19.832 15.07.2016 12:46
Letzter Beitrag: Anil
  RealTime Netzwerkvariablen aktualisierung akoKE 3 8.305 07.11.2012 12:48
Letzter Beitrag: akoKE
Question Wie cRIO mit PXI-RT System und FPGA ansteuern? Chewie 1 6.193 30.08.2012 19:39
Letzter Beitrag: chrissyPu
  cRIO Ausfallsichere Datenübertragung auf PC domi1991 4 7.372 30.08.2012 17:35
Letzter Beitrag: BNT
  Verwendung von RealTime + CompactRio Leo1 9 14.145 22.02.2012 10:31
Letzter Beitrag: MaxLab

Gehe zu: