[SOUNDLIGHT LOGO] VISUAL PROGRAMMING CRASHKURS

Technik: DMX PrinterPort Interface ansprechen

Sie haben ein SOUNDLIGHT DMX PrinterPort Interface DMXPCP oder wollen sich eines zulegen? Gut, dann sollen Sie es ja auch benutzen können. Das PrinterPort Interface ist sehr einfach zu bedienen, es läßt sich handhaben wie ein Drucker.

Im Folgenden stellen wir Ihnen die Architektur und den Befehlssatz des Interfaces vor.

PrinterPort Interface
  • Wir schlagen vor, daß Sie dies Kapitel ausdrucken, nachdem Sie es mit Ihrem Internet-Browser geladen haben.
  • Die Beispieldateien können Sie am Ende des Kapitels laden, bitte beachten Sie dazu unbedingt die angegebenen Hinweise zur Installation.


.

Kompatibilität des PrinterPort Interface

Das SOUNDLIGHT DMX PrinterPort Interface DMXPCP ist ein Interface zum Anschluß an einen Centronics-kompatiblen Parallelport. Es kann mit allen Plattformen -vom 8086 bis zum 80686, Pentium, Celeron, aber auch Atari ST und anderen Rechnern mit einem entsprechenden Ausgang betrieben werden. Das Interface hat einen eigenen Prozessor und erzeugt das DMX-Timing völlig unabhängig vom Host-Rechner.

.

Architektur des Interface

Bei dem Interface handelt es sich um ein intelligentes Interface. Es geht in den Sendemodus, sobald die Stromversorgung angeschlossen ist.

Interner Aufbau

.

RAM-Aufteilung

Der Speicherbereich des Interface wird vom Host-Computer über die Schnittstelle sowie von der DMX-Eingangsschaltung beschrieben und von der DMX-Ausgangsschaltung ausgelesen. Die vom Computer gesendeten und vom Eingang empfangenen Daten können also zusammengemischt werden (data merging).

Die Speicheraufteilung wird vom Interface intern verwaltet und kann nicht durch den Anwender beeinflußt werden.

.

Kommunikation mit dem Interface

Die Kommunikation erfolgt über den Parallelport. Sofern Ihr Rechner per SETUP konfigurierbar ist, konfigurieren Sie bitte den benutzten Port auf STANDARD, nicht auf EPP oder Extended.

Das Zugriffstiming

.

Der Befehlssatz des Interface

Um das Interface erfolgreich in Betrieb nehmen zu können, sind keine speziellen Schritte erforderlich. Damit Daten gesendet werden, müssen lediglich die gewünschten Daten in das Interface übertragen werden.

BEFEHLSTABELLE
Kommando Hexadezimal Dezimal Beschreibung Hinweise
ESC C 1B 43 hi lo 27 67 hi lo Kanalzahl 001-512 (000= 100 Kanäle Default)
hi = INT (Kanalzahl/256)
lo = Kanalzahl - hi*256
ESC D 1B 44 hi lo nn dd... 27 68 hi lo nn dd... Sendedaten mit Beginn und Datensatzlänge count = Anzahl der folgenden Kanäle (1-255)
0 = 256 folgende Kanäle
hi = INT (Startkanalnummer/256)
lo = Startkanalnummer - hi*256
ESC d 1B 64 lo dd 27 100 lo dd Sendedaten für einen DMX-Kanal (001-256) lo = (Startkanalnummer - 1)
ESC e 1B 65 lo dd 27 101 lo dd Sendedaten für einen DMX-Kanal (257-512) lo = (Startkanalnummer - 257)
ESC F 1B 46 27 70 Factory Default 100 Kanäle, 88 us, StartByte 0
ESC G 1B 47 27 71 GO: DMX-Übertragung starten Default: EIN
ESC H 1B 48 27 72 HALT: DMX-Übertragung stoppen Default: AUS
ESC I 1B 49 72 73 Interface Initialisieren Löscht den gesamten DMX-Datenspeicher
ESC L 1B 4A hi lo 27 74 hi lo Länge für Empfangsdaten 001-512 (512 Default)
hi = INT (Länge/256
lo = Länge - hi*256
ESC O 1B 4F hi lo 27 79 hi lo Offset für Empfangsdaten (000-511) Default: 000
hi = INT (Offset/256)
lo = Offset - hi*256
ESC P 1B 50 vv 27 80 vv DMX-Daten in Speicher ablegen vv=0...7
ESC Q 1B 51 vv 27 82 vv DMX-Daten aus Speicher vv auslesen vv=0...7
ESC R 1B 52 hi lo 27 82 hi lo Empfangsstartadresse-1 (000.511) Default: 000
hi = INT (Adresse/256)
lo = Adresse - hi*256
ESC S 1B 53 vv 27 83 vv Startbyte-Wert vv=000...255
ESC T 1B 54 vv 27 84 vv Startsynchronisations-Timing vv=1...4 * 44 us
>88us Default
ESC W 1B 57 vv 27 87 vv Wiederholrate in ms vv = 10...50
10ms Default
ESC Z 1B 5A 27 90 Ausgabespeicher löschen (Zero)


Befehlsausführungszeiten
Programmierer sollten beachten, daß Befehle, die größere Speicherblöcke bearbeiten, längere Ausführungszeiten benötigen. Hiervon sind insbesondere folgende Kommandos betroffen:

BEFEHL Abarbeitungszeit Bemerkung
ESC F 12 ms Werksvoreinstellungen laden und Speicher löschen
ESC I 48 ms Interface initialisieren
ESC P 3,5 ms Datenblock übertragen
ESC Q 3,5 ms Datenblock übertragen
ESC Z 12 ms Interface löschen

Der interne Datenempfangspuffer des Interface kann 128 Bytes zwischenspeichern, die typische Abarbeitungszeit pro Byte beträgt 10...20 us.

Anwenderprogramm erstellen

Sie wissen nun alles, was Sie über die Organisation und Ansprache der Karte wissen müssen. Nun haben Sie weiter nichts zu tun, als Ihre Anwenderumgebung zu erstellen.

Daten können zu jeder Zeit an das Interface übermittelt werden. Um den Datenverkehr über den Flaschenhals "PrinterPort" gering zu halten, sollten Sie dabei nur die Kanäle senden, die mit jeweils neuen Werten belegt werden. Nachfolgend ein sehr einfaches Beispiel für die Übermittlung von Befehlen an das Interface:


ESC$ = CHR$(27) 'Definitionen
NULL$ = CHR$(0)(27)
LPRINT ESC$ + "I" 'Initialisieren
LPRINT ESC$ + "C" + NULL$ + CHR$(30) '30 Sendekanäle setzen
LPRINT ESC$ + "D" + NULL$ + NULL$ + CHR$(30); 'Einleitung Befehl 30 Kanäle Null setzen
FOR N=1 TO 30 '30x NULL senden
LPRINT NULL$;
NEXT N
LPRINT " " 'Befehl abschließen
LPRINT ESC$ + "D" + NULL$ + CHR$(5) + CHR$(1); 'Einleitung Befehl Kanal 5
LPRINT CHR$(255) 'Voll an und Befehl abschließen


Viel Erfolg beim Experimentieren! Kommentare und eigene Beiträge nehmen wir gern entgegen, mailen Sie einfach an





zurück zur [HOME]SOUNDLIGHT HOMEPAGE