Latest ESTA standard (approved by ANSI) known as Entertainment Technology USITT DMX512-A - Asynchronous Serial Digital Data Transmission Standard for Controlling Lighting Equipment and Accessories, also known as E1.11, USITT DMX512-A, or just DMX512-A. DMX512 data are transmitted over a differential pair using EIA-485 voltage levels.
DMX is the primary method for linking controllers, dimmers, advanced fixtures and special effects devices such as foggers and moving lights. A DMX512 controller is connected to fixtures or devices in a daisy-chain link. Each device has a DMX in and generally a DMX out XLR 5 pin connector - sometimes marked as DMX thru. The DMX out on the controller is linked via a DMX512 cable to the DMX in on the first fixture. A second cable then links the DMX out on the first fixture to the next device, and so on - up to 32 devices. In general, the final, empty, DMX out connector should have a DMX512 terminating plug attached into it, which is simply a 120ohm resistor joining pins 2 and 3 of the connector. Many modern devices negate this requirement as they are capable of auto-terminating the link. Maximum cable length is 1,200 metres.
Cable types that are appropriate for DMX512 usage will have a nominal characteristic impedance of 120 ohms. At short distances, cables with higher capacitance and different characteristic impedance such as microphone cable can be used. Howether, 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. 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.
|5-Pin XLR connector||Signal||Description||3-pin XLR connector|
|2||Data-||Primary Data Link||2|
|3||Data+||Primary Data Link||3|
|4||Data2- or Not used||Optional Secondary Data Link|
|5||Data 2+ or Not used||Optional Secondary Data Link|
Pins 4 and 5 are originally intended for feeding diagnostic data back to the DMX512 controller. Sometimes used to carry other data or power. 3-pin XLR connector is prohibited by standard, but sometimes used.
DMX512 Data are sent using RS-485 voltage levels and cabling practices. Data are transmitted serially at 250 kbit/s and is grouped into packets of up to 513 bytes. Data are sent with 1 start bit and 2 stop bits, LSB first. The start of a packet is signified by a break of at least 88 uS. Receivers detect the break and reset their receiving code. Then up to 513 bytes are sent. The first byte is always the Start code byte. This tells receivers which kinds of data are being sent. For normal dimmer/level data, a start code of 0x00 is used. Other start codes are used for proprietary systems or for the RDM extension to DMX.
The remaining bytes make up the actual level data. Up to 512 bytes can be sent, and it is the job of the receiver to count the bytes to keep track of the channels. As there is no error detection or correction in DMX, it is vitally important for receivers not to miss bytes, and to discard packets if framing or buffer overflow errors are detected. A full packet takes approx. 23 mS to send (44 Hz refresh rate) - for higher refresh rates fewer channels can be sent.
Moving lights use multiple, usually adjacent DMX512 channels to control different aspects of their behaviour. Modern DMX512 controllers have libraries of data about fixtures telling them how to map attributes to DMX512 channels. The controller could then have separate ways of selecting gobos and gobo rotation, even though on a particular fixture they are controlled by a single DMX512 channel.
The DMX512 output is designed to feed 32 units of load. A single fixture may represent a fraction of a unit of load or even multiple/heavy loads, also the cabling in between the fixtures can degrade the signal significantly. To deal with this, and cable management issues, DMX512 buffers are often used. These have one DMX512 in but many DMX512 outs, all feeding identical data. Each output from the DMX512 buffer can feed 32 units, so by using DMX512 buffers it is possible to split the signal from a controller to hundreds of fixtures.