Asynchronous DMX Slots

DMX uses balanced transmission. The received signal is interpreted as the difference between the voltages on the two data conductors. Balanced lines have excellent noise and interference rejection properties.

The 250 kbaud design set the time interval of a baud to 4 microseconds (1/250000). Since asynchronous transmission is used with two stop bits, there are 11 bauds in total for each byte that is sent, 4 x 11 = 44 microseconds per byte, which are sent with an efficiency of 8/11 or 73%. In DMX these 11 bauds are called ‘slots’.

Since DMX512 is an asynchronous protocol, slots can be sent at any time that the bus is idle. When the bus is not sending it ‘idles’ in the high state. Receivers use the start bit to trigger reading the remaining bits at 4μs intervals until all 11 bauds have been read. The receiver then accepts any byte where the last two baud values were stop bits. After the second stop bit the line can either idle, (it is already high so this means do nothing) or may send a new start bit can start another byte transfer.

Note that slots do not have a parity baud.

EIA-485-A specifies the total load permitted on a DMX512 data link is 32 unit loads. Transmitters designed for this Standard shall be capable of driving 32 unit loads on a DMX512 data link.

Reception of DMX Slots

A receiver finds the start of frame, by listening for a break, followed by a Mark-After-Break (MAB) signal and the start code.

The data slots are identified by their position in a frame. Following this, each slot is asynchronously framed, starting with slot 1, then slot 2, etc.. The final slot is indicated by a long idle period after the slot. The Frame to frame period must be in the range 1240 µS - 1S. This determines the maximum information rate over the bus.

A receiver decodes a set of slots from the frame. This is usually selected by assigning a base address that determines the first slot that is used by the receiving device (a 9 bit binary number), often using a bank of DIP switches or a front panel to a microprocessor. The receiver skips a number of bytes corresponding to the allocated base address. e.g. for address 8 skips 8 bytes. It then extracts a set of contiguous bytes (slots) from the DMX frame.

Fixtures may use one slot or many, depending on the configuration - which must be consistent between the sender and receiver. Here are some examples:

More than one fixture may have the same base address, if they perform an identical interpretation of the control data (e.g. the same type of fixture) and they do not need to be independently controlled. If they have the same map for interpreting the data then they will also respond in the same way.

Slot Format

Asynchronous Slot Format

The value of all slots is sent least-significant bit first.

The initial slot (position 0) will contain the start code which will inform the receiver what sort of data is going to follow and what will be controlled. For example lighting equipment will use a start code of zero to control the level of the lighting.

The remaining part of the DMX Frame carries the data slots.

Values in Slots

Each slot carries one byte. Slot levels may therefore be between 0 and 255 decimal inclusive (00 to FF hexadecimal). A single vale could represent a dimmer control input:

e.g.

Sometimes the value in a slot is interpreted as an index. In this case specific values are known by the sender and receiver to have specific meanings. For instance, the value 0 may represent the colour black, 1 may represent red, 2 may represent green, etc. To correctly interpret the numbers requires the receiver(s) and transmitter to use the same mapping of values.

Sometimes a combination of slot values is used. 1 16 bit value would use two slots, regarding one slot as the high-order byte and one as a low order byte, permitting sending values -32767 to +32768. More sophisticated uses combine more slots. For example, a “moving head lamp” may combine 8, 16 or more consecutive slots to determine the orientation of the fixture (pan and tilt), colour, effects, iris, focus, gobos, and other aspects of the fixture. Some devices can use 100s of slots - something that was not envisaged when DMX 512 set a limit of 512 data slots per frame, and drives the use of systems with multiple universes.

Example Waveform

Start of a DMX Frame (showing the inverted signal to the line driver, this is the waveform of the Data- signal)

This figure shows non-default values for the transmitter parameters, setting the break and mark after break to 1355μS. It illustrates the signal for slot one with a value of 85 (33%), represented in binary as 01010101. Slot 2 and 3 contains a value 0.


The DMX specification may be logically divided into a physical and a link layer:

See also:


Prof. Gorry Fairhurst, School of Engineering, University of Aberdeen, Scotland. (2014)