MIDI, DMX-512, RS-232 USB, HID,
Transcription
MIDI, DMX-512, RS-232 USB, HID,
Skriptum Medientechniklabor HID Human Interface Device MIDI, DMX-512, RS-232 USB, HID, ... DI. M. Meschik 1 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor Inhalt 0 Inhaltsverzeichnis 0 1 2 3 4 5 6 7 Inhaltsverzeichnis............................................................................................................... 2 Ziele dieses Unterrichtsgegenstandes................................................................................. 3 ADC DAC .......................................................................................................................... 4 2.1 Allgemeines................................................................................................................ 5 2.2 Das Abtasttheorem ..................................................................................................... 5 2.3 DAC (digital analog conversion) ............................................................................... 5 2.4 ADC (analog digital conversion) ............................................................................... 6 2.4.1 Wie wird ein Byte übertragen?........................................................................... 6 Die RS-232 Schnittstelle .................................................................................................... 7 3.1 Allgemeines................................................................................................................ 7 3.2 RS-232 Hardware Schnittstelle .................................................................................. 7 3.3 Datenformat................................................................................................................ 8 3.3.1 Wie wird ein Byte übertragen?........................................................................... 8 3.4 HID und Steuerungen über RS-232 ........................................................................... 9 3.5 Weitere Informationen zu RS-232 ............................................................................. 9 Die MIDI-Schnittstelle..................................................................................................... 10 4.1 Allgemeines.............................................................................................................. 10 4.2 MIDI-Interface Hardware ........................................................................................ 11 4.3 Datenübertragung allgemein .................................................................................... 12 4.3.1 Beispiel Note-On.............................................................................................. 12 4.3.2 Channel Voice Messages ................................................................................. 13 4.3.3 Channel Mode Messages.................................................................................. 16 4.3.4 System Messages.............................................................................................. 17 Die DMX-512 Schnittstelle.............................................................................................. 20 5.1 Allgemeines.............................................................................................................. 20 5.2 DMX-512 Hardware Schnittstelle............................................................................ 20 5.3 Datenformat.............................................................................................................. 21 5.3.1 Addressierung der einzelnen Teilnehmer......................................................... 23 5.3.2 Teilnehmer am DMX-512 Bus......................................................................... 24 5.3.3 Vor- und Nachteile von DMX-512 .................................................................. 24 5.3.4 Weitere Informationen zu DMX-512............................................................... 24 Übungen ........................................................................................................................... 25 6.1 Für alle Übungen gilt: .............................................................................................. 25 6.2 Übung 1: RS-232 1 (RS-232 was ist das, wofür benötige ich das? ......................... 25 6.3 Übung 2: RS-232 2................................................................................................... 26 6.4 Übung 3: RS-232 3................................................................................................... 26 6.5 Übung 4: MIDI 1 (MIDI-Daten sichtbar machen) ................................................... 27 6.6 Übung 5: MIDI 2...................................................................................................... 27 6.7 Übung 6: MIDI 3...................................................................................................... 28 6.8 Übung 7: MIDI 4...................................................................................................... 28 6.9 Übung 8: DMX-512 1 (DMX-512 Daten sichtbar machen) .................................... 28 6.10 Übung 9: DMX-512 2 .............................................................................................. 29 6.11 Übung 10: DMX-512 + MIDI 3............................................................................... 29 6.12 Übung 11-12: DMX-512 + MIDI 4 + 5 ................................................................... 30 6.13 Übung 13: DMX-512 + MIDI 6............................................................................... 30 Abbildungsverzeichnis ..................................................................................................... 31 DI. M. Meschik 2 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor Allgemeines 1 Ziele dieses Unterrichtsgegenstandes Ziel ist es, unterschiedliche Schnittstellenarten, die in der Medientechnik Verwendung finden, kennen zu lernen. Zu Beginn gibt es eine kurze Einführung in die Technik der Analog-Digital-, und Digital-Analog-Wandlung, die in mehreren Bereichen der Medientechnik zur Anwendung kommen. MIDI, DMX-512, RS232, sollen kurz in der Hardwareschicht beleuchtet werden. Das Übertragungsformat der einzelnen Schnittstellen wird nähergebracht. Im Laborbetrieb wird es auch möglich sein, mittels Oszilloskop, die übertragenen Daten sichtbar zu machen. Jedes dieser Formate wird kurz im Aufbau besprochen und die einzelnen Übertragungssequenzen verständlich dargestellt. Im Zuge mehrerer Übungsblöcke werden die einzelnen Schnittstellen durch Ansteuerung diverser Geräte wie Synthesizer, MIDI-Expander, DMX-Lichtcontroller usw. durch unterschiedliche Eingabegeräte (HIDs = Human Interface Devices) in Betrieb genommen. Die Teilnehmer lernen dabei eine vollständige Übertragungskette beginnend vom Eingabegerät, einfacher Hardware über die Verkabelung bis zum anzusteuernden Gerät kennen. Natürlich werden die Übungen durch unterschiedliche Programme am PC unterstützt. Diese Programme dienen auch zur Ansteuerung diverser Geräte. Am Ende soll der Teilnehmer eigenständig den Einsatz von MIDI für Musik und DMX512 für Lichtsteuerung planen und in ein Gesamtkonzept integrieren können. Es ist nicht gedacht eigene Kontroller selbst zu erstellen aber der Teilnehmer soll im Stande sein, aus einer Liste von Geräten die geeigneten herauszusuchen. Im „Mutimedialen Einsatz“ von Technik für Vorträge, Auftritte, Präsentationen usw. ist es heutzutage erforderlich, nicht nur PCs und diverse Software einzusetzen, sondern auch „Light And Sound“ je nach Gegebenheit abzustimmen. DI. M. Meschik 3 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor ADC-DAC 2 Signalverlauf 2.1 Der Weg vom Analogen zum Digitalen 2.2 xxx 3 Filter 3.1 Tiefpass 3.2 Hochpass 3.3 Bandpass 3.4 Bandsperre 4 ADC DAC 4. Klasse Andi Grundlagen Schall, ADC, DAC, Abtasttheorem, Hardware Sound, analog, digital, Programme, DI. M. Meschik 4 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor ADC-DAC Magic: 38 Wochen 4 Stunden / 3 = 50 => ich habe 1/6 = 25 Stunden. 2 12 Stunden Blöcke 3x4 Std. bei mir Grundlagen, ADC, DAC, Serielle, MIDI, DMX512, USB, Firewire 5. Klasse Praxis 4.1 Allgemeines Sowohl im Audio- als auch im Videobereich werden analoge Signale digitalisiert, damit diese im PC verarbeitet werden können. Im HID-Bereich ist das ebenfalls der Fall, da analoge Signale z.B. von Temperatursensoren, Neigungssensoren, druckabhängigen Tastern usw. mittels ADC in für den PC verständliche Form gebracht werden muss. Liegt das Signal in digitaler Form vor, kann es mit unterschiedlichen Programmen weiterverarbeitet, gespeichert, verändert und nach einer DAC wiedergegeben bzw. ausgegeben werden. Jede eingebaute Soundkarte beinhaltet programmierbare Filter, ADC und DAC, die mit der CPU kommunizieren. Im Zuge dieser Vorlesungsübung wird auf diverse Eigenheiten eingegangen werden. 4.2 Das Abtasttheorem Abb. 1: Abtasttheorem 4.3 DAC (digital analog conversion) DI. M. Meschik 5 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor ADC-DAC 4.4 ADC (analog digital conversion) 4.4.1 Abtast-Halteglied (Sample & Hold) 4.4.2 ADC nach dem Verfahren der Nachlaufsteuerung 4.4.3 ADC nach dem Verfahren der „sukzessiven Approximation“ 4.4.4 Der Flash-Konverter 4.4.5 Wie wird ein Byte übertragen? DI. M. Meschik 6 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor RS-232 5 Die RS-232 Schnittstelle 5.1 Allgemeines Die RS-232 Schnittstelle ist eine der einfachsten, um zwei Geräte miteinander zu verbinden. Die Übertragungsgeschwindigkeit hält sich in Grenzen, sodass diese Schnittstelle dort eingesetzt wird, wo nur wenige Informationen ausgetauscht werden müssen. Es können bei dieser Schnittstelle nur zwei Geräte miteinander verbunden werden. Die Übertragung ist voll Duplex (gleichzeitiges Senden und Empfangen möglich). Außerdem handelt es sich um eine asynchrone Übertragung, da kein eigener Takt mitgesendet wird. Die zu üertragenden Daten werden mittels Pegelkonverter von +5V auf ca. –10V und von 0V auf ca +10V umgesetzt (siehe nächstes Bild). Eine logische „0“ wird auf der RS-232 Leitung als Spannung zwischen +3 bis +15V und eine logische „1“ als Spannung zwischen –3 bis –15V abgebildet. Heutzutage wird vorwiegend eine USB (Universal Serial Bus) eingesetzt, der aber hier den Rahmen des Unterrichtsgegenstandes sprengen würde. Es wird in unseren Geräten ein sogenannter USB-Serial Umsetzer eingesetzt, der es ermöglicht per Programm eine „pseudo“-Serielle Schnittstelle anzusprechen, obwohl es sich eigentlich um ein USB-Device handelt (Beispiel „Sundance“). 5.2 RS-232 Hardware Schnittstelle Abb. 2: Serielle Schnittstelle mit Pegelkonverter DI. M. Meschik 7 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor RS-232 5.3 Datenformat 5.3.1 Wie wird ein Byte übertragen? Startbit 8 Datenbits Stopbit 0 1 2 3 4 5 6 7 LSB MSB Jedes Byte (8 Bit) wird seriell übertragen. Die Sendung beginnt mit einem „Startbit“ (logisch Low) danach folgen die „acht Datenbits“, wobei das LSB (Least Significant Bit) zuerst gesendet wird. Abgeschlossen wird die Übertragung der acht Datenbits von einem, ein-einhalb oder zwei „Stopbit“ (logisch High). Übertragungsgeschwindigkeiten: Die Baudrate bei der RS-232 Schnittstelle kann eingestellt werden. Unter der Baudrate versteht man die Anzahl von übertragenen Bits pro Sekunde. Nicht alle beliebigen Baudraten sind wählbar, es können nur bestimmte, genormte eingestellt werden: Baudraten 110; 300 1200; 2400, 4800 9600 19200 (19,2 kBaud) 38400 57600 115200 (115,2 kBaud) 230400; 460800; 921600 Verwendung Bei alten Fernschreibern (heute nicht mehr verwendet) Wenn nur wenige Daten übertragen werden müssen Standard bei diversen Peripheriegeräten Standard bei diversen Peripheriegeräten Eher selten anzutreffen Verwendung für höhere Datenströme Bisher höchste Baudrate, die von nahezu allen Rechnern noch unterstützt wird. Sollten nur in seltenen Fällen, nur mit speziellen Kabeln verwendet werden, da sonst Datenfehler auftreten. Es gilt, das die Baudrate höher gewählt werden kann, je kürzer die Verbindung von einem Gerät zum anderen ist. Grund dafür sind die parasitären Leitungseigenschaften wie Kapazitäten und Induktivitäten und die auftretenden Reflexionen an den Enden der Leitung, die das ursprüngliche Signal verfälschen können. DI. M. Meschik 8 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor RS-232 5.4 HID und Steuerungen über RS-232 Für unsere Belange ist die Schnittstelle interessant, da wir fertige Hardware verwenden, die von der ET und ME entwickelt wurde. Wir können diverse Sensoren oder Schalter z.B. am Sundance-Interface anschließen und per Programm auswerten und damit interaktiv Steueraufgaben übernehmen. Eine Produktpräsentation wird somit für den Kunden zum Erlebnis. Auf der Anderen Seite dient eine sogenannte Relaisbox als Ein- Ausgabegerät, mit dem es möglich ist diverse Aktoren (Lampen, Motore, Effekte, ...) ein- und auszuschalten. Man stelle sich ein Multimediales Präsentationsterminal vor, das einen Themenbereich vorstellen soll. Beispiel unsere HTL. Es werden nicht nur Bilder und Filme am PC ablaufen, sondern auch mittels Lampen diverse Werkstücke beleuchtet, die von SchülerInnen hergestellt worden sind. Oder es wird ein multimediales, auch mit mechanischen Dingen animiertes, Spektakel erstellt (Themenparks, Wellnessräume, Ausstellungen, Geisterbahn, ...) Der Phantasie sind keine Grenzen gesetzt. 5.5 Weitere Informationen zu RS-232 http://www.camiresearch.com/Data_Com_Basics/RS232_standard.html http://www.arcelect.com/rs232.htm http://dbserv.maxim-ic.com/appnotes.cfm/appnote_number/723 http://www.lvr.com/serport.htm DI. M. Meschik 9 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor MIDI 6 Die MIDI-Schnittstelle 6.1 Allgemeines MIDI steht für Musical Instrument Digital Interface und wird in der elektronischen Musikinstrumentenbranche eingesetzt. Diese Beschreibung kann und soll keineswegs vollständig sein. Sie dient eher als Nachschlagewerk für die wichtigsten Elemente der MIDI-Schnittstelle und der MIDIDatenübertragung. Immer wieder wurden Stimmen laut, MIDI sei, wegen der nicht allzu hohen Übertragungsrate, überholt, doch wird sich diese Schnittstelle weiterhin in der elektronischen Musikbranche behaupten. Die Schnittstelle arbeitet Voll Duplex. Das bedeutet, Senden und Empfangen ist gleichzeitig möglich. Außerdem handelt es sich um eine asynchrone Übertragung, da kein eigener Takt mitgesendet wird. Vor der Standardisierung hatten alle Hersteller elektronischer Musikinstrumente mit dem Problem zu kämpfen, wie die eigenen Geräte oder Geräte unterschiedlicher Hersteller miteinander kombiniert werden können. Alte Synthesizer bzw. elektronische Tasteninstrumente wurden mit „einem Volt pro Oktave“ gesteuert. Das bedeutet, dass jeder Tastendruck eine analoge Spannung erzeugte und mittels Kabel von einem Gerät zum nächsten diese Spannung übertragen wurde. Beim Empfänger wurde ein Ton entsprechend dieser analogen Spannung erzeugt. Es ist leicht vorstellbar, dass durch äußere Einflüsse niemals derselbe Spannungswert, der ausgesendet wurde am Empfänger ankam. Das äußerte sich so, dass die Tonhöhe, je nach Länge der Leitung, höher oder tiefer ausfiel als geplant. Ein weiterer Nachteil war, das für jede Taste eine Leitung verlegt werden musste, damit „polyphon“ gespielt werden konnte. Nachdem auch jeder Hersteller andere Steckverbindungen verwendete, war ein Zusammenschließen von Geräten unterschiedlicher Hersteller nicht ohne weiteres möglich. Um diese Missstände zu beseitigen, schlossen sich die führenden Musikgerätehersteller zusammen und erarbeiteten den MIDI-Standard in seiner ersten Version. In diesem Standard legte man ein serielles Protokoll zu Grunde, mit dem es möglich war Geräte unterschiedlicher Hersteller zu verbinden. Wie noch genauer erklärt wird, handelt es sich bei MIDI um ein Format, bei dem einige, wenige Bytes übertragen werden und damit Informationen von einem Gerät zum anderen gelangen, z.B. wann, welche Taste und mit welcher Anschlagdynamik gedrückt wird. Es werden auch Befehle wie „Programm Change“ übertragen, mit denen es möglich ist zwischen einzelnen Klängen wie Piano, Orgel, Flöte usw. zu wechseln. DI. M. Meschik 10 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor MIDI Spätestens zu diesem Zeitpunkt war klar, dass der MIDI-Standard noch erweitert werden musste. Die Noten wurden zwar korrekt übertragen, jeder Hersteller hatte aber unterschiedliche Klangzuordnungen. Wenn beispielsweise mit einem „Programm Change“ das erste angesprochene Gerät ein Klavier spielte, war aus dem zweiten Gerät eine Orgel zu hören. Es wurde der sogenannte GM- (General MIDI) Standard eingeführt, bei dem jeder Programmnummer eindeutig ein bestimmtes Instrument zugeordnet ist. Seither ist bei allen Geräten auf Programm Nummer 0 ein Klavier (je nach Preisklasse in besserer oder schlechterer Qualität) zu hören. Nachdem MIDI auf 16 unterschiedlichen Kanälen (technisch gesehen eigentlich 0 – 15) senden kann, wurde auch festgelegt, dass auf Kanal 10 immer die Schlagzeugspur sein sollte. Auch hier gibt es eine eindeutige Zuordnung einzelner Schlagzeuginstrumente zu den einzelnen MIDI-Noten. Base-Drum, Snare-Drum, Bongos, Congas, ... sind immer mit der gleichen Note-On Information abrufbar. Wichtig bei allen MIDI fähigen Geräten ist die sogenannte „MIDI Implementation Chart“ (MIDI Funktionsliste) in der stehen muss, welche MIDI-Befehle von diesem Gerät ausgewertet werden und welche nicht. Viele Geräte können heutzutage viele Stimmen auf mehreren (bis zu 16) Kanälen produzieren z.B. 32 oder 64. Dies geschieht mit dynamischer Stimmenvergabe, das bedeutet, dass entsprechend viele Töne (auch von einem Instrument mehrere) gleichzeitig produziert werden können. 6.2 MIDI-Interface Hardware Abb. 3: MIDI-Hardware mit MIDI-In und MIDI-Out DI. M. Meschik 11 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor MIDI Bei einer MIDI-Schnittstelle unterscheidet man zwischen MIDI-In, MIDI-Out und MIDIThru. Über MIDI-In kommen die MIDI-Daten in das Gerät und laufen zuerst über einen Optokoppler. Dieser Optokoppler dient der galvanischen Trennung von Geräten. Über MIDI-Out werden die MIDI-Daten zu anderen Geräten gesendet. Über MIDI-Thru werden die Daten, die über MIDI-In empfangen werden, nach dem Durchlauf eines Treiberbausteins, unverändert ausgesendet. Eine MIDI-Thru Buchse ist nicht in der Hardware eingezeichnet, da es viele Geräte gibt, die nur MIDI-In und MIDI-Out besitzen. 6.3 Datenübertragung allgemein Die Daten bestehen aus sogenannten Statusbytes (MSB ist immer logisch „1“) und Datenbytes (MSB ist immer logisch „0“). 6.3.1 Beispiel Note-On Achtung! Unterscheidung wie die Daten dargestellt werden und wie diese über die Schnittstelle physikalisch übertragen werden. MIDI-Informationen werden in vielen Publikationen wie folgt dargestellt: Note On 1 0 0 1 n n n n Statusbyte 9n DI. M. Meschik 0 k k k k k k k Note Number (0-127) 12 0 v v v v v v v Velocity (0-127) HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor MIDI 6.3.1.1Wie wird ein Byte übertragen? Startbit 8 Datenbits Stopbit 0 1 2 3 4 5 6 7 LSB MSB Jedes Byte (8 Bit) wird seriell übertragen. Die Sendung beginnt mit einem „Startbit“ (logisch Low) danach folgen die „acht Datenbits“, wobei das LSB (Least Significant Bit) zuerst gesendet wird. Abgeschlossen wird die Übertragung der acht Datenbits von einem „Stopbit“ (logisch High). Übertragungsgeschwindigkeit von MIDI: Die Baudrate bei MIDI beträgt 31250 Baud bzw. 31,25 kBaud. Unter der Baudrate versteht man die Anzahl von übertragenen Bits pro Sekunde. 6.3.1.2Sequenz für das Einschalten einer einzelnen Note n n n n 1 0 0 1 k k k k k k k 0 v v v v v v v 0 Abb. 4: Übertragung des Befehls „note on“ Zu Beachten ist, dass zuerst ein Statusbyte für „note-on“ übertragen wird (LSB first) und dann die beiden Datenbytes für „note number“ und „velocity“. 6.3.2 Channel Voice Messages Note Off 1 0 0 0 n n n n Statusbyte 8n 0 k k k k k k k Note Number (0-127) 0 v v v v v v v Velocity (0-127) 0 k k k k k k k Note Number (0-127) 0 v v v v v v v Velocity (0-127) Note On 1 0 0 1 n n n n Statusbyte 9n DI. M. Meschik 13 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor MIDI Aftertouch polyphon 1 0 1 0 n n n n Statusbyte an 0 k k k k k k k Note Number (0-127) 0 v v v v v v v Value (0-127) Control Change 1 0 1 1 n n n n Statusbyte bn 0 c c c c c c c Ctrl. Number (0-127) 0 V v v v v v v Value (0-127) Program Change 1 1 0 0 n n n n Statusbyte cn 0 p p p p p p p Prog. Number (0-127) After Touch 1 1 0 1 n n n n Statusbyte dn 0 v v v v v v V value (0-127) Pitch Wheel 1 1 1 0 n n n n Statusbyte en 0 v v v v v v v LSB (0-127) 0 v v v v v v v MSB (0-127) 6.3.2.1Bemerkungen „nnnn“ „kkk kkkk“ „vvv vvvv“ „ccc cccc“ DI. M. Meschik Chanel number - Kanalnummer der Stimme, wobei folgendes gilt 0000 MIDI Kanal 1 0001 MIDI Kanal 2 0010 MIDI Kanal 3 .... 1111 MIDI Kanal 16 Note number – MIDI Notennummer (0 – 127) Kkk kkkk = 60d (=> 3ch) entspricht dem mittleren „C“ am Keyboard Das tiefste „C“ am Klavier ist z.B. 12d Key velocity – Anschlagsdynamik. vvv vvvv = 00d => Ton nicht zu hören vvv vvvv = 64d => mittlere Lautstärke vvv vvvv = 127d => volle Lautstärke Control number – Steuernummer für unterschiedliche Regler und Schalter. Genaue Beschreibung siehe weiter unten. 14 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor MIDI 6.3.2.1.1 Control Number Die Control-Numbers (Steuernummern) sind nicht bestimmten Reglern zugeordnet. Je nach Hersteller können aber mehr oder weniger Controller gesteuert werden. ccc cccc 0 1 2 3 4-31 32 33 34 35 36-63 64-95 96-121 122-127 Art des Controllers Continuos Controller / Regler Continuos Controller / Regler - Modulationsrad Continuos Controller / Regler Continuos Controller / Regler Continuos Controller / Regler Continuos Controller / Regler Continuos Controller / Regler – Modulationsrad Continuos Controller / Regler Continuos Controller / Regler Continuos Controller / Regler Switches (On/Off) / Schalter (an/aus) Nicht definiert Reserviert für Channel Mode Messages Byte MSB MSB MSB MSB MSB MSB LSB LSB LSB LSB Die Continuos Controller sind in ein höherwertiges Byte (MSB) und ein niederwertiges Byte (LSB) gegliedert. Werden für die Übermittlung des gesamten Bereichs eines Reglers nur sieben Bit benötigt, wird ausschließlich das MSB gesendet. In diesem Fall muss das LSB nicht gesendet werden. Bei vielen Infos hintereinander kann das immer wieder Senden des Statusbytes entfallen, bis ein anderer Status benötigt wird. Bei den Switches gilt: 0 = aus, 127 = ein; Die Werte von 1 – 125 werden ignoriert. DI. M. Meschik 15 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor MIDI 6.3.3 Channel Mode Messages Local On 1 0 1 1 n n n n Statusbyte bn 0 c c c c c c c Ctrl. Number 122 0 v v v v v v v Value 127 0 c c c c c c c Ctrl. Number 122 0 v v v v v v v Value 0 0 c c c c c c c Ctrl. Number 123 0 v v v v v v v Value 127 Local Off 1 0 1 1 n n n n Statusbyte bn All Notes Off 1 0 1 1 n n n n Statusbyte bn Omni Off - All Notes Off 1 0 1 1 n n n n Statusbyte bn 0 c c c c c c c Ctrl. Number 124 0 v v v v v v v Value 0 Omni On - All Notes Off 1 0 1 1 n n n n Statusbyte bn 0 c c c c c c c Ctrl. Number 125 0 v v v v v v v Value 0 Mono On - Poly Off - All Notes Off 1 0 1 1 n n n n Statusbyte bn 0 c c c c c c c Ctrl. Number 126 0 v v v v v v v Number of channels Mono Off - Poly On - All Notes Off 1 0 1 1 n n n n Statusbyte bn DI. M. Meschik 0 c c c c c c c Ctrl. Number 127 16 0 v v v v v v v Number of channels HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor MIDI 6.3.4 System Messages 6.3.4.1System Exclusiv System Exclusive 1 1 1 1 0 0 0 0 Statusbyte f0 0 i i i i i i Hersteller ID (0-127) i Nach dieser Sequenz folgen beliebig viele Datenbytes (MSB = 0). Diese werden mit dem Kommando EOX (end of System Exclusive Daten) abgeschlossen. 6.3.4.2System Common Not Defined 1 1 1 1 0 0 0 1 Statusbyte f1, f4, f5 Song Position Pointer 1 1 1 1 0 0 1 0 Statusbyte f2 0 c c c c c c c LSB 127 0 h h h h h h h MSB Song Select 1 1 1 1 0 0 1 1 Statusbyte f3 0 s s s s s s s Song Number (0-127) Tune Request 1 1 1 1 0 1 1 0 Statusbyte f6 EOX - End Of Exclusive 1 1 1 1 0 1 1 1 Statusbyte f7 DI. M. Meschik 17 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor MIDI Bemerkungen: Song-Position-Pointer: Es handelt sich dabei um ein internes Register, das die Anzahl der seit dem Songanfang vergangenen MIDI-Beats (1 Beat = 6 MIDI Clocks) führt EOX wird benutzt, um das Ende einer System-Exclusive-Message anzuzeigen. 6.3.4.3System Real Time Timing Clock 1 1 1 1 1 0 0 0 Statusbyte f8 Nicht definiert 1 1 1 1 1 0 0 1 Statusbyte f9 Start 1 1 1 1 1 0 1 0 Statusbyte fa Continue / Wieder fortsetzen 1 1 1 1 1 0 1 1 Statusbyte fb Stop 1 1 1 1 1 1 0 0 Statusbyte fc Nicht definiert 1 1 1 1 1 1 0 1 Statusbyte fd Active Sensing 1 1 1 1 1 1 1 0 DI. M. Meschik 18 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor MIDI Statusbyte fe Reset 1 1 1 1 1 1 1 1 Statusbyte ff Bemerkungen: Die System-Realtime-Messages dienen zur Synchronisation des Systems in Realtime. Diese Statusbytes können jederzeit und zwischen beliebigen Bytes (auch z.B. zwischen dem NOTE-ON-Befehl) eingefügt werden. Active Sensing wird in Abständen von max. 300ms gesendet, wenn sonst keine MIDI-Daten übertragen werden. 6.3.4.4Weitere Informationen zu MIDI http://www.gweep.net/~prefect/eng/reference/protocol/midispec.html http://www.sfu.ca/sca/Manuals/247/midi/MIDISpec.html http://www.fortunecity.com/tinpan/faithfull/379/midispec1.0.html http://www.borg.com/~jglatt/tech/midispec.htm DI. M. Meschik 19 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor DMX-512 7 Die DMX-512 Schnittstelle 7.1 Allgemeines Der Name DMX-512 führt daher, dass am Bus eine entsprechende Anzahl von Teilnehmern angeschlossen werden können. Eigentlich sind es nur 511 Kanäle, da der Kanal 0 zur Start-Sequenz gehört. Die Übertragungsart ist bei DMX-512 nur simplex. Das bedeutet, die Übertragung kann nur in einer Richtung erfolgen. Das wird als größter Nachteil beim DMX-512 angesehen, da es kein Feedback gibt, ob die Daten, die ich gesendet habe, auch am Empfänger angekommen sind. Außerdem handelt es sich um eine asynchrone Übertragung, da kein eigener Takt mitgesendet wird. Beim DMX-512 können mehrere Teilnehmer parallel an den Leitungen angeschlossen werden. Im Gegensatz zu MIDI, bei dem das Signal für MIDI-Thru verstärkt werden muss, sind bei DMX-512 alle Teilnehmer (Gruppen zu ca. 32, Erklärung folgt später) parallel, ohne Zusatzelektronik einfach miteinander zu verbinden. 7.2 DMX-512 Hardware Schnittstelle Abb. 5: Blockschaltung für DMX-512 Es handelt sich um eine symmetrische Schnittstelle. Die Treiberbausteine steuern die Leitungen symmetrisch an. Es werden die Spannungsdifferenzen zwischen den Leitungen ausgewertet und nicht die Spannungen gegen Masse. Dieser Bus ist sehr DI. M. Meschik 20 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor DMX-512 störsicher. Es können große Datenmengen mit einer hohen Übertragungsgeschwindigkeit übertragen werden. Um Reflexionen am Ende der Leitung zu vermeiden, muss ein sogenannter „Terminator“ (Abschlusswiderstand) eingebaut werden. Bei jedem Empfänger gibt es eine DMX-In Buchse und eine DMX-Out Buchse, wobei diese im Gerät direkt miteinander verbunden sind. Die angeschlossenen Geräte sind also parallel. Vom Sender her (z.B. Lichtpult) ist eine entsprechende Treiberleistung vorhanden, sodass maximal 32 Teilnehmer angeschlossen werden können. Danach muss mit einem sogenannten „Repeater“ (aktive Elektronik, die Signale verstärkt) die Treiberleistung für die nächsten 32 Teilnehmer zur Verfügung gestellt werden. 7.3 Datenformat Abb. 6: DMX-512 Datenformat Übertragungsgeschwindigkeit von DMX-512: Die Baudrate bei DMX-512 beträgt 250000 Baud bzw. 250 kBaud. Unter der Baudrate versteht man die Anzahl von übertragenen Bits pro Sekunde. Die Übertragung beginnt mit einer Pause, MAB und einer „Startcondition“ siehe nächstes Diagramm. Jedes Byte für die einzelnen Teilnehmer (8 Bit) wird seriell übertragen. Das Datenformat für jedes einzelne Gerät beginnt mit einem „Startbit“ (logisch Low) danach folgen die „acht Datenbits“, wobei das LSB (Least Significant Bit) zuerst gesendet wird. Abgeschlossen wird die Übertragung der acht Datenbits von zwei „Stopbits“ (logisch High). Das folgende Diagramm ist vom Internet übernommen und zu finden unter: www.dmx512-online.com/packt.html Es darf nur für eigene Zwecke verwendet werden und darf nicht kopiert werden. DI. M. Meschik 21 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor DMX-512 Abb. 7: DMX-512 Timing-Diagram Der Aufbau von DMX-512 ist in diesem Diagramm mit den entsprechenden Zeiten sehr ausführlich dargestellt. DI. M. Meschik 22 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor DMX-512 Bemerkungen: MTBP – Idle (Mark Time Between Pakets): Das Signal ist standardmäßig auf High, wenn keine Daten gesendet werden. Diese Zeit kann von 0 bis 1 sec gehen. Break: Der Start jedes DMX-512 Pakets wird mit einem Break (logisch Null) eingeleitet. Die Zeit für Break muss mindestens 88 µs und darf maximal 1 sec lang sein. MAB (Mark After Break): MAB folgt direkt nach dem Break und ist 2 Bits lange auf High (8 µs). Früher war MAB nur 4µs lang, wodurch aber Probleme bei den Empfängern auftraten. (MAB kann eine Länge bis 1sec bekommen, in der Literatur werden teilweise 12µs angenommen). SC (Start Code): Der Start Code ist eigentlich der “NULLTE” Teilnehmer im DMX-512 Protokoll. Das bedeutet wir haben ein Startbit (log. Null für 4µs), 8 datenbits, wobei der Wert hier immer 00h sein muss, gefolgt von zwei Stopbits (log. High für 8us). In Summe ist der Start Code 11 x 4µs = 44µs lang. MTBF (Mark Time Between Frames): MTBF befindet sich zwischen den einzelnen Kanälen und kann von 0 bis 1 sec dauern. Das bedeutet, dass der nächste Kanal gleich anfolgend sein kann oder eine Pause bis zu 1 sec (log. High) eingefügt werden kann. CD (Channel Data): CD folgt dem Start Code in einer logischen Reihenfolge von 1 bis 512 oder weniger, je nachdem, wie viele Teilnehmer angeschlossen sind oder wie viele Kanäle ausgesendet werden. Es gilt dabei das Selbe wie für den Start Code nur dass die Daten hier von 00h bis ffh gehen können. 7.3.1 Addressierung der einzelnen Teilnehmer Es ist wichtig zu wissen, dass beim DMX-512 Protokoll die Adressen für die Teilnehmer nicht explizit angegeben werden. Das erste Byte nach dem Start Code wird automatisch als das Datenpaket für den Kanal 1 im Empfänger interpretiert, das nächste Datenpaket gilt für Kanal 2 usw. bis zum Kanal 512 oder weniger! Auf den Empfängern (z.B ein Lampendimmer) kann die sogenannte Startadresse eingestellt werden, ab der diese Lampe angesprochen werden soll. Ist z.B „1“ eingestellt, wird das erste Datenpaket nach dem Start Code von diesem Empfänger ausgewertet. Die Daten (00h-ffh) führen dazu, dass die am Dimmer angeschlossene Lampe in der Helligkeit von 0% (00h) bis 100% (ffh) gesteuert werden kann. DI. M. Meschik 23 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor DMX-512 7.3.2 Teilnehmer am DMX-512 Bus Diese sind z.B. Dimmer, Nebelmaschinen, Moving Lights, Gobo-Lights, usw. Es wird dabei recht schnell klar, dass pro angeschlossenem Gerät nicht nur ein sondern mehrere Kanäle verwendet werden, wobei pro Gerät nur ein DMX-In vorhanden ist. Wird, wie in unserem Labor, ein 4-Kanal Dimmer eingesetzt, so wird mittels „DIPSchalter“ jene Adresse eingestellt, mit der die erste Lampe am Dimmer angesteuert werden soll. Die weiteren Lampen haben dann die Adresse „Eingestellte +1, +2 und +3. Ist die Startadresse z.B 50, dann können die 4 Lampen unter den Adressen 50, 51, 52 und 53 angesteuert werden. Ein „Moving-Light“ belegt mehrere Kanäle für folgende Kanäle: 1 Kanal für x-Achse 1 Kanal für y-Achse 1 Kanal für die Helligkeit 1 Kanal für die Lampenfarbe (Farbenwechsler) Im System sind ein Sender (Lichtpult, PC, ...) und mehrere Empfänger vorhanden. Wenn einmal ein Fehler in der Übertragung passiert, so passiert meist nichts, da durch die schnelle Übertragung im nächsten Zyklus die richtigen Daten zum entsprechenden Empfänger gesendet werden. 7.3.3 Vor- und Nachteile von DMX-512 Vorteile: Es ist ein besonders einfacher Bus Die Adressen werden nicht mitgesendet Schnelle Übertragungsrate Leicht erweiterbar Robuste Steckverbindungen für Bühnentechnik Nachteile: Simplex Betrieb => Informationen werden nur in einer Richtung übertragen Es gibt kein Feedback, ob die Daten auch beim Empfänger angekommen sind Ist eine Steckverbindung defekt, so fällt der ganze Teil nach dem defekten Stecker aus 7.3.4 Weitere Informationen zu DMX-512 http://www.mpcfaculty.net/drama_dept/DMX.htm http://www.dmx512-online.com/packt.html DI. M. Meschik 24 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor Übungen 8 Übungen 8.1 Für alle Übungen gilt: verwenden Sie die Laborprotokoll-Vorlage von Prof. Jüngling bereiten Sie sich VOR DEN ÜBUNGEN auf die entsprechenden Übungen vor (Durcharbeiten des Skriptums) - Sie werden zu diesem Stoff bei der Übung befragt Die Zeit ist kurz bemessen => arbeiten Sie zügig, um die Übung durchführen zu können. Pro Gruppe, die Einteilung erfolgt zu Jahresbeginn, ist EIN PROTOKOLL anzufertigen und AM BEGINN DER NÄCHSTEN ÜBUNG bzw. EINE WOCHE nach der Übung abzugeben. Wird das Protokoll später abgegeben, so verschlechtert sich die Note pro Woche um einen Grad => Achten Sie bitte auf rechtzeitige Abgabe. Es kann vorkommen, dass Sie mit einer Übung an einem Übungstag nicht fertig werden. Es wird dann in der nächsten Laborstunde fortgesetzt. Ob ein Protokoll abzuliefern ist oder nicht, ist mit mir abzusprechen. SIE bestimmen mit, wie interessant die Übungen werden. Speziell bei den fortgeschrittenen Übungen können Sie ein MAXIMUM an medientechnischem KNOW HOW herausholen. zu Beginn der Übungen wird eine kurze Einführung für die Übung gegeben. Der Stoff wird kurz abgefragt => Skriptum vorher durcharbeiten !!! 8.2 Übung 1: RS-232 1 (RS-232 was ist das, wofür benötige ich das? Ziele der Übung: Kennen lernen der Schnittstelle und Aufzeichnung mittels Oszilloskop Kennen ernen des Oszilloskopes. In das Protokoll kommt eine kurze Erklärung, wie mit dem Oszilloskop gemessen wurde. Wie können Daten übertragen werden? ASCII-Zeichen Verwendung eines Terminalprogramms zum Generieren von Zeichen Einstellen unterschiedlicher Baudraten, was ist Handshake? Vorbereitung: Durcharbeiten des Skriptums (ist am MOODLE-Server verfügbar) Internet-Suche zu den Themen "Oszilloskop" und "serielle Schnitstelle RS232" Übungsdurchführung: Entwurf und Aufbau einer Messschaltung Blockbild Messergebnisse in einem Protokoll festhalten DI. M. Meschik 25 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor Übungen 8.3 Übung 2: RS-232 2 Ziele der Übung: Kennen lernen unterschiedlicher Eingabemöglichkeiten (HID) Daten mittels Terminalprogramm ansehen und auswerten Vorführung des Programmes von Sun Dance Vorbereitung: Durcharbeiten des Skriptums (ist am MOODLE-Server verfügbar) Internet-Suche zu den Themen "Oszilloskop" und "serielle Schnitstelle RS232" Übungsdurchführung: Entwurf und Aufbau einer Messschaltung Blockbild Messergebnisse in einem Protokoll festhalten HID Eingabe mittels Sun-Dance Formatbeschreibung von Sun-Dance, was wird wann gesendet? Wie kann dieses HID in Programme eingebunden werden? 8.4 Übung 3: RS-232 3 Ziele der Übung: Arbeiten mit der 16-fach Relaisbox mittels Terminalprogramm Ausgeben und Einlesen von Daten Erklärung der Befehle IR-Scan Box an serielles Interface anschliessen Einlernen von IR-Codes => Interprettieren der Codes Warum wird dort Infrarot eingesetz? Arbeiten mit der 8-fach. Relaisbox und Snoezelen Programm evtl. Neigungssensor als HID; Datenübertragung evtl. Steuerung eines Programms mit dem Neigungssensor und dem Trainingsboard Vorbereitung: (CD mit z.B. Beruhigender Background-Musik sollte mitgebracht werden) Durcharbeiten des Skriptums (ist am MOODLE-Server verfügbar) Internet-Suche zu den Themen "Oszilloskop" und "serielle Schnitstelle RS232" Übungsdurchführung: Ausführen einfacher Schalthandlungen und Einlesen analoger Daten über Terminalprogramm Steuerung einfacher Schalthandlungen über IR mittels Snoezelen Programm DI. M. Meschik 26 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor Übungen 8.5 Übung 4: MIDI 1 (MIDI-Daten sichtbar machen) Ziele der Übung: Kennen lernen der MIDI-Schnittstelle (Hardware) Aufbau der Datenstruktur Messung eines einfachen MIDI-Befehls (NOTE-ON) Feststellen des Befehls, des MIDI-Kanals, der Notennummer und der Anschlagdynamik ausgehend von einem Oszilloskop-Ausdruck (beim Drumcomputer sind ebenfalls die aufgezeichnetren Daten zu interpretieren) Vorbereitung: Durcharbeiten des Skriptums (ist am MOODLE-Server verfügbar) Internet-Suche zum Thema "MIDI" Übungsdurchführung: Es ist ein Blockschaltbild vom Messaufbau in das Protokoll zu geben. Die gemessenen Daten (können vom Osziloskop zum PC gesendet und dort gespeichert werden) müssen mit Hinweisen ergänzt (z.B. importieren in PAINT) ebenfalls ins Protokoll. 8.6 Übung 5: MIDI 2 Ziele der Übung: Kennen lernen einfacher MIDI-Verbindungen, IN, OUT, THRU in Kombination mit dem PC Arbeiten mit MIDI und dem PC, evtl. Programm CAKEWALK oder Band In a Box Warum ist ein MIDI-File viel kleiner als eine *.WAV-Datei? Vorbereitung: Durcharbeiten des Skriptums (ist am MOODLE-Server verfügbar) Internet-Suche zum Thema "MIDI" Übungsdurchführung: Mittels Drumcomputer oder PC werden MIDI-Realtime Mesages generiert und mittels Oszilloskop aufgezeichnet. Die Abstände zwischen den einzelnen Realtime events ist zu Messen DI. M. Meschik 27 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor Übungen 8.7 Übung 6: MIDI 3 Ziele der Übung: Was ist mit den MIDI-Kanälen und wozu benötige ich diese? Was ist general MIDI? Erste Schritte für ein MIDI-gesteuertes Hörspiel Mischung von MIDI und WAV-Dateien Wann setze ich MIDI, WAV oder andere Formate ein? Ziel soll es sein ein kleines Stück zu vertonen Vorbereitung: Durcharbeiten des Skriptums (ist am MOODLE-Server verfügbar) Internet-Suche zum Thema "MIDI" Thema für kurze Sequenz für Vertonung überlegen Übungsdurchführung: Aufzeichnung mehrerer einzelner Spuren mittels Sequenzer Aufzeichnung einer Spur mit Programm change Vorbereitung oder bereits Vertonung einer kurzen Sequenz 8.8 Übung 7: MIDI 4 Ziele der Übung: die MIDI-Controller Effekte wie Panorama, Lautstärke, Modulation, ... wann setze ich diese ein Das MIDI-Mischpult - Kompletter MIX-down mit MIDI Anschluss von MIDI-geek an Band In a Box (Volume Controll) Band In A Box für Soloinstrumentalisten Vorbereitung: Durcharbeiten des Skriptums (ist am MOODLE-Server verfügbar) Internet-Suche zum Thema "MIDI" Übungsdurchführung: • Abmischen des kleinen Hörspiels 1 bis 5 Minuten 8.9 Übung 8: DMX-512 1 (DMX-512 Daten sichtbar machen) Ziele der Übung: Kennen lernen der Schnittstelle wozu benötige ich DMX-512, Einsatzgebiete DI. M. Meschik 28 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor Übungen Vorbereitung: Durcharbeiten des Skriptums (ist am MOODLE-Server verfügbar) Internet-Suche zum Thema "DMX-512" Übungsdurchführung: Mittels DMX-512 Demo-Box werden die Daten mittels Oszilloskop aufgezeichnet Was ändert sich mit und ohne Abschlusswiderstand? Anschluss an eine Dimmerbox und Einstellung des richtigen Kanals an der Dimmerbox, je nach verwendeter DMX-512 Demo-Box 8.10 Übung 9: DMX-512 2 Ziele der Übung: Was wird benötigt, um ein Thema multimedial zu gestalten Storybook, Was passiert wann, Synchronisation mehrerer Medien,... Vorbereitung: Durcharbeiten des Skriptums (ist am MOODLE-Server verfügbar) Internet-Suche zum Thema "DMX-512" Thema für Umsetzung suchen Übungsdurchführung: Erstellung von Licht-Sequenzen mittels Snoezelen-Programm Programm im AUTO-Modus Erstellen für ein selbst ausgesuchtes Thema (Meer, Strand; Die Wüste lebt; Entspann dich; ...) wenn möglich für den Medientechnik Raum 8.11 Übung 10: DMX-512 + MIDI 3 Ziele der Übung: Kennen lernen des Umsetzers von MIDI auf DMX-512 Warum wird dieser bei uns eingesetzt? Wie geschieht die Steuerung von Licht und Effekten in großen Produktionen? Wie wird synchronisiert? Vorbereitung: • Durcharbeiten des Skriptums (ist am MOODLE-Server verfügbar) • Internet-Suche zum Thema "DMX-512" Übungsdurchführung: Koppelung mit MIDI - Steuerung von Licht und visuellen Effekten über MIDISequenzer Einstellung von Controller-Meldungen im Sequenzer für den Umsetzer Planung einer Lichtsteuerung und Programmierung mit Sequenzerprogramm Cakewalk DI. M. Meschik 29 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor Übungen 8.12 Übung 11-12: DMX-512 + MIDI 4 + 5 Ziele der Übung: Planung und Durchführung einer kompletten Produktion inclusive MIDI, WAV, DMX-512 Vorbereitung: Durcharbeiten des Skriptums (ist am MOODLE-Server verfügbar) Internet-Suche zum Thema "DMX-512" Ideen für Hörspiel Übungsdurchführung: Gewünscht ist ein Hörspiel, Sprechtext oder eine multimediale Vorführung mittels Sound & Light & weiteres Es können auch Nebelmaschine & andere Dinge eingesetzt werden (Geruch wäre z.B. ein Highlight) Wichtig dabei ist, dass jede Gruppe bereits VOR DER ÜBUNG ein Thema ausgesucht und ein kleines Konzept erstellt hat, sonst scheitert diese Übung! Bemerkung: Diese Übung kann über zwei Blöcke ausgedehnt werden. Es können dafür auch mehrere Gruppen zusammen arbeiten. Voraussetzung dabei ist, dass jeder eine bestimmte Aufgabe zu erfüllen hat 8.13 Übung 13: DMX-512 + MIDI 6 Ziele der Übung: Fertigstellung des Hörspiels Vorbereitung: Durcharbeiten des Skriptums (ist am MOODLE-Server verfügbar) Internet-Suche zum Thema "DMX-512" Thema für Umsetzung im Detail Übungsdurchführung: Planung und Durchführung einer kompletten Produktion Fertigstellung DI. M. Meschik 30 HID_Medientechnik_Skript_6.doc V1.0 Skriptum Medientechniklabor Abbildungsverzeichnis 9 Abbildungsverzeichnis Abb. 1: Serielle Schnittstelle mit Pegelkonverter ...................................................................... 7 Abb. 2: MIDI-Hardware mit MIDI-In und MIDI-Out ............................................................. 11 Abb. 3: Übertragung des Befehls „note on“........................................................................ 13 Abb. 4: Blockschaltung für DMX-512..................................................................................... 20 Abb. 5: DMX-512 Datenformat ............................................................................................... 21 Abb. 6: DMX-512 Timing-Diagram ........................................................................................ 22 DI. M. Meschik 31 HID_Medientechnik_Skript_6.doc V1.0