- Fri Sep 05, 2014 4:37 pm
#174589
http://www.thedmxwiki.com/dmx_definitions/dmx512
DMX512 data is sent using RS-485 voltage levels and cabling practices. The DMX specification refers the reader to RS-485 for information about the electrical signal. Data are transmitted serially at 250 kbit/s and is grouped into packets of up to 513 bytes, called 'slots' in DMX512-A. 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 followed by a “Mark After Break” (MAB), of at least 8uS (The 1986 version of the standard required a 4 uS MAB, this was extended to 8 uS in 1990). When receivers detect the break they restart 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 zero is used. Other start codes are used for Text packets or the System Information Packet (SIP), 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 approximately 23 mS to send, corresponding to a refresh rate of about 44 Hz. For higher refresh rates, fewer channels can be sent. This is accomplished by simply starting a new packet before all 512 channels have been sent. The minimum packet length is equivalent to 24 channels. Most transmitters send all 512 channels though, as many receivers have trouble with shorter packets.
DMX512 data is sent using RS-485 voltage levels and cabling practices. The DMX specification refers the reader to RS-485 for information about the electrical signal. Data are transmitted serially at 250 kbit/s and is grouped into packets of up to 513 bytes, called 'slots' in DMX512-A. 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 followed by a “Mark After Break” (MAB), of at least 8uS (The 1986 version of the standard required a 4 uS MAB, this was extended to 8 uS in 1990). When receivers detect the break they restart 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 zero is used. Other start codes are used for Text packets or the System Information Packet (SIP), 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 approximately 23 mS to send, corresponding to a refresh rate of about 44 Hz. For higher refresh rates, fewer channels can be sent. This is accomplished by simply starting a new packet before all 512 channels have been sent. The minimum packet length is equivalent to 24 channels. Most transmitters send all 512 channels though, as many receivers have trouble with shorter packets.