USB-Ausgabekarte 12 Bit mit Framebuffer im Eigenbau

Selbstbau-Projekte aller Art.

Moderatoren: nohoe, lightwave, adminoli

Antworten
schobi
Beiträge: 272
Registriert: Mo 26 Sep, 2005 9:28 am
Wohnort: Regensburg
Kontaktdaten:

USB-Ausgabekarte 12 Bit mit Framebuffer im Eigenbau

Beitrag von schobi » So 08 Jan, 2006 12:38 am

Hallo Bastler,

nachdem ich mein Projekt vor einiger Zeit im Einsteigerforum erwähnt habe ist es mittlerweile so weit gediehen dass ich es hier mal offiziell vorstellen möchte.

Es handelt sich um eine USB-Ausgabekarte mit 12 Bit Auflösung für X/Y und 8 Bit für R/G/B. Maximale Scangeschwindigkeit liegt bei 70kpps. Dazu kommen 8 TTL-Ausgänge und DMX. Die Karte hat einen Framebuffer der exaktes Timing unabhängig vom steuernden Windows-Rechner gewährleistet.

Die Karte läuft zusammen mit HE-Laserscan und Mamba.
Ich denke speziell mit HE-Laserscan zusammen lassen sich für wenig Geld (dafür aber viel Lötarbeit) durchaus semiprofessionelle Ergebnisse erzielen.

Details, Bilder und Schaltplan liegen unter www.lumax.de

Viel Spaß beim lesen,
Tobias

Benutzeravatar
tschosef
Beiträge: 7955
Registriert: Mi 19 Nov, 2003 10:27 am
Do you already have Laser-Equipment?: 7 Projektoren, Tarm Two und DS 2000
7 x ShowNET in einem Gehäuse incl Switch
zwei alte Eigenbaukisten liegen noch im Keller rum.
Wohnort: Steinberg
Kontaktdaten:

Beitrag von tschosef » So 08 Jan, 2006 11:21 am

halli hallo...


ich sag nur COOOOLLL... vorallem das Treiberkonzept mit der *.mld... das öffnet doch schon mal viele Möglichkeiten.

bin schon auf weitere Ergebnisse gespannt... wie kommst mit den dll sachen vorran? "DMX... Strahlschalter"....

gruß
Erich
Schreibe nie etwas, was Du deinem Gegenüber nicht auch vor anderen Leuten ins Gesicht sagen würdest

Bin der Programmierer von Showeditor und HE-Laserscan
www.HE-Laserscan.de

Lasersoftware + Laserhardware

turntabledj
Beiträge: 2321
Registriert: Di 25 Dez, 2001 12:00 pm
Do you already have Laser-Equipment?: Selfmade 850mW RGB
Wohnort: Düsseldorf / Germany
Kontaktdaten:

Beitrag von turntabledj » So 08 Jan, 2006 12:01 pm

Hi Tobias,

nicht schlecht, was de da auf die Beine gestellt hast - auch wenn man sich die anderen Projekte auf deiner HP anguckt :shock:
Alle Achtung !

Bei dem ganzen Kabelkram unter der Leiterplatte frag ich mich allerdings, warum du bei sochen aufwendig zu verdreahtenden Schaltungen keinen Fädelstift mit Fädeldraht verwendest ?


Dann gibt's ja jetzt vermutlich bald die 3. USB-Ausgabe-Karte nach der Riya !?

Bei der Riya war ja ursprünglich mal die Integration einer Abspielfunktion für ILDA-Files auf ner CF-Karte geplant, was allerdings nie fertig umgesetzt wurde.

Gibt zwar schon "externe" Lösungen, aber bastelt vielleicht schon jemand an einer Kombi-Karte, wie es die Riya-USB mal hätte werden sollen ?

Grüße
Achim

Benutzeravatar
jojo
Beiträge: 1939
Registriert: Fr 21 Dez, 2001 12:00 pm
Do you already have Laser-Equipment?: -
Wohnort: Germany
Kontaktdaten:

Beitrag von jojo » So 08 Jan, 2006 2:59 pm

Zu der Beschreibung:
Allein mit einer kontinuierlich hohen Punktrate lässt sich noch keine gute Ausgabequalität sicherstellen. Die Framedaten müssen vom Steuerrechner auch schnell genug empfangen werden können. Es wäre eine Mogelpackung, Frames mit 70000 PPS zu scannen, wenn dabei die Framerate in die Knie geht, weil die Daten für den nächsten Frame nur noch langsam hereintröpfeln. Meine Angabe von 70000 Frames ist also so zu verstehen, dass dabei keine Frames wiederholt werden.
Ich habe das getestet, indem ich die Ausgabekarte als Soundkarte zum Abspielen von Wave-Dateien missbraucht habe. Dabei würde es sofort auffallen, wenn die Ausgabe ins Stocken gerät.
Hmm, also Hut ab, wenn Du wirklich auf Anhieb 70K mit dieser Architektur hinbekommen hast. Nur Deine Testangaben mit dem Soundfile macht mich jetzt etwas stutzig. Wie genau hast Du das mit einem Wavefile ermittelt? Einfach gemessene KBytes/Sek durch 8?
Hast Du die 70K auch als Laserausgabe erreicht, oder nur als "Testdatenstrom", ohne die richtige Ausgaberoutine XYRGB?

Bei 70K mit mindestens 6 (oder 8 ) Bytes pro Punkt benötigst Du mindestens 420KB bis 560KB /Sek.
Das ist zwar nichtmal 50% des USB, aber wenn man die Zeit für das "Abholen" der Daten vom USB und die Zeit der Punktausgabe (schreiben X,Y,R,G,B usw.) einbezieht, muss der Atmel da schon ganz schön ackern. Du hast 14 Mikrosekunden zum Rausschreiben der DACs und must in der Zwischenzeit Daten nachladen. Hast Du mal gemessen, wie lange Du für die reine Ausgaberoutine brauchst, also vermutlich Deine Timer-Interruptroutine? Wäre interessant. Wenn man diese Zeit hat, kann man sich anhand der Restzeit ausrechnen, was maximal nachzuladen geht.
Eventuell mal bei Beginn und Ende Routine einen freien Port setzen/löschen und mal messen.
Vom USB bekommst Du maximal 1 Byte/Mikrosekunde. Bei 70K müsstest Du also je Punkt 6x nachladen = 6 Mikrosekunden. Eher mehr, weil Du den FTDI vermutlich über Port pollen tust.
Da ich auch mit AVR arbeite, bin ich schon etwas überrascht, dass Du auf Anhieb soviel rausbekommst.

Also sind die 70K "echte Laserausgabe", oder nicht?

Joachim

schobi
Beiträge: 272
Registriert: Mo 26 Sep, 2005 9:28 am
Wohnort: Regensburg
Kontaktdaten:

Beitrag von schobi » So 08 Jan, 2006 6:52 pm

Hallo und danke für das Feedback!

@Erich
Du kannst es wohl schon nicht mehr erwarten dass Arbeit auf dich zukommt :wink: Ich arbeite weiter an der DLL, wenn auch nicht mit höchster Priorität, denn mit dem MLD-Treiber geht ja immerhin schon was.

@Achim
Wenn dann eher mit SD-Karte als CF, das sind viel weniger Pins, und Verdrahtung gehört nicht so zu meinen Stärken wie du festgestellt hast :lol: Der Bauteilaufwand wäre minimal, aber dafür viel Firmware, und ich persönliche habe momentan nicht so den Bedarf an Stand-Alone-Geräten.

@Joachim
Fühle mich geehrt ein Lob vom Easylase-Entwickler zu kriegen. Deine Formulierung "auf Anhieb" ist allerdings nicht ganz zutreffend. Hat mich schon viel Zeit gekostet bis die Sache am laufen war... Bin mir nicht sicher ob ich deine Frage mit dem Testdatenstrom richtig verstehe. Aber es ist schon so gemeint dass die 70k sich auf echte Laserausgabe XYRGB TTL beziehen, wäre sonst ja irgendwie sinnlos? Also die Karte empfängt 7*70000=490kB pro Sekunde und nebenher werden die Punkte natürlich auch ausgegeben mit 70k. Es ist richtig dass der Atmel dabei ganz schön ackern muss. Bei den Optimierungen habe ich um jeden eingesparten Clock-Zyklus gekämpft. Aber ein leistungsfähigerer Prozessor wäre für mich nicht in Frage gekommen, ich kenne mich halt nur mit den AVR's aus.

Schönen Abend,
Tobias

schobi
Beiträge: 272
Registriert: Mo 26 Sep, 2005 9:28 am
Wohnort: Regensburg
Kontaktdaten:

Beitrag von schobi » So 08 Jan, 2006 7:03 pm

kann man post auch wieder löschen? anscheinend nicht...
Zuletzt geändert von schobi am So 08 Jan, 2006 7:05 pm, insgesamt 2-mal geändert.

andi f
Beiträge: 63
Registriert: Fr 05 Dez, 2003 10:35 pm
Wohnort: Germany/BY/Fuerth

Beitrag von andi f » So 08 Jan, 2006 7:04 pm

Hallo Schobi,

sehr nette Arbeit. Ehrlich gesagt hätte ich nicht gedacht, dass der kleine AVR dafür ausreicht. Doch offensichtlich hast Du es hinbekommen.

Noch ein TIP: Nicht beschaltete Eingänge verursachen einen höheren Stromverbrauch und evt. auch Störungen. Deshalb die Eingänge von IC3A und IC15A/B beschalten. Z.B. alles auf Masse legen. Einen der Gleichrichter hättest Du zudem sparen können. Das sind aber nur Feinheiten ohne Einfluss auf die Funktion der Schaltung.


Viel Erfolg bei den weiteren Tests,
Andi F.

Antworten

Zurück zu „Allgemeine Selbstbau-Projekte“

Wer ist online?

Mitglieder in diesem Forum: Ahrefs [Bot] und 5 Gäste