自作LED PARへの道のり(2) - DMXとは?
DMX512って?
端的に説明すると、EIA-485(RS-485)によるシリアル通信です。各パラメータは次のようになっています。
ボーレート | 250kbps |
パリティビット | なし |
スタートビット | 1bit |
ストップビット | 2bit |
DMX512の通信内容
通信の手順は次の図のようになります。
名称 | 長さ | 備考 |
Break | 88us(22bit)~1s | Lowレベル(シリアルコントローラによってはブレーク機能あり、なければ手動) |
Mark After Break (MAB) | 8us(2bit)~1s | Highレベル(1990年の改訂前は4us以上) |
Start Bit + Start Code + Stop Bit | 11bitデータ | 照明機器は「0」 |
Start Bit + Ch # Data + Stop Bit | 11bitデータ | 調光レベル「0~255」 × 最大512(最小24) |
Frame Between Time | 0s~1s | Highレベル(Stop Bitから次のStart Bitまでの間) |
- Break, Mark After Break
BreakとMark After Break信号を合わせて考えると、通常の1ユニバースを時間方向に2倍したものであることがわかると思います。これで、データの開始信号としているわけです。
- Start Bit, Start Code, Stop Bit
この組み合わせで1スロットのデータです。ただし、1スロット目のデータは「Start Code」と言って特別な数字になります。照明機器以外の物も制御できるように設計されているみたいです。照明機器の場合は「0」をデータとして送ります。
- Start Bit, Ch # Data, Stop Bit
この組み合わせでも1スロットのデータです。1スロット目は「Start Code」ですが、2スロット目からは各チャンネルのデータになります。
- Frame Between Time
次のユニバースを送信するまでに待つべき時間です。規格で「0s〜1s」となっているので、Frame Between Timeを0sにして、1秒間に44回送ってくる機器があっても文句は言えないってことですね。早すぎ。