Zeiten zum füllen und entleeren von FIFOs
|
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!
14.01.2008, 10:54
Beitrag #1
|
Marzl
LVF-Grünschnabel
Beiträge: 18
Registriert seit: Oct 2006
8.5
2006
kA
85055
Deutschland
|
Zeiten zum füllen und entleeren von FIFOs
Hallo!
Ich hätte eine Frage zum Zusammenspiel zwischen Füllzeit und Lesezeit eines FIFOs.
Ist es optimal einen FIFO mit der gleichen Zeit zu entleeren wie ich ihn fülle, oder sollten da entsprechende Differenzen herrschen?
In meinem Host VI wird ein FIFO jede Millisekunde beschrieben und ein anderes jede Millisekunde ausgelesen.
In meinem FPGA VI sollen nun die entsprechenden Zeiten zum entleeren des ersten und zum befüllen des 2. FIFO eingestellt werden (mit wait until).
Isdt es nun sinnvoll die beiden FIFOs auch mit 1ms zu entleeren/füllen, oder ist es besser, wenn das entleeren des 1. FIFO schneller von statten geht und das beschreiben des 2. langsamer?
Danke!
Gruß
Marcel
|
|
|
14.01.2008, 19:30
Beitrag #2
|
cb
LVF-SeniorMod
Beiträge: 1.731
Registriert seit: Feb 2006
2018SP1
2001
EN
40xxx
Deutschland
|
Zeiten zum füllen und entleeren von FIFOs
weder noch, ich würde das ganze einfach über Interrupts steuern, ganz ohne irgendwelche Wartezeiten ...
|
|
|
14.01.2008, 19:55
Beitrag #3
|
thomas.sandrisser
LVF-SeniorMod
Beiträge: 1.298
Registriert seit: Sep 2005
xxxx
2005
EN
78759
United States
|
Zeiten zum füllen und entleeren von FIFOs
Deine Frage ist so allgemein, dass man ueberhaupt keine pauschale Aussage treffen kann.
Welches Target hast du zur Verfuegung?
Windows oder RT?
Welche Datenmenge ist in 1ms zu erwarten beim Lesen?
Welche Datenmenge ist in 1ms zu erwarten beim Schreiben?
Grundsaetzlich sollte das Lesen mit einem Timeout von -1 bewerkstelligt werden (dadurch ersparst du dir zusaetzliche Logik zur Bewertung des zurueck gelieferten Wertes vom FIFO).
Beim Schreiben kommt es darauf an, wie hoch der Timeout sein soll. Das einfachste ist hier einen Timeout von 0 zu setzen und das Flag "Timed Out" per RS FlipFlop bewerten.
Wenn der Buffer einmal voll ist, wird das RS FF den Wert speichern bis du einen Reset ausloest.
etc. etc. etc. etc. etc.
|
|
|
| |