DMX51

 

Beschreibung

DMX51 ist ein C Projekt das zu jetzigen Zeitpunkt 3  Bibliotheken umfasst mit deren Hilfe DMX Receiver in verschiedenen Ausbaustufen aufgebaut werden können. DMX51 ist für die Anwendung auf MCS51 kompatiblen Mikrocontrollern konzipiert. Entwickelt wurde DMX51 mit Hilfe des Freeware C Compilers SDCC von Sandeep Dutta. Der zentrale Bestandteil von DMX51 ist die Bibliothek DMXlib mit deren Hilfe allein es schon möglich ist, einen funktionierenden DMX Receiver aufzubauen. Weiterhin existieren noch eine Bibliothek welche für die Ansteuerung eines LCD Displays verantwortlich  ist, sowie eine Bibliothek die eine Tastatursteuerung ermöglicht. Das Projekt ist noch in Arbeit , deshalb  stellen die einzelnen Bestandteile noch nicht den geplanten Endzustand dar. Da keine der  Bibliotheken die andere bedingt, können diese auch einzeln in anderen Projekten verwendet werden. Die Verwendung der Ressourcen des Mikrocontrollers durch die  Bibliotheken ist so gestaltet, das sie in jeglicher Kombination verwendet werden können.     

 

Eigenschaften  

- Protokoll DMX 512 (max. 256 Kanäle)

- unterstützt 256 DMX Kanäle

- 4 Ausgänge als Switch

-interne Fehlerkorrektur

- Unterstützung HD44780 kompatibler LCD Displays (+LCDlib)

- 4 x fach Tastaturabfrage(+ KEYlib)

 

Die einzelnen Bestandteile von DMX51

1.   DMXLib der zentrale Bestandteil

DMXlib ist die Bibliothek die zentral den Empfang und die Auswertung der DMX Daten übernimmt. Mit der richtigen Konfiguration lässt sich allein schon mit dieser Bibliothek ein vollständiger DMX Receiver aufbauen. In der jetzigen Version von DMXLib wird nur die Auswertung als Schalterausgang unterstützt. Die LED an Port  

Der Empfang der DMX Daten erfolgt Interruptgesteuert mit höchster Priorität.  

Konfiguriert wird der DMX Empfang mit Hilfe der Funktion SetDMX die bis zum jetzigen Zeitpunkt 3 Parameter kennt. Die Parameter werden in einem Byte Codiert und der Funktion SetDMX  übergeben. Die einzelnen Bits haben folgende Bedeutung. 

 

 

Bit   0     =     1 Bewirkt das die empfangen Daten sofort als Switch ausgewertet werden.
Bit  1     =      1 Benutzte 8 x DIP Schalter d. h. der DIP Schalter wird ständig durch die Funktion UART verwendet. Änderungen der Kanaleinstellungen wirken sofort
Bit  2     =      1 es wird automatisch die Defaultschaltschwelle verwendet  (0x80h)  
Bit  3     =      X unbenutzt sollte 0 sein
Bit  4     =      X unbenutzt sollte 0 sein
Bit  5     =      X unbenutzt sollte 0 sein
Bit  6     =      X unbenutzt sollte 0 sein
Bit  7     =      X unbenutzt sollte 0 sein

Wenn Beispielsweise die Funktion SetDMX mit dem Wert 0x7 aufgerufen wird bedeutet das, das der Empfänger wie folgt konfiguriert wird.

Der Empfänger verwendet den DIP Schalter selbständig. Die Auswertung der Daten efolgt automatisch als Schalter an den Ausgängen P2.4 bis P2.7. Es wird die Schaltschwelle von 0x80 verwendet.

Mit dieser Konfiguration erfolgt der Empfang und die Auswertung der Empfangenen DMX Daten selbständig.  

 Im Projektarchiv befindet sich  ein kleines Projekt das die Anwendung von DMXLib demonstriert, sowie eine vollständige Dokumentation der einzelnen Funktionen  Bibliothek. 

Der untere Schaltplan zeigt wie der Mikrocontroller beschaltet werden muss damit er korrekt mit DMXLib arbeitet.  

 

 

Im Archiv ist eine ausführliche Beschreibung, Quellcodes,EAGLE 4.1 Dateien ,und die ausführbaren Dateien zu DMXLib enthalten. 

Download ZIP Archiv (203 KB): DMX51Liball.zip

 

2. LCDLib die Anzeigesteuerung

 Dokumentation in arbeit

3. KEYLib die Tastatursteuerung

 Dokumentation in arbeit