Inside the DMX 512:
Understanding Command Information and Protocol

Page 1 2 3

Using these interface methods presents a nominal 1-unit load for each device allowing a maximum of 32 receivers to be installed on the segment.

Direct-on-Line interfacing by connecting a high sensitivity opto-isolator directly across the line is not recommended, it presents about 5 times the load of a proper receiver thus reducing the number of receivers that can be installed on the segment. It can also cause distortion, increasing the error rate and causing EIA485 compliant receivers to malfunction, all of which is bad news!

DATA

Data transmission is based on an 8 bit asynchronous serial protocol with 1 start bit (low), 2 stop bits (high) and no parity. This gives a data "frame" of 11 bits. Since each bit is 4µs wide it takes 44µs to send a frame. If the line were to transmit a continuous data stream this would result in a data rate of 250000 bits per second, or 250k baud.

The 8-bit word allows 256 individual levels for each dimmer to be transmitted in the range 0 to 255.

The start and stop bits are used to synchronize the receiver with the transmitter. The data line is usually high; in fact it idles in a high state (more on this later). The arrival of the start bit kicks the receiver into life and the next 8 bits are scanned and (hopefully) decoded. The receiver then waits for the stop bits after which it starts the process all over again. The stop bits are required for two reasons: -

To give the receiver time to process the incoming data.

To put the line in a high state so the next "START" can be detected.

The following two diagrams illustrate bit levels within a frame containing data '0' and data '255',


Click on Image for Full Size

This shows quite nicely that there is always a level change caused by the start bit, which gives the receiver its frame synchronization.

So far so good but this isn't the end of the story, DMX512 supports up to 512 dimmers and we've only looked at 1 so far, so how do we handle data for all the dimmers?

|The answer is simple, just sequentially repeat the process!

OK, that was easy - but its not quite that simple, we've now got a stream of data on the segment but no way of telling which frame is for which dimmer. Cue the "DMX Packet"

<< Previous

Next >>