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!

05.04.2014, 14:12
Beitrag #1

akr74000 Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Jan 2014

2012
2014
DE



IRQ wird überhaupt bestätigt?
hallo LV-Freunde,

kann jemand mir helfen? ich will nur wissen, wann die IRQ auftritt die 3 Bilder sind nützlich. Read/write laufen auf dem cRio und fpga auf dem fpga.
           
für eine Antwort wäre ich sehr dankbar.
gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.04.2014, 16:31
Beitrag #2

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
RE: IRQ wird überhaupt bestätigt?
Bahn

ein IRQ wird immer vom FPGA-VI gesendet und vom RT-VI bestätigt.
Man kann den IRQ auch dann auf dem RT-VI bestätigen wenn das FPGA-VI gar nicht auf eine Bestätigung wartet, das stört nicht, aber wenn das FPGA-VI auf eine Bestätigung wartet, dann MUSS man nach dem Eintreffen eines IRQs dieser auch vom RT-VI bestätigt werden, sonst hängt das FPGA-VI in einer endlos-Schleife und schickt keine weiteren IRQs mehr ...

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
12.04.2014, 21:02 (Dieser Beitrag wurde zuletzt bearbeitet: 12.04.2014 21:09 von akr74000.)
Beitrag #3

akr74000 Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Jan 2014

2012
2014
DE



RE: IRQ wird überhaupt bestätigt?
vielen Dank cb für diese Informationen.
gruß
akr74000
Guten Tag LV-Freunde,

ich habe noch eine zweite Frage, wie wird das letztes Bild (write-vi) theoretisch funktionieren? und warum wurde 2 fifos benutzt?
Danke im voraus
Gruß
akr74000
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.04.2014, 07:35
Beitrag #4

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
RE: IRQ wird überhaupt bestätigt?
(12.04.2014 21:02 )akr74000 schrieb:  ich habe noch eine zweite Frage, wie wird das letztes Bild (write-vi) theoretisch funktionieren? und warum wurde 2 fifos benutzt?
Danke im voraus

vermutlich hat der Entwickler des FPGA-VIs eine Art State-Machine programmiert und er benutzt die 2 verschiedenen IRQs um festzulegen in welchem State das FPGA-VI ist

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
13.04.2014, 16:55
Beitrag #5

akr74000 Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Jan 2014

2012
2014
DE



RE: IRQ wird überhaupt bestätigt?
(13.04.2014 07:35 )cb schrieb:  
(12.04.2014 21:02 )akr74000 schrieb:  ich habe noch eine zweite Frage, wie wird das letztes Bild (write-vi) theoretisch funktionieren? und warum wurde 2 fifos benutzt?
Danke im voraus

vermutlich hat der Entwickler des FPGA-VIs eine Art State-Machine programmiert und er benutzt die 2 verschiedenen IRQs um festzulegen in welchem State das FPGA-VI ist

hat nicht mit Fifo Kontrolle zu tun? Ich meinte, die 2 Fifos sind da, um die verbleibenden übertragenen Bytes zu überprüfen. das zweite Fifo wird kontrollieren, ob alle Byte erfolgreich von dem ersten fifo übertragen sind?
Oder liege ich total daneben Wink?
Danke cb für die Antwort nochmal.
Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.04.2014, 06:53
Beitrag #6

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
RE: IRQ wird überhaupt bestätigt?
(13.04.2014 16:55 )akr74000 schrieb:  
(13.04.2014 07:35 )cb schrieb:  
(12.04.2014 21:02 )akr74000 schrieb:  ich habe noch eine zweite Frage, wie wird das letztes Bild (write-vi) theoretisch funktionieren? und warum wurde 2 fifos benutzt?
Danke im voraus

vermutlich hat der Entwickler des FPGA-VIs eine Art State-Machine programmiert und er benutzt die 2 verschiedenen IRQs um festzulegen in welchem State das FPGA-VI ist

hat nicht mit Fifo Kontrolle zu tun? Ich meinte, die 2 Fifos sind da, um die verbleibenden übertragenen Bytes zu überprüfen. das zweite Fifo wird kontrollieren, ob alle Byte erfolgreich von dem ersten fifo übertragen sind?
Oder liege ich total daneben Wink?
Danke cb für die Antwort nochmal.
Gruß

ja, sicher hat das was mit der Kontrolle der des FIFOs zu tun. Wenn ich jetzt raten müsste dann würde ich darauf tippen, dass das FPGA-VI (in einer Art State-Machine) bei leerem FIFO den IRQ 1 setzt der acknowledged werden muss, damit das VI weiter läuft. Bevor er den IRQ bestätigt schreibt er was in den Puffer, damit der auch voll ist wenn er durch das Bestätigen des IRQs "losgelassen" wird.

Ich vermute das FPGA-VI liest mit einer bestimmten "Sample-Rate" die Daten aus dem FIFO und macht irgendwas und irgendwann ist der FIFO wieder leer und schickt einen IRQ. Der wird aber nicht bestätigt => das FPGA-VI "hängt" beim IRQ. Dann will er vermutlich noch prüfen ob der FIFO auch wirklich leer ist, was aber meiner Ansicht nach Quatsch ist, weil er das ja höchstwahrscheinlich schon so programmiert hat dass der IRQ erst geschickt wird wenn der FIFO leer ist. Das ist also IMHO doppelt gemoppelt ...

Um die Glaskugel noch etwas mehr zu strapazieren: das ganze könnte eine Funktion sein um eine "arbitrary waveform" mit einem festgelegten Sample-Count auszugeben, die Synchronisierung mit dem RT-VI läuft über den IRQ. Die IRQ-Funktion im FPGA-VI wird IMHO dabei ein wenig missbraucht in dem er den Handshake "blind" absetzt ohne vorher tatsächlich auf den IRQ gewartet zu haben, müsste aber eigentlich funktionieren. Ich würd's aber nicht so machen - ich hätte da stilistische Bedenken Wink Big Grin

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
14.04.2014, 20:22 (Dieser Beitrag wurde zuletzt bearbeitet: 14.04.2014 20:51 von akr74000.)
Beitrag #7

akr74000 Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Jan 2014

2012
2014
DE



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

es war alles hilfreich, kannst du bitte einen blick auf FPGA Bild und einen anderen auf letztes Bild, das IRQ1 wurde gesetzt, nach FIFO Funktion wurde das IRQ1 bestätigt, was ich nicht verstanden haben , warum ist die Bestätigung nachdem ersten FIFO und nicht am Ende ?
wenn ich denke, kann man ohne IRQ synchronisieren und zwar durch DMA-FIFO.
Ich füge ein bild für das RT-VI ein, ich denke ist nötig.

vielen Dank
gruss
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.04.2014, 22:20
Beitrag #8

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?
(14.04.2014 20:22 )akr74000 schrieb:  Ich füge ein bild für das RT-VI ein, ich denke ist nötig.
Noch besser wäre ein VI-Upload der VIs. Es fehlen in den Screenshot essentielle Teile für eine exakte Antwort.

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
15.04.2014, 06:24
Beitrag #9

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
RE: IRQ wird überhaupt bestätigt?
(14.04.2014 20:22 )akr74000 schrieb:  wenn ich denke, kann man ohne IRQ synchronisieren und zwar durch DMA-FIFO.

man kann ohne IRQ synchronisieren, aber dann muss man den FIFO Status pollen und das erzeugt viel CPU-Last, deswegen benutzt man eigentlich immer einen IRQ um den RT-VI zu signalisieren, dass es neue Daten in den FIFO schieben soll oder dass der FIFO leer ist.

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, 07:44
Beitrag #10

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
RE: IRQ wird überhaupt bestätigt?
ok, ich hab mir dann doch nochmal das 1. Bild (FPGA-VI-Source-Code) angeschaut.

Es ist genau so wie ich in meinem Beitrag #6 beschrieben habe. Im FPGA ist eine State-Machine, zumindest kann ich den State "write" sehen. Dieser State versucht eine festgelegte Anzahl von Bytes aus dem Puffer zu lesen und in eine andere Node zu schieben. Ich kann nicht erkennen was das für eine ist, aber ich vermute mal RS323 oder RS485. Wenn der FIFO leer ist, dann setzt er das "Timed Out" flag und geht weiter zum IRQ, der bestätigt werden muss.

Beim ersten Durchlauf der Schleife passiert folgendes: der FIFO ist leer, die For-Schleife geht nach dem ersten FIFO-Read in den Timeout, läuft für die eingestellte Anzahl Bytes - 1 ohne zu lesen und zu schreiben und geht anschließend zum IRQ-Wait. Dort wartet das FPGA-VI bis der IRQ-Ack kommt.

Wenn dann vom RT-VI der FIFO befüllt wird und der IRQ-Ack gesetzt wird startet die While-Loop die nächste Iteration und schreibt die Bytes aus dem FIFO auf den Port. Wenn die For-Loop die eingestellte Anzahl Iterationen durchlaufen hat (mit oder ohne Timeout) wird der 2. Sequenz-Schritt ausgeführt und das VI wartet wieder auf den IRQ-Ack ...

Wenn ich jetzt mal davon ausgehe dass es sich um RS485 handelt, dann ist das ganze einfach eine Methode um auf dem RT-VI eine Reihe von Bytes, die auf den Bus geschrieben werden soll, in einen Puffer zu packen und vom FPGA-VI ausgeben zu lassen.

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
Antwort schreiben 


Gehe zu: