Terug naar overzicht
15 jun 2004Firmware DMX«»LPTCV De Doordraaiers Budel Screenshot from testing application

Screenshot from testing application

Sequence diagram of Advanced LPT-DMX protocol (based on Elektor LPT-DMX protocol)

Sequence diagram of Advanced LPT-DMX protocol (based on Elektor LPT-DMX protocol)

Advanced LPT-DMX firmware documentation

Advanced LPT-DMX firmware source code

Assembly source code for Atmel 8051-like microcontrollers:
  • ATMEGA8515
  • ATMEGA8535 (different pinout)

Advanced LPT-DMX test software

  • Includes an application for testing the interface hardware and changing of the EEPROM content.
  • Includes a Dynamic Link Libary (DLL) for communicating with the interface hardware in custom applications.
  • Includes all source code for Borland Delphi 7 (callingexampleLPT378.exe>callingexample.dpr>ucallingexample.pas>advdmx.dll >advdmx.dpr>uadvdmx.pas>uparport.pas>usmallport.pas).
Screenshot from EEPROM wizard

Screenshot from EEPROM wizard

Elektor USB/DMX512

Specificaties

Ingangsspanning: 5 VDC
Protocol: USB, full speed, bus powered
Microcontroller: Microchip PIC16C765
Instructieset: PIC16
DMX uitgangen: 1 x DMX512, geïsoleerd via DC/DC convertor & optocoupler
DMX ingangen: geen

Beschrijving

Dit ontwerp is gebaseerd op een ontwerp van Elektuur. Elektuur monteert de print in een XLR connector. Voor een gemakkelijkere opbouw en betrouwbaardere werking is deze print ingebouwd in een kastje met chassisdelen. Er is een galvanische scheiding van de DMX uitgang ingebouwd. Een probleem in het schema is het ontbreken van een extern power-on-reset circuit. De DC/DC converter beïnvloedt de ingebouwde power-on-reset van de microcontroller waardoor deze niet altijd goed werkt.

Foto's



Schema




DMX informatie

Hier vind je wat algemene tips als je zelf hardware wilt maken die DMX informatie kan ontvangen of verzenden.

Microcontroller

Niet elke microcontroller is even geschikt voor het ontvangen van DMX, zonder verlies van frames. De meeste 8051 processorkernen redden het net om een volledige DMX datastroom te verwerken, maar er rest dan nauwelijks nog tijd om iets nuttigs met de ontvangen informatie te doen. De meeste Atmel AVR- of Microchip PIC-microcontrollers zijn zeer geschikt voor het verzenden of ontvangen van DMX.

UART

Niet elke microcontroller heeft een ingebouwde UART. Een UART zorgt er voor dat er seriële databytes verzonden of ontvangen kunnen worden, zonder dat het programma elk bit apart moet verwerken. Heeft een microcontroller geen UART, dan wordt het schrijven van DMX routines veel complexer en inefficiënter, omdat er gebruikgemaakt wordt van "bitbanging". Toch behalen sommige DMX projecten op internet acceptabele resultaten met behulp van bitbanging. Bevat een microcontroller geen UART, dan is het aan te raden om een externe UART te gebruiken of een tweede microcontroller met UART toe te voegen.

Kristal

Als je een microcontrollerschakeling maakt, moet je goed nadenken over welk kristal je gaat gebruiken. Het kristal bepaalt de klokfrequentie waarmee de microcontroller instructies verwerkt. De datatransmissiesnelheid wordt daar van afgeleid. Niet elk kristal is geschikt voor het verzenden en ontvangen van DMX. In het hoofdstuk "UART" van de datasheet van een microcontroller staan formules waarmee geschikte waarden berekend kunnen worden. Uitgangspunt is dat de bitrate exact gelijk moet zijn aan 250'000 bits per seconde, of daar maximaal enkele procenten van afwijkt. Uit de formule kan dan worden afgeleid wat de registerinstellingen zijn voor deze bitrate.