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 

IRQ wird überhaupt bestätigt?



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!

15.04.2014, 10:36
Beitrag #11

akr74000 Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Jan 2014

2012
2014
DE



RE: IRQ wird überhaupt bestätigt?
hallo cb,
du hast ja richtig geraten, ich benutzte das rs485 modul.
danke für die Antwort.
gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
15.04.2014, 11:27
Beitrag #12

akr74000 Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Jan 2014

2012
2014
DE



RE: IRQ wird überhaupt bestätigt?
Hallo cb,
hier sind die ganzen VIs.


Angehängte Datei(en)
12.0 .vi  900x 9870 DMA Read (Sub).vi (Größe: 39,78 KB / Downloads: 170)

12.0 .vi  900x 9870 DMA Write (Sub).vi (Größe: 46,77 KB / Downloads: 159)

12.0 .vi  900x 9870 Interrupt Config (Sub).vi (Größe: 22,02 KB / Downloads: 157)

12.0 .vi  9870 Interface DMA (FPGA).vi (Größe: 29,8 KB / Downloads: 170)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.04.2014, 12:17
Beitrag #13

akr74000 Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Jan 2014

2012
2014
DE



RE: IRQ wird überhaupt bestätigt?
guten Tag cb,

was ich verstehen wollte, wenn fifo leer ist, werden "timed out" und IRQ gesetzt. wie läuft weiter in den RT.vi (read)
und wie ist es beim FPGA-Read (State).
ich bin wirklich durcheinander, beim write-state wurde vom Entwickler eine For-Loop und beim Read eine While-Loop,wieso?
für eine Antwort würde mich sehr freuen.
Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.04.2014, 16:48
Beitrag #14

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
RE: IRQ wird überhaupt bestätigt?
hi, die VIs bekomm ich nicht auf, dafür müsste ich erst mal die neuest LV-Version installieren und da bin ich grad viel zu faul für Wink

Ich vermute mal er benutzt beim Schreiben die FOR-Loop weil er die Anzahl der Bytes ja genau kennt: er erzeugt ja im RT-VI eine wie auch immer geartete Zeichenfolge und da ist es ja ein leichtes zu ermitteln wie lang der String ist der gesendet werden soll.

Beim Lesen könnte es anders sein: die Anzahl der Bytes, die zurück kommt, ist nicht genau definiert. Dann muss man mit einer Abbruch-Bedingung arbeiten (Port Timeout, oder max. Anzahl Bytes, usw) und dafür nimmt man dann eine While-Schleife ...

viele Grüße
cb

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
15.04.2014, 17:53
Beitrag #15

akr74000 Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Jan 2014

2012
2014
DE



RE: IRQ wird überhaupt bestätigt?
HI cb,
ich erkläre dir wie ich verstanden habe, vielleicht liege ich falsch.
die Number of bytes wird von dem RT-vi durch die Länge des Strings an die for-Schleife ermittelt, die for-schleife schreibt die Daten von dem Puffer an dem Port, solange bis die Anzahl der Bytes erreicht wird.Dann setzt er Timed out flag, versucht er nicht das byte wieder zu schreiben?
oder direkt nach Timed out wird IRQ1 gesetzt?
Im Write-Vi ist aber anders, die daten werden auf dem FIFO geschoben, vergleicht die verbleibende leere Elemente im ersten FIFO mit einem leeren FIFO sozusagen, dann wird das IRQ1 bestätigt abschliessend mit IRQ-wait.wozu eigentlich diese invoke IRQ Wait? wird das zweite FIFO auf 0 gesetzt, um neue Aktion zu beginnen?

Den Sprung von FPGA auf RT verstehe ich nicht ganz genau. wenn du noch detaillierter noch erklärst würde mich sehr freuen.
Gruss
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.04.2014, 06:36
Beitrag #16

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
RE: IRQ wird überhaupt bestätigt?
(15.04.2014 17:53 )akr74000 schrieb:  Den Sprung von FPGA auf RT verstehe ich nicht ganz genau. wenn du noch detaillierter noch erklärst würde mich sehr freuen.
Gruss

das sind 2 getrennte VIs, die auf 2 unterschiedlichen Prozessoren laufen, das eine auf der CPU des cRIOs, das andere im FPGA. Damit die beiden VIs zusammenarbeiten müssen sie irgendwie kommunizieren. Dieser Daten-Austausch läuft über den FIFO. Das RT-VI ist der "Boss" und sagt dem FPGA-VI was es tun soll, und das FPGA-VI meldet per IRQ wenn es die Arbeit erledigt hat.

Die Write-Schleife läuft immer für "Number of Bytes" Iterationen, da sie keine Abbruch-Bedingung hat, auch dann wenn der FIFO leer ist. Wenn der FIFO leer ist, dann wartet er für 50 Tics darauf dass noch ein Byte reinkommt, tut es das nicht meldet er einen Timeout. Beim ersten Timeout wird das Schreiben auf den Port durch die Case-Struktur unterbunden. Alle weiteren FIFO-Read-Operationen für die restlichen Iterationen der For-Schleife werden ebenfalls durch die äußere Case-Struktur unterbunden.

Wenn die For-Schleife im Write-Case beendet ist springt die Sequenz einen Rahmen weiter zum IRQ Wait. Dort wird der IRQ an das RT-VI gesendet und drauf gewartet dass das RT-VI den IRQ bestätigt.

Die Funktion bei der 0 Daten in den FIFO geschoben werden ist eine "Krücke", da es keine eigene Funktion dafür gibt abzufragen wieviel Bytes noch im Puffer sind. Mit der Information wieviel Bytes noch im Puffer sind wird überprüft, ob der FIFO auch tatsächlich leer ist (=überflüssig, in 99,99999% der Fälle ist er leer.)

Im Prinzip wartet das FPGA VI nach dem Start immer beim IRQ (wie der erste Durchlauf der äußeren While-Loop aussieht hab ich schon beschrieben). Dann kann man vom RT-VI aus einstellen was es machen soll: lesen oder schreiben. Wenn man was schreiben will, schickt man vorher die Bytes in den FIFO und gibt mit dem Bestätigen des IRQ den Start-Schuss. Beim Lesen gibt man ebenfalls mit dem Bestätigen des IRQ den Startschuss, und wartet dann so lange bis der nächste IRQ kommt, damit sind dann entweder die gewünschte Anzahl Bytes empfangen worden oder es ist ggf. auch ein Timeout aufgetreten der analog zum Schreiben behandelt wurde.

viele Grüße
cb

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
16.04.2014, 09:05
Beitrag #17

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: IRQ wird überhaupt bestätigt?
@Christian:
Hier mal alle 3 Fälle des FPGA VIs als Screenshot:
           
@akr: Wieso hast du die ganzen Kommentare erstens: nicht gelesen - und zweitens: in deinen Screenshots gelöscht?

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.04.2014, 10:36 (Dieser Beitrag wurde zuletzt bearbeitet: 16.04.2014 10:42 von akr74000.)
Beitrag #18

akr74000 Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Jan 2014

2012
2014
DE



RE: IRQ wird überhaupt bestätigt?
(16.04.2014 09:05 )jg schrieb:  @Christian:
Hier mal alle 3 Fälle des FPGA VIs als Screenshot:

@akr: Wieso hast du die ganzen Kommentare erstens: nicht gelesen - und zweitens: in deinen Screenshots gelöscht?

Gruß, Jens

hi christian,

die Kommentare waren nicht nutzlich.
gruß

hallo cb,

danke noch mal für die Antwort.
im Write-RT-Vi wird irgendwas auf dem FIFO geschoben, und wird das IRQ gesetzt, in dem FPGA-Vi startet Write-state und liest die daten vom dem FIFO an dem Port?

gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.04.2014, 11:21 (Dieser Beitrag wurde zuletzt bearbeitet: 16.04.2014 11:22 von cb.)
Beitrag #19

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
RE: IRQ wird überhaupt bestätigt?
der IRQ wird immer gesetzt so lange die While-Schleife läuft

im "idle"-Case, da passiert nichts und der IRQ wird sofort gesetzt
im "write"-Case wird der IRQ gesetzt nachdem die For-Schleife die festgelegte Anzahl Iterationen durchlaufen hat
im "read" Case, nachdem der EoS (vermutlich End of STransmission) Char erkannt wurde, die festgelegte Anzahl Bytes Empfangen wurde oder nachdem das RS485-Modul nichts empfangen hat und einen Timeout gemeldet hat.

Der die "Send IRQ" Funktion in VErbindung mit dem Warten auf Bestätigung ist sozusagen der Synchronisations-Punkt bei dem sich RT-VI und FPGA-VI treffen ...

viele Grüße
cb

P.S. mit "@Christian" meint "jg" mich ... wir kennen uns schon was länger und er kennt meinen Vornahmen ...

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
16.04.2014, 12:19 (Dieser Beitrag wurde zuletzt bearbeitet: 16.04.2014 12:28 von jg.)
Beitrag #20

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: IRQ wird überhaupt bestätigt?
(16.04.2014 10:36 )akr74000 schrieb:  die Kommentare waren nicht nutzlich.
Also ich finde die Kommentare SEHR nützlich!

Gruß, Jens

Und da die Kommentare so nützlich sind, hier Screenshots der Blockdiagramme der 3 RT-VIs
   
   
   
Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: