Delays bei professioneller Software

Allgemeine Fragen zu Lasershow Software und Show-Programmierung.
Gesperrt
Benutzeravatar
ense
Beiträge: 37
Registriert: Di 08 Jul, 2003 10:32 pm
Wohnort: Jena

Delays bei professioneller Software

Beitrag von ense » Mi 16 Jul, 2003 10:31 am

Wenn ich das richtig seh, ist es bei "Popelscan" so, dass immer der Punkt ausgegeben wird, der angefahren werden soll und danach ein Software-Delay erfolgt. Dieses Delay hat Guido mittels Schleifen realisiert. (verbessert mich bitte, falls etwas nicht stimmt)

Wie wird das eigentlich bei professioneller Software realisiert, auch mit Software-Delays?
Das Problem is nämlich, dass man bei Windows keinen vernünftig präzisen Timer hinbekommt.

john
Beiträge: 1823
Registriert: Mi 13 Jun, 2001 12:00 pm
Wohnort: Berlin

Re: Delays bei professioneller Software

Beitrag von john » Mi 16 Jul, 2003 1:15 pm

Hi,

dagegen gibts nur 3 Abhilfen:

- In Windows9x (NT, 2000, XP unmöglich) alle IRQs abschalten. Laserpainter von Medialas arbeitet so
- Ausgabe durch einen unabhängigen Prozessor erledigen lassen. Bei Pangolin / Riya macht das ein Coldfire auf der Ausgabekarte, bei LDS nimmt man dafür einen eigenen Slaverechner
- Einen PC mit Echzeitbetriebssystem verwenden. Lasergraph DSP und Lobo Systeme dürften so arbeiten, haben aber trotzdem vermutlich noch "aktive" Ausgabekarten

Gruß

John
Anbieterkennzeichnung - http://www.cyberstoff.de/Impressum

Benutzeravatar
lightfreak
Beiträge: 644
Registriert: Di 09 Okt, 2001 12:00 pm
Do you already have Laser-Equipment?: of course...
Wohnort: Nitzahn
Kontaktdaten:

Re: Delays bei professioneller Software

Beitrag von lightfreak » Mi 16 Jul, 2003 3:20 pm

4. Wie bei einer Soundkarte, DMA benutzen. Wird aber von der Hardware sehr heftig zu realisieren sein.

Simon
----------------------------------------------------------------------------------
http://www.simon-light.de

riya
Beiträge: 8
Registriert: Sa 04 Jan, 2003 2:29 pm
Wohnort: Lviv, UKRAINE
Kontaktdaten:

Re: Delays bei professioneller Software

Beitrag von riya » Mi 16 Jul, 2003 5:17 pm

@John,
In RIYA card we use FPGA (not Coldfire)

Ihor

Benutzeravatar
lightfreak
Beiträge: 644
Registriert: Di 09 Okt, 2001 12:00 pm
Do you already have Laser-Equipment?: of course...
Wohnort: Nitzahn
Kontaktdaten:

Re: Delays bei professioneller Software

Beitrag von lightfreak » Mi 16 Jul, 2003 6:10 pm

Hi Ihor,

the original question was, how do professional Lasercards transfer continous data to the DA Converter. Do you use DMA for the transfer or a FIFO in your FPGA?

Simon
----------------------------------------------------------------------------------
http://www.simon-light.de

riya
Beiträge: 8
Registriert: Sa 04 Jan, 2003 2:29 pm
Wohnort: Lviv, UKRAINE
Kontaktdaten:

Re: Delays bei professioneller Software

Beitrag von riya » Mi 16 Jul, 2003 8:00 pm

Hi Simon,
FPGA, in difference to microprocessors, allows to organize realy multitasking work.
We don't use FIFO and DMA.
Two buffers RAM (one - for load information, second - for out on DACs) allows us in Target mode to provide up to 200 000 PPS with quaranted accuracy 30 nsec.

Ihor

Benutzeravatar
ense
Beiträge: 37
Registriert: Di 08 Jul, 2003 10:32 pm
Wohnort: Jena

Re: Delays bei professioneller Software

Beitrag von ense » Do 17 Jul, 2003 1:00 pm

Hmm, ich werd wahrscheinlich doch nen Timer unter Windows nehmen müssen.
(möchte eine eigene Soft schreiben)
Die anderen Möglichkeiten (eigener Prozessor o.Ä.) wären bestimmt viel zu aufwändig, oder?

Benutzeravatar
guido
Beiträge: 6437
Registriert: Do 20 Dez, 2001 12:00 pm
Do you already have Laser-Equipment?: Easylase, Netlase, Laser von 1..15W.
Entwickler von Dynamics + Mamba X4 .
Lasershow Hard / Software .
Wohnort: 32469 Petershagen
Kontaktdaten:

Re: Delays bei professioneller Software

Beitrag von guido » Do 17 Jul, 2003 2:56 pm

Hiho,

Timer von Delphi kannst du abhaken.
Minimale Auflösung lt Timer 1ms, in der Realität knapp 8ms+Ausgabezeit an den Port ( ca 2ms auf nem 350er AMD ) .
Das heisst du kommst auf max 1 KHz Ausgabespeed. Viel zu wenig.
Ich schaffe mit meiner Lösung und "Vollgas", d.h. abgeschaltete Screenausgabe, auch nur ca 4-5K Punkte pro sec. Auch noch zu wenig. Auf nem grösserem hab ichs noch nicht gemessen.

Es stimmt schon. Vernünftig geht sowas nur mit nem externen Prozessor / FPGA
und vieeel Speicher. ( Ein ILDA File ist gerne mal mehrere MB )

ralf-k
Beiträge: 896
Registriert: Mo 13 Aug, 2001 12:00 pm
Wohnort: Bergheim (Köln)
Kontaktdaten:

Re: Delays bei professioneller Software

Beitrag von ralf-k » Do 17 Jul, 2003 4:07 pm

Hi!

mm da muß es aber noch eine Andere lösung geben.
Gibt es keinen Zähler??
In Q-Basic geht der ja so:

For x=1 to 10000000
Next x

bei nem 700P3 ist so bei 440000 ca eine Sekunde.
Bei kleineren Rechnern noch mehr.
Damit kann man einigermaßen genaue Ergebnisse erziehlen.
Man muß nur Forher den rechner Calibrieren, alo man muß wissen wieviel eine Sekunde oder so ist, damit man es umrechnen kann.

Damit schaffe ich es über 20KHz aus dem Druckerport heraus zu bekommen.

Gruß Ralf

Benutzeravatar
ense
Beiträge: 37
Registriert: Di 08 Jul, 2003 10:32 pm
Wohnort: Jena

Re: Delays bei professioneller Software

Beitrag von ense » Do 17 Jul, 2003 4:44 pm

@Ralf-K
Bei deiner Schleife is die CPU unter Windows 100% ausgelastet. Kommt Windows auf die Idee mal nebenbei noch was anderes zu machen oder du bewegst z.B. deinen Mauzeiger, nimmt Windows von deinem Programm ein bisschen Rechenleistung weg und schon dauert dein Delay mittels Schleife länger als sonst. Also sind Schleifen eher weniger geeignet als Timer.

Benutzeravatar
guido
Beiträge: 6437
Registriert: Do 20 Dez, 2001 12:00 pm
Do you already have Laser-Equipment?: Easylase, Netlase, Laser von 1..15W.
Entwickler von Dynamics + Mamba X4 .
Lasershow Hard / Software .
Wohnort: 32469 Petershagen
Kontaktdaten:

Re: Delays bei professioneller Software

Beitrag von guido » Do 17 Jul, 2003 4:45 pm

Stimmt, nur Bit setzen und löschen schaffe ich auch mir der Speed.
Aber da meine Soft nebenbei noch jeden aus dem Datenfeld geholten Punkt umrechnet ( Drehen Spiegeln, rotieren, Gain ,Pumpen , . . . .) wird sehr langsam.
Hab gerade mal die "Bit setzen / löschen" Nummer durchgespielt.
Unter Delphi 3, Portausgabe per ASM schaffe ich 41 KHz.
Wenn ich also meine Soft auf ILDA umstricke sind locker 20 K drin nehme ich an.
Aber meine MOTs brauchen das nicht ganz so schnell :-)

Wenns mal schnellere Scanner gibt baue ich mal eine reine ILDA - Ausgabesoftware für meine Karte. Mal sehen was da so drin ist.

Benutzeravatar
tracky
Beiträge: 4869
Registriert: Di 11 Mär, 2003 1:51 pm
Do you already have Laser-Equipment?: Hat sich im Laufe der Jahre doch einiges angesammelt
Wohnort: Germany, Seefeld bei Werneuchen
Kontaktdaten:

Re: Delays bei professioneller Software

Beitrag von tracky » Do 17 Jul, 2003 6:06 pm

Man,man,man, wieder soviel Projekte im Kopf! Aber das wäre mal ne feine Sache, wenn Deine KArte ILDA Format umsetzt. Habe mir nämlich jetzt Galvos gekauft, die darauf warten gute Bilder zu machen.
Gruß Sven

Laser? Was ist das? Licht aus super erschwinglichen Restbeständen

Benutzeravatar
fst-laser
Beiträge: 764
Registriert: Sa 02 Jun, 2001 12:00 pm
Wohnort: Gersthofen bei Augsburg

Re: Delays bei professioneller Software

Beitrag von fst-laser » Do 17 Jul, 2003 10:14 pm

Könnte man nicht via API, Windows mitteilen, das "mein" Programm die höchste Priorität erhalten soll? Ist halt die Frage wie's dann immernoch mit dem Timing aussieht, den Windows läuft ja weiter <img src="/images/graemlins/smirk.gif" alt="" />.
Gruß Flo
F S T Discohits, Laserrausch -
Laser Abheben in die Welt der Strahlen!

Suche einen Laser Physics - Reliant300WC Weißlichtlaser...

Benutzeravatar
ense
Beiträge: 37
Registriert: Di 08 Jul, 2003 10:32 pm
Wohnort: Jena

Re: Delays bei professioneller Software

Beitrag von ense » Fr 18 Jul, 2003 9:25 am

Prioritäten setzt man mit SetPriorityClass. Hab ich auch schon probiert, bringt aber nichts.
Irgendwann muss ja Windows mal das Programm unterbrechen, ansonsten würde ja das restl. System einfrieren.
@FST-Laser:
Wie hast du deine Delay-funktion gebastelt? Benutzt du den Windowstimer, den Multimediatimer oder z.B. QueryPerformanceCounter?

Gesperrt

Zurück zu „Software & Programmierung“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste