Hi zusammen,
ich nutze ein DMA-FIFO mit folgenden Einstellungen:
Beim Auslesen kann ich über "Elements Remaining" ermitteln, wie viele Werte sich noch im FIFO befinden.
Lasse ich den FIFO voll laufen, gibt mir "Elements Remaining" auch Werte jenseits der 1023-Grenze aus ohne einen Fehler zu werfen (FPGA ist momentan simuliert).
Bei 9960 Werten ist jedoch Schluss und der Wert verändert sich nicht mehr. Es kommt kein Fehler, aber der FIFO ist dann wohl komplett voll.
Habe ich hier einen Denkfehler oder wieso kommt keine Fehlermeldung bzw. wieso kann der FIFO mehr als 1023 Werte aufnehmen?
Was mich auch wundert:
Ich schreibe die Messwerte (aktuell unter Windows) im 1-ms-Takt in den FIFO. Gut, da es unter Windows ist, weicht dieser Wert sicher etwas ab.
Wenn ich die Werte in einer Schleife im Host-VI auslese, die um 200 ms verzögert ist, läuft der FIFO nicht voll, obwohl ich immer nur 50 Werte auf einmal auslese. Erst ab einer Verzögerung von ca. 300 ms läuft der FIFO voll
Ich hätte erwartet, dass bis zu einer Verzögerung von ca. 50 ms der FIFO nicht voll läuft und alles über 50 ms zum Überlauf führt.
Was hat es damit auf sich?