LabVIEWForum.de - Schnelle Pulse erzeugen mit NI-PCIx-6351

LabVIEWForum.de

Normale Version: Schnelle Pulse erzeugen mit NI-PCIx-6351
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

ich habe ein Problem mit LV. Ich möchte mit der Karte NI-PCIx-6351 Pulse erzeugen. Diese Pulse müssen kleiner als 5us sein.

Ich beschreibe vieleicht erst mal das Problem:

Ich habe einen Picosekunden-Laser (Pulsdauer 10ps) und diese Pulse kommen mit 200kHz. Ich möchte nun in LabView eine Anwendung schreiben mit der ich die Möglichkeit habe eine gewisse Anzahl an Pulsen abzufeuern. Es soll also Einstellbar sein wieviele Pulse kommen sollen und ein "FIRE" button. Von dem Laser kann ich ein Synronisationssignal abgreifen. Das möchte ich später auch benutzen.
Der Laser benötigt für sein Gate 2V TTL. Also solange das Gate auf +2V liegt kommen Pulse.

Der erste Punkt für mich ist aber wie ich es unter LV schaffe Pulse <1ms zu erzeugen. Ich bin in LV noch nicht wirklich fit.


Kann mir da jemand weiterhelfen ? Rolleyes


Björn
System hier ist: Win7 64bit (enterprise) und LabView 2009 (9.0)
Hat hier niemand eine Antwort für mich ? O

Vieleicht einfach mal nur wie man Pulse mit <<1ms erzeugen kann. z.B. einen Puls mit folgenden Daten:
High: 1us ; low: 500us.

Das Thema ist für mich sehr wichtig und ich komme irgendwie nicht weiter.


Björn
Lol, Danke-Button mit Zitieren verwechselt.Smile

Ich stand vor einem ähnlichen Problem, die Lösung war dann dass ich mir selbst den Puls erzeugt habe. Der Witz an der Sache ist nur der, KANN das Deine Karte überhaupt? Meine Karte, die NI 6537 schafft ca. 2µs (500ns per Division) als minimaler Puls. Genau einstellen kann ich es bei mir nicht, ich lasse den Puls mit 0 1 0 erzeugen und schneller als die Karte kann ich eh nicht. Also ist die Frage eher, was schafft Deine Karte für einen Puls?
Achja, Du kannst es Dir lösen indem Du Dir selbst ne Clock schreibst oder ein Signal mit einer Sampleclock kombinierst!

Deine Karte schafft ja mehr als 1Mhz (?), und das entspricht ja T=1/f dann 1µs. Ist natürlich ein wenig aufwendig, und wenn Du Dir die Clock selbst schreiben musst dann wirst Du Dir die Frequenz halbieren. (Da ja 2 Takte pro Clock [1,0] einem Takt für die anderen Signale entsprechen)
Ja die Karte sollte gut was können. Bei 2ch Betrieb 1,25MS/s. Damit sollte ich die 200kHz eigentlich schaffen. Nur wie??
Wenn mir vielecht mal jemand eine vi posten könnte die z.B. 1us high und 4us low usw. macht. dann könnte ich versuchen mich in das System einzudenken.


bjoern
' schrieb:Ja die Karte sollte gut was können. Bei 2ch Betrieb 1,25MS/s. Damit sollte ich die 200kHz eigentlich schaffen. Nur wie??
Wenn mir vielecht mal jemand eine vi posten könnte die z.B. 1us high und 4us low usw. macht. dann könnte ich versuchen mich in das System einzudenken.
bjoern


Das gibt es nicht, weil Du es Dir selbst schreiben musst. Keiner wird die gleichen Vorgaben haben wie Du.Wink

Nimm die Sampleclock, oder wenn das nicht geht schreib Dir Deine eigene Sampleclock (was nichts anderes ist als ein Array mit 0 1 0 1 usw) und schreib Dir zusätzlich ein Signal für den Puls (auch ein Array) und schicke beide Werte raus.

1 0 1 0 1 0 1 0 1 0 1 .............. Sampleclock
0 0 1 1 0 0 1 1 0 0 0 .............. Pulse (doppelte Werte nicht vergessen!)

Wenn Du dieses VI mit der doppelten Frequenz fährst (da Du ja nur mit dem halben Clock fahren kannst) solltest Du Dir Deinen Pulse generieren lassen können. So wie ich es oben gezeichnet habe wir dann der schnellstmögliche Pulse erzeugt, welchen Du dann (mit weiteren 1ern) dementsprechend verlängern kannst.

Ich würde zu Beginn mal einen einzigen Pulse schreiben, um die Zeit abschätzen zu können bzw. um zu sehen was der minimale Puls bei Dir ist. Probier das vorher aus. Wie siehst Du oben im Screenshot von meinem VI.
So nochmal ich, da ich gestern schon im Halbschlaf war:

Du hast eine vorgegebene Taktrate von 200kHz, sprich ein Takt entspricht T=1/f => 5us. Somit kannst Du "nur" alle 5us einen Pulse erzeugen lassen, der eine Länge von 5us hat! Deine Rechnung mit 2us Pulse, einem 4us Wait und dann den nächsten Pulse ist meiner Meinung nach damit nicht möglich.

Takt: 5us - 10us - 15us - 20us - 25us.... 01 01 01 01 01
Pulse: 2us - 6us - 8us - 12us... (Pulse - Wait - Pulse - Wait....)

Da stimmt das Timing nicht mehr, weil Du wirst ja entweder auf steigende oder fallende Flanke der Clock triggern? Ich denke Du wirst Dir nur selbst eine Clock schreiben können, die mit 500kHz getaktet ist. Dort kannst Du Dir dann Deinen Pulse leicht erzeugen:

Takt: 2us - 4us - 6us - 8us - 10us.... 01 01 01 01 01
Pulse: 2us - 4us - 6us - 8us... (Pulse - Wait - Wait - Pulse....)

Die Frage ist dann nur wie Du es mit den 200kHz "koppelst". Ich nehme an Du wirst auf 1MHz gehen müssen, damit Du es koppeln kannst. Wenn ich mir das so überlege müsste es hinhauen:

Takt Sampleclock 200kHz: 5us - 10us - 15us - 20us - 25us.... 01 01 01 01 01
Takt generierte Clock 1MHz: 1us - 2us - 3us - 4us - 5us.... 01 01 01 01 01
Pulse: 1us - 2us - 3us - 4us - 5us - 6us - 7us... (Pulse - Pulse (2 Takte = 1 Pulse) - Wait - Wait - Wait - Pulse....)

Da hast Du dann aber halt ne Pause von 3us und nicht 4us(!).

Es wäre nett wenn sich auch andere Leute an dem Thread beteiligen würden?
Erstmal vielen vielen Dank für die Antwort ! Rolleyes

Meine Anwendung ist wie in der Einleitung geschrieben ein Femtosekundenlaser (auch ein Picosekundenlaser dazu... aber anderes Thema).

Dieser Laser macht 100fs lange Pulse mit einer Frequenz von 200kHz. Ich habe also als 4,999999999us einen 100fs puls. Ich kann jetzt über einen optischen Kristall den Ausgang des Lasers "abschalten" oder "einschalten". Dieser Kristall ist extrem schnell. Was ich nun brauche ist also eine Möglichkeit das Gate zu öffnen, einen Puls rauszulassen und dann das Gate wieder zu schliessen.
Ich denke die Pulszeit für mein Gate müsste einfach nur folgender Gleichung genügen 100fsHuh
Ich glaube das Projekt überrollt im moment etwas meine LabView Fähigkeiten (newbie in LabView).

Bjoern
Ich würde Dir empfehlen die Frage im NI Forum zu stellen. Ich bin ehrlich gesagt auch nur ein Anfänger in LabVIEW, und mir scheint Dein Projekt doch sehr spezifisch zu sein. Wenn Dir jemand helfen kann dann dort!

http://forums.ni.com/ni/
Seiten: 1 2
Referenz-URLs