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 

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!

29.10.2008, 16:25
Beitrag #16

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
cRIO
' schrieb:Auf dem FPGA scanne ich 6 Analogeingänge mit 195µs und speichere dazu die Zykluszeit dt. Diese 7 Werte schreibe ich dann in den DMA-FIFO. Nach 512 Schleifendurchläufen setze ich den IRQ, d.h. es sind 7x512=3584 Werte im FIFO. Dazu habe ich dann insgesamt 512x195µs=99.84ms gebraucht.

Auf dem RT muss ich dann ja diese 3584 Werte auch mindestens mit 99.84ms auslesen, sonst verliere ich doch Daten, oder? Das habe ich vorher mit einer Zykluszeit von 80ms getan. Nach Einbau des IRQ ging dann die Zykluszeit auf ca. 130ms hoch. Das meinte ich mit "schlechterer Performance". Da werde ich wohl versuchen müssen, den Code zu optimieren.

Übrigens habe ich heute gehört, dass die cRIO-Systeme 9014 und 9074 mit NI-RIO Version 2.3.0 bis 3.0.0 Probleme mit dem DMA haben, die zu Abstürzen führen können. Ich arbeite mit 2.4.1. Das könnte meine Fehler erklären. NI empfiehlt, die neue Version 3.0.1 zu installieren. Dann probiere ich das mal aus...

sorry, aber das ist komplett unlogisch.

Wenn die Erfassung der Daten (deines "Blocks") auf dem FPGA 99,84 ms dauert, dann läuft die "FIFO-Lesen" Schleife (beim Einsatz von Interrupts) auf dem RT-Controler mit genau der gleichen Geschwindigkeit ansonsten sind deine Daten nicht konsistent.

Deine Erfassung-Schleife auf dem FPGA sollte IMHO so aussehen, dann klappt's auch mit DMA+Interrupt:

   

Das Auslesen aus dem FIFO geschieht ann analog zu meinem Beispiel weiter oben ...
Empfohlene-FIFO-Größe: min 4191 U32

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Nachrichten in diesem Thema
cRIO - MichaDu - 21.10.2008, 21:05
cRIO - thomas.sandrisser - 22.10.2008, 03:50
cRIO - cb - 22.10.2008, 07:05
cRIO - MichaDu - 22.10.2008, 08:30
cRIO - cb - 22.10.2008, 09:14
cRIO - thomas.sandrisser - 22.10.2008, 09:33
cRIO - cb - 22.10.2008, 17:42
cRIO - MichaDu - 27.10.2008, 07:22
cRIO - cb - 27.10.2008, 08:23
cRIO - DAX5 - 27.10.2008, 12:58
cRIO - MichaDu - 27.10.2008, 15:46
cRIO - cb - 27.10.2008, 16:58
cRIO - MichaDu - 29.10.2008, 09:24
cRIO - cb - 29.10.2008, 10:52
cRIO - MichaDu - 29.10.2008, 15:38
cRIO - cb - 29.10.2008 16:25
cRIO - MichaDu - 30.10.2008, 07:35
cRIO - cb - 30.10.2008, 07:46
cRIO - MichaDu - 30.10.2008, 08:26
cRIO - cb - 30.10.2008, 10:36
cRIO - MichaDu - 30.10.2008, 12:11
cRIO - cb - 30.10.2008, 14:15

Gehe zu: