LabVIEWForum.de - Verständnis Frage zu FPGA

LabVIEWForum.de

Normale Version: Verständnis Frage zu FPGA
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo erstmal,

wie der titel schon sagt hab ich eine frage zu FPGA und zwar
hab ich ein VI erstellt welches mit hilfe eines Sinussignals (geliefert von einem Funktionsgen.)
ein PWM-signal erzeugt und am SCB-68 am Connector0/DIO0, welcher sich in einer for-Schleife befinden,
ausgibt. Dies funktioniert soweit eigentlich ganz gut. Nun haben messungen ergeben das die Schaltfrequenzen
des PWM-Signals abhängig von der Amplitude des Sinus wie folgt sind:

1.25V = 4096 => 3.2kHz
2.5V = 8192 => 1.6kHz usw.

errechnet man jetzt aus diesen daten die dauer eines tick der for-schleife führt das zu dem ergebnis
das ein tick ca 75ns dauert und nicht wie von mir erwartet 25ns.

die frage ist nun hab ich irgendwas nicht richtig verstanden (wovon ich fest überzeugt bin)?


das VI hab ich hochgeladen die LabVIEW version ist 8.6

genutze module sind SCB-68 NI7831R

ich danke schonmal für jede freundliche antwort vielmals

liebe Grüße
Alex

Lv86_img
Hi,

soweit ich weiß haben Schleifen (vielleicht auch nur For-Schleifen) einen Overhead von zwei Ticks auf dem FPGA. Genauer müsstest Du mal bei NI nachfragen.

Versuch doch mal, die For-Schleife mit einer höheren derived-Clock laufen zu lassen, wobei ich nicht weiß, ob da die DIO mitmachen. Der Overhead müsste damit aber schneller abgearbeitet sein...

ch
while/for schleife -> 2 ticks overhead
SCTL (single cycle timed loop) -> 1 tick pro iteration!

Was du in deinem fall der pwm machen willst ist, dass du eine SCTL nimmst und diese entsprechend mit der base clock or derived clock konfigurierst und dir im weiteren eine kleine statemachine innerhalb dieser SCTL ablegst. Ein state -> idle und der andere state enthaelt die PWM logic.
ich danke euch beiden für die schnelle und nützliche antwort das mit den 2 ticks Overhead bei while-/for-schleifen erklärt natürlich mein problem

schöne Grüße
Alex
... und das nächste Mal achtest Du bitte auf Groß- und Kleinschreibung. Big Grin
(vgl. LVF-Regeln Rulez)

Gruß Markus

' schrieb:ich danke euch beiden für die schnelle und nützliche antwort das mit den 2 ticks Overhead bei while-/for-schleifen erklärt natürlich mein problem

schöne Grüße
Alex
Referenz-URLs