DMX512 Programmable Theater Lighting Controller Jeff Sand and

Download Report

Transcript DMX512 Programmable Theater Lighting Controller Jeff Sand and

DMX512 Programmable Theater Lighting Controller

Jeff Sand and Kris Kopel Advisor: Dr. Don Schertz May 8, 2001

Outline

• Objectives • Digital Lighting Control Overview • System Block Diagram (Hardware) • Firmware • Software • Results

Objectives

• Generate DMX512 output to control lighting devices • Enable PC control to change dimmer levels • Develop USB platform for future use • Write commercial quality firmware, driver, and windows software • In short, Design a complete marketable system using a top down approach

Digital Theatrical Lighting

Console DMX512 Dimmers Dimmers Lights Lights Lights Lights Intelligent Luminaries

DMX512 Protocol

• United States Institute for Theatre Technology (USITT) standard • Controls up to 512 dimmers/devices • Serial and asynchronous bitstream • 250 kbits/s • RS-485 physical implementation • 32 nodes on one chain

System Block Diagram

Personal Computer USB Transceiver Philips PDIUSBD12 Motorola 68376 m Controller Input Blocks RS485 Driver MAX483 DMX512 Output

Microcontroller Interfaces

• Data bus, chip selects, and external IRQ used for USB transceiver • Queued Serial Module (QSM) – Serial Communication Interface (SCI) for DMX output – Queued Serial Peripheral Interface (QSPI) for input blocks • Internal RAM for data storage • EPROMs for program code • Background Debug Mode (BDM) for development without a monitor program

Input Block

QSPI Control Lines Out to m Controller QSM Module Serial A/D MAX148 Fader Inputs Latch 74373 Serial Shift Register 74166 Momentary Push Buttons

Firmware

• Written in assembly language • Interrupt driven • DMX512 output • Fader/Button data acquisition • USB Communication over data bus • Main program loop for standalone mode only

DMX Output Stream

SCI Interrupt Routine

break Start Break Set Timer DMX Output Status?

mark End Break start Output Start Code DMX Output Status <- Start data no Last Channel?

yes DMX Output Status <- Break DMX Output Status <- Mark DMX Output Status <- Data Output Data Byte Exit ISR

QSPI Interrupt Routine

Read/Clear Status Register Faders or Buttons?

Faders Read 8 Faders Buttons yes Last Fader Block?

no Increment Chip Selects Read all Buttons Reprogram QSPI for Buttons Re-Enable QSPI Exit ISR Reprogram QSPI for Faders

USB Interrupt Routine

Read interrupt register Data Endpoint In Data Endpoint Out Bus Reset Suspend Change Handle Reset Handle Change no Data left to send?

yes Read Data into Buffer Send it Control Endpoint In Data left to send?

no Control Endpoint Out yes Send it Get Descriptor Set Address Device Descriptor Configuration Descriptor String Descriptor Exit ISR

Windows Driver

• Windows kernel mode USB driver • Recognizes and initializes device • Registers device with Windows to be accessed by user applications • Handles reads from/writes to device • Plug n Play and Windows power management compatible

Windows Device Detection

Windows Software

• Three modes of operation – Direct fader control – Software dimmer “patching” – Programmed lighting queues • Uses Windows common controls • Uses Windows timers

Windows Software

Results

• Completed DMX512 Output (Hardware and Firmware) – Adjustable number of channels – Proper output frequency • Completed Input Blocks (Hardware and Firmware) – Buttons, Faders, and control circuitry wire wrapped onto panel – One master block and two 8 channel scenes – Firmware capacity for 128 faders and buttons

DMX Output Result

Results

• Wrote a firmware routine for direct external fader control with master control, two scenes, and crossfade • Implemented USB firmware (all functions necessary for this device) • Interfaced USB peripheral chip with microcontroller on data bus • Master power switch

Results

• Wrote functional Windows kernel mode driver • Wrote windows user application – Currently does not properly interface with driver • Tested complete unit with DMX light and it worked perfectly • We plan to test the device in the Bradley theater in the near future