DMX512-A
DMX512-A は、EIA-485 に基づく通信プロトコルであり、主に舞台照明や演出機器の制御に使われている。
米国劇場技術協会 (USITT) の技術委員会が1986年から開発を始め、1990年には USITT DMX512/1990 という規格に進化した。1998年、ESTA (Entertainment Services and Technology Association) がANSI規格とするべく改訂を開始し、一般レビューも行った。改訂版 "Entertainment Technology — USITT DMX512–A — Asynchronous Serial Digital Data Transmission Standard for Controlling Lighting Equipment and Accessories" は、2004年11月にANSIに承認された。この現在の版は "E1.11、USITT DMX512–A"、または単に "DMX512-A" とも呼ばれ、ESTA が保守している。
DMX512 は当初「最小公分母」プロトコルとして各社独自のプロトコルのインタフェースとなるべく開発された。しかし、間もなく単にコントローラと調光器の接続だけでなく、演出機器や特殊効果デバイスの接続にも使われるようになった。DMX512 はコントローラ側から制御対象機器に信号を送るだけで、自動誤り検出も訂正もない。したがって、パイロテクニクスの制御のような人命に関わる用途に使うのは安全ではない。その用途にはMIDIショーコントロールなどが使われる。
データは250kbit/sでシリアルに伝送され、1度に連続転送されるのは最大513バイトのパケットである。1バイトを DMX512-A では「スロット」と呼ぶ。このプロトコルでは1ビットのスタートビットと2ビットのストップビットを使い、データはリトルエンディアンである。パケットの先頭には最低でも88μ秒のブレーク信号があり、それに最低でも8μ秒の "Mark After Break" (MAB) が続く(1986年の規格では4μ秒だったが1990年に拡張された)。ブレーク信号は受信側にデータが後に続くことを予告するものである。ブレーク信号の後に最大513スロットが送信される。最初のスロットは「開始コード」であり、後に続くデータの種類を知らせるものである。照明や調光器向けの開始コードはゼロである。他の開始コードとしては、Textパケット、System Information Packet (SIP)、システム独自のもの、DMXのRDM (Remote Device Management) 拡張用などがある。
残りのスロットは実際のレベルデータである。最大512スロットを送信し、受信側がスロットを数えて自分のチャンネルを捉える必要がある。DMXには誤り検出訂正機能がないので、受信側がスロットを受信しそこなわないことが重要である。
最大長のパケットの送信には約23ミリ秒かかるので、リフレッシュレートは約44Hzである。リフレッシュレートを高くするには、送信チャンネル数を減らせばよい。これは、512チャンネルを全て送信し終える前に次のパケットを送信し始めるということを意味する。最小パケット長は24チャンネルぶんである。