dmx512 programmable theater lighting controller jeff sand and kris kopel advisor: dr. don schertz...
Post on 21-Dec-2015
221 Views
Preview:
TRANSCRIPT
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
Lights
Lights
Lights
Lights
Dimmers
Dimmers
IntelligentLuminaries
DMX512
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
Motorola 68376
ControllerPersonal
ComputerInput Blocks
RS485Driver
MAX483
DMX512 Output
USB Transceiver
Philips PDIUSBD12
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
Serial A/D
MAX148
SerialShift
Register74166
Fader Inputs
Momentary
PushButtons
Out to Controller
QSM Module
QSPI Control Lines
Latch74373
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
DMX Output Status?
Last Channel?End Break
DMX Output Status <- Data
DMX Output Status <- Start
DMX Output Status <- Break
DMX Output Status <- Mark
Output Start Code
Output Data Byte
Exit ISR
Start Break
Set Timer
no yes
break datamark start
SCI Interrupt Routine
QSPI Interrupt RoutineRead/Clear
Status Register
Read all Buttons
Read 8 Faders
Buttons
Faders
Reprogram QSPI for Faders
Reprogram QSPI for Buttons
Increment Chip Selects
Re-Enable QSPI
Exit ISR
Faders or Buttons?
Last Fader Block?
yes
no
no
Read interrupt register
Bus Reset
Suspend Change
Data Endpoint In
Data Endpoint Out
Exit ISR
Control Endpoint In
Control Endpoint Out
Handle Reset
Handle Change
Data left to send?
no
Send ityes
Read Data into Buffer
Data left to send?
Send it
yes
Set Address
String Descriptor
Get Descriptor
Device Descriptor
Configuration Descriptor
USB Interrupt Routine
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
top related