In 1957, as a senior in high school, I was given the lead role in the Drama Club senior play. My drama teacher should probably have realized that, as a nerd before my time, my interests in that event related more to the operation of the curtain, set changes, and lighting than to the process of learning my lines. As a result, I probably received more whispered prompts during our several performances than all the other actors in our cast.
Lighting in those days consisted of a few manually operated spot lights with gel filters for color change, and stage lighting powered by a couple of manually operated variable transformer (Variac) dimmers.
Today, theater lighting is controlled digitally. Color, spot light positioning, brightness, and various special effects can be changed by digital data sent on a daisy chain serial bus network using either three or five wires in a thin cable coming from a master control panel. An XLR five pin connecter is preferred. The industry standard for such communication is known today as DMX512-A. It’s a special variation of the RS485 differential serial bus used in industrial applications.
Each light or effect has switch settings to allow it to recognize its data out of a string of up to 512 packets or frames, each 44 µs long, sent in a repeating pattern of less than 30 milliseconds total duration. With 11 bits in each frame, and with a bit duration of 4 µs, tracing the action of a single bit for a given light feature in the string is like looking for a needle in a haystack.
Tracing the action of a single bit
When challenged to show some of the utility of the Fluke 199C ScopeMeter® portable oscilloscope, I decided to tackle this problem. I wanted to see what I could learn about the signaling by using the automatic setup of the 199C on a running installation consisting of a controller and four spotlights. Each light had independently controlled arrays of red, green and blue high intensity LEDs, and a master dimming control channel. What the ‘scope found looked something like what is shown in Figure 1.
I immediately noted a long low period (defined as a BREAK in the standard) before each burst of 512 frames. I decided to use the Trigger Option… Pulse width on A… mode to get a reliable and repeatable trigger reference point. As you can see at the bottom of the screen, I selected a negative pulse width of 25 ms (slightly less than the duration of the BREAK), with a condition of >t to establish the desired trigger point. You can see the trigger level indicator now positioned at the beginning of the data set of interest.
I then increased the sweep speed to 20 µs per division so that I could resolve a 4 µs bit, and, after setting the lighting panel slider control to about 25 % green, I then began to look for a non-zero frame using the control on the ScopeMeter®. I scrolled to the right until I found the screen shown in Figure 2. You can see the trigger level indicator now has a “<<” notation, indicating that the actual trigger is off-screen to the left. The value 1.680 ms at the bottom of the screen indicates our position within the data burst, and you can see the non-zero green control data with its 4 µs bits in the leftmost frame. This frame (where the “<<” symbol is) has databits that are one tick mark wide in the 20 usec/div display. That equals 4 usec, since there are four tic marks (defining five 4us spaces) between the 20us division lines.
I then set the green slider to zero, and advanced the red slider to about 50%, producing the screen in Figure 3a. Figure 3b shows green at 50%, red at 0, and blue at 75%.
By now I hope you get the idea - by setting the trigger options and conditions on our oscilloscope we can zero in on any portion of a repetitive waveform and zoom in to any desired resolution we choose.
What did I learn about the system that I was testing?
Well, for one thing, the signal levels coming from the controller were opposite in polarity of the data (as they should be), but they were not equal in amplitude as expected. While this demonstrates how robust the system is, it should be investigated further.
There was one final test to be performed. Serial daisy-chained buses such as this should have a termination resistor at the far end to minimize signal reflections, which could cause errors due to overshoot and ringing of the signals. I removed the terminating load on our test system and observed just such a condition in Figure 4.
I mentioned above that the DMX standard prefers the use of a cable using five pin XLR connectors. The preference for the five pin connector is to eliminate confusion with the popular three pin version XLR that is used for audio connections. Here are the definitions for the connection of the five leads.
As you can see, the data 2 lines are optional, but with a recently announced Fluke four channel ScopeMeter® Series II, you could track the behavior of all four active lines with respect to ground.
Oh yeah! I had to return the lights and controller to the show group I borrowed them from-the show had to go on.
Go here for a diagram showing how differential voltages define marks and spaces of a digital byte »
Read about the history and the current status of DMX512-A »
See illustrations and examples of the DMX412-A standard’s operation »