- Sep 15, 2017 -
Cable built to the DMX512A specification
The standard cables used in DMX512 networks employ XLR5 connectors, with a male connector on one end and a female connector on the other end. The cable's male connector attaches to the transmitting, female jack (OUT), and its female connector attaches to the receiving, male jack (IN).
Cabling for DMX512 was removed from the standard and a separate cabling standards project was started in 2003. Two cabling standards have been developed, one for portable DMX512 cables (ANSI E1.27-1 – 2006) and one for permanent installations (draft standard BSR E1.27-2). This resolved issues arising from the differences in requirements for cables used in touring shows versus those used for permanent infrastructure.
The electrical characteristics of DMX512 cable are specified in terms of impedance and capacitance, although there are often mechanical and other considerations that must be considered as well. Cable types that are appropriate for DMX512 usage will have a nominal characteristic impedance of 120 ohms. Cat5 cable, commonly used for networking and telecommunications, has been tested by ESTA for use with DMX512A. Also, cables designed for EIA485 typically meet the DMX512 electrical specifications. Conversely, microphone and line level audio cables lack the requisite electrical characteristics and thus are not suitable for DMX512 cabling. The significantly lower impedance and higher capacitance of these cables distort the DMX512 digital waveforms, which in turn can cause irregular operation or intermittent errors that are difficult to identify and correct.
DMX512 signal on an oscilloscope, annotated to show measured timing
At the datalink layer, a DMX512 controller transmits asynchronous serial data at 250 kbit/s. The data format is fixed at one start bit, eight data bits (least significant first), two stop bits and no parity.
Each frame consists of:
Slot 0, containing the one-byte Start Code
Up to 512 slots of channel data, each containing one byte
The start of a packet is signified by a break followed by a "mark" (a logical one), known as the "Mark After Break" (MAB). The break, which signals the end of one packet and the start of another, causes receivers to start reception and also serves as a frame (position reference) for data bytes within the packet. Framed data bytes are known as slots. Following the break, up to 513 slots are sent.
The first slot is reserved for a "Start Code" that specifies the type of data in the packet. A start code of 0x00 (hexadecimal zero) is the standard value used for all DMX512 compatible devices, which includes most lighting fixtures and dimmers. Other start codes are used for Text packets (0x17), System Information Packets (0xCF), for the RDM extension to DMX (0xCC), and various proprietary systems. Plasa maintains a database of alternate start codes.
All slots following the start code contain control settings for slave devices. A slot's position within the packet determines the device and function to be controlled while its data value specifies the control set point.
DMX512 timing parameters may vary over a wide range. The original authors specified the standard this way to provide the greatest design flexibility. Because of this, however, it was difficult to design receivers that operated over the entire timing range. As a result of this difficulty, the timing specification of the original 1986 standard was changed in 1990. Specifically, the MAB, which was originally fixed at 4 μs, was changed to 8 μs, minimum. The E1.11 (2004) standard relaxed the transmitter and receiver timing specifications. This relaxed the timing requirements for systems using controllers built to DMX512-A (E1.11); however, a significant number of legacy devices still employ transmit timing near the minimum end of the range.
|--||Min Break (μs)||Min MAB (μs)|
Maximum times are not specified because as long as a packet is sent at least once per second, the BREAK, MAB, inter-slot time, and the mark between the last slot of the packet and the break (MBB) can be as long as desired.
A maximum-sized packet, which has 512 channels (slots following the start code), takes approximately 23 ms to send, corresponding to a maximum refresh rate of about 44 Hz. For higher refresh rates, packets having fewer than 512 channels can be sent.
The standard does not specify the minimum number of slots that can be sent in a packet. However, it does require that packets be transmitted so that the leading edges of any two sequential BREAKs must be separated by at least 1204 μs, and receivers must be able to handle packets with break-to-break times as short as 1196 μs.The minimum break-to-break transmit time can be achieved by sending packets that contain at least 24 slots (by adding extra padding bytes, if necessary) or by stretching parameters such as the BREAK, MAB, Interslot, or Interpacket times.