LabVIEWForum.de - Host to Target DMA FIFO: Timeout Problemchen

LabVIEWForum.de

Normale Version: Host to Target DMA FIFO: Timeout Problemchen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Tach auch,

Ich hab ein Problem mit einem DMA-FIFO (vom cRIO zum FPGA): ich bekomme immer mindestens einmal das Signal "Timed Out" = TRUE, egal wie lang der Timeout eingestellt ist, es sei denn Timeout steht auf -1 (getestet: 0 bis 4000 Tics), sobald ich das erste Element auf dem FPGA aus dem FIFO auslese. Ich merk mir das Bit in einem SR (ausserhalb des dargestellten Codes) und kann das SR auch zurücksetzen, daher weiß ich, EGAL welchen Timeout ich (übers FP) einstelle wenn's erstmal läuft, danach tritt (sowei ich das bisher getestet habe) kein Timeout mehr auf.

Wenn ich den Timeout von -1 auf >= 0 setze gibt's auch einmal einen Timeout. Da ist doch irgendwo der Wurm drin

CODE:
[attachment=15817]

ich hab irgendwie den Verdacht, dass bei der Sorte Host to Target wohl immer so ist, kann das aber in den entsprechenden Handbüchern, nichts dazu finden. Weiß da jemand etwas zu dem Thema?

Der DMA ist definitiv vor dem 1. Lese-Zugriff mit min. einem Datenblock gefüllt, ich hab das mal durch eine Zahlenfolge verifiziert, da wird nix ausgelassen , trozdem gibt's nen Timeout ... sehr sehr seltsam ...
Hallo i2dx,
ich habe leider keine Erfahrung mit FPGA.
Hast Du schonmal die Variante getestet der For-Schleife ein weiteres Schieberegister zu spendieren initialisiert mit -1 (als erster Timeout-Wert)
und in der For-Schleife dann den I32-Wert des Timeout zu übergeben.

Gruß
Ralf
' schrieb:Hallo i2dx,
ich habe leider keine Erfahrung mit FPGA.
Hast Du schonmal die Variante getestet der For-Schleife ein weiteres Schieberegister zu spendieren initialisiert mit -1 (als erster Timeout-Wert)
und in der For-Schleife dann den I32-Wert des Timeout zu übergeben.

Gruß
Ralf

ja, es ist IMMER der "erste Aufruf überhaupt" bei dem der Timeout auf was anderes als -1 gesetzt wird. Wobei das Timing aber stimmt, ich hab das überprüft, im Prinzip gibt es gar keinen Timeout, der Wert wird ordnungsgemäß gelesen, und die Schleifendurchlaufzeit stimmt auch. Ich bin jetzt dazu übergegangen diesen Timeout zu ignorieren, da ja offensichtlich alles so funktioniert wie ich das will, aber irgendwie nervts mich dann doch ...

ich denk ich werde da mal den NI Support mit nerven ...
' schrieb:Hallo i2dx,
ich habe leider keine Erfahrung mit FPGA.
Hast Du schonmal die Variante getestet der For-Schleife ein weiteres Schieberegister zu spendieren initialisiert mit -1 (als erster Timeout-Wert)
und in der For-Schleife dann den I32-Wert des Timeout zu übergeben.

Gruß
Ralf

ja, es ist IMMER der "erste Aufruf überhaupt" bei dem der Timeout auf was anderes als -1 gesetzt wird. Wobei das Timing aber stimmt, ich hab das überprüft, im Prinzip gibt es gar keinen Timeout, der Wert wird ordnungsgemäß gelesen, und die Schleifendurchlaufzeit stimmt auch. Ich bin jetzt dazu übergegangen diesen Timeout zu ignorieren, da ja offensichtlich alles so funktioniert wie ich das will, aber irgendwie nervts mich dann doch ...

ich denk ich werde da mal den NI Support mit nerven ...
Referenz-URLs