DMXのトラブルで一番困るのは何か。「わからないトラブル」です。
DMXは大概動きます。新設の配線なら、よほどひどくなければ動く。ターミネーターがなくても動く。だからオープン時にはちゃんと動いて、引き渡しも済んだのに、後になって出る。これが一番厄介なのです。
大事なのは「動いた」ことではありません。ターミネーターがきちんと効いているか、電線が本当に正しく繋がっているかを、確認したかどうかです。
トラブルを理解するには規格の素性を知る必要があります。
DMXの基本は平衡伝送(差動)です。プラスとマイナスの2本を常にコンパレーターで比較して出力する。2本を一緒に引っ張っていれば、外部ノイズは2本同時に(同相で)乗ります。片方だけに大きく乗ることは少ない。だから比較すればノイズが消える――これが平衡の考え方で、もともとインピーダンスの高いマイクケーブルの世界の技術です。電圧の大きいDMX信号はマイクよりは有利です。
しかし「少しぐらい乗っても大丈夫」ではありません。なぜならDMXにはエラー処理がないからです。512チャンネル分の8ビットデータが、スタートビットとストップビットに挟まれて流れてくるだけ。1ビットずれただけでデータは大きく化けます。
これは歴史的な事情です。DMX512は、アナログ時分割(マルチプレクス)伝送の時代に、それをデジタルに置き換えた規格です。アナログ時分割にはエラー処理のしようがない。その思想のままデジタル化されたので、エラー処理がないのです。アナログ時分割インターフェースを知っている人は、もうほとんどいませんが、昔の卓は実際にそうなっていました。
しかも規格は緩い。データ長は可変でもOK、BREAKは88μs以上であればいい。こんな不安定な規格ですが、使ってみれば便利なので、世界中の現場に広がりました。
終端抵抗を付けたか? 「付けたと思います」。本当に効いているか? 「わかりません」。――これが現場の実態です。
終端が効いているかどうかは、オシロスコープを当てて波形を見なければわかりません(その具体的な手順は付録に書きました)。インピーダンスマッチングが取れると信号電圧はわずかに下がり、反射が消えます。行きと帰りの波形をいちいち確認する人はいません。だから、終端はトラブってから付けるものではなく、最初から必ず入れておくものなのです。
差動伝送の皮肉な性質です。片線が死んでいても動いてしまうことがある。
例を挙げます。マイナス信号線が、うっかりシールド線(アース、XLRの1番ピン)と束ねられて短絡していたとします。それでも、片側がグランドに落ちて、プラス側が0.5V~4.5V程度で振れていれば、コンパレーターはなんとなく受かってしまう。マイナス側にシールド経由で-0.5Vや-0.7Vといった電位が出ていても、プラス側が振れていれば信号は出てしまうのです。
動かないなら、まだいい。動いてしまうから困るのです。グランド周りの電位は時間帯によって上がったり下がったりします。だから、ある時突然、チラつく。1日に1回だけ化ける。本当に断線しているならまだ見つけやすい。「繋がっているけれどアースに落ちている」が一番わからない。古い現場でそこら中にこれがあったら、もう調べようがありません。
対策ははっきりしています。受け側で、プラスとマイナスの両方に本当に信号が来ているかを確認すること。マイナスがオープンでも動くときがあるし、プラスがオープンでも動くときがある。だから私は昔、XLRコネクタのプラス・マイナス間にLEDを2本逆並列に入れた点灯確認テスターを作り、皆に配って「必ずこれで確認しろ」と指導しました。信号が来ていればどちらかが点き、正常なら両方が点滅する。2色LED(順方向で赤、逆方向で緑が点くタイプ)を使えば色味でわかるので、なお良い。点かなかったり色味が変ならすぐ異常とわかる。いわば簡易オシロです。……ただ、皆さん持ち歩いて確認してくれないんですね。だから後になって、何が悪いのかわからなくなる。
本物のオシロが使えるなら、プラス側とマイナス側を2chで並べて見れば一目です。片方だけが振れていない、あるいは振幅が明らかに小さい、というのがそのまま画面に出ます。当て方は付録に書きました。
大きなボールルームになると、DMXは一度に20系列、24系列と入ってきます。最近の現場では、一般照明と舞台照明に分かれた9系列ずつ、計18系列が来ました。これを部屋割りに応じて「どの系列をどの部屋へ」と複雑に切り替える。マルチプレクサで選択し、DMXミキサーでマージしながら振り分けるわけです。50本以上のDMXケーブルが来た現場もあります。
こうなると全系統の相性を検証するしかない。私たちは入力も出力もすべてフォトアイソレーション(フォトカプラ絶縁)を入れて安定させます。新設工事でもグランド周りの問題は起きますから、きちんとした仕事をするには、一つ一つ波形を確認していくしかないのです。
最近のマイコン系DMXインターフェースには電源3.3Vのものが多くあります。信号レベルが低い分、レベル起因の不具合が出やすい。またアイソレーションカプラもインピーダンスや速度が合っていないと波形がなまり、通信速度に付いてこられないことがあります。絶縁は入れればいいというものではなく、カプラの特性まで含めて設計する必要があります。
DMXがエラー処理をしてくれない以上、受け側で自衛します。
有効なのはデータ長の監視です。卓によってデータ長は512、256、128、64とさまざまですが、可変長で送ってくる卓は滅多にありません。だから「いつも同じデータ長か」をチェックし、ずれたフレームはエラーとして弾く。データが1個ずつずれることは滅多にないので、これだけでかなりの化けを防げます。
Art-Netも同じです。DMXのパケットをUDPで流しているだけですから、UDP自体はエラー処理をしません。データ長チェックは同様に必要です。ただしArt-Netはヘッダーに名前などのデータを持てますから、ヘッダーが規定から外れたらエラーにできる。デジタル化が進むほど、エラー処理を足せる余地は増えていきます。
最後に、配線工事の現実です。
現場の電線がすべてインピーダンスマッチングされているなどということはありません。途中が電話線だったり、インターホンケーブルだったり、途中でジョイント・圧着されていたり。正規のDMXケーブルと正規のXLRコネクタが使われている保証もない。グランドをアースに落とすのか、シールドに落とすのか、落とすならどのインピーダンスで落とすのか――決まっていないことばかりです。
だから、通線の段階から設計するのです。終端をどこに入れるか。どの系統にアイソレーションが要るか。何が来ても切り分けられる構成になっているか。トラブルシューティングは、トラブルが起きる前の設計から始まっています。
ここまで「オシロで波形を見るしかない」と何度か書きました。ではどう見るのか。これが意外と知られていません。実際、DMXをオシロにつないでも普通の設定では波形は読めません。画面が流れるだけです。
理由は単純で、DMXは同じような見た目のビット列を毎秒40回前後、延々と送り続けているからです。立ち上がりエッジは1パケットに数千個あります。エッジトリガでは毎回違う場所に引っかかるので、波形が止まりません。
正解は 「88μs以上のLow」=ブレークに同期をかけることです。§2 で触れた「BREAKは88μs以上であればいい」という、あの緩い規格が、ここでは逆に強力な目印になります。データ部でLowが連続するのは、スタートビットとデータ8ビットが全部0のときの36μsが最長。ブレークは88μs以上。間に52μsも余裕があるので、パルス幅トリガで「50μsより長い負パルス」を指定すれば、毎回きっちり同じ位置で止まります。
そしてブレークの長さは機器ごとに違います(規格の幅は88μs〜1秒)。この幅の広さこそが、メーカー間の相性問題の代表的な原因でした。「特定の卓のときだけ、特定の器具が誤動作する」という切り分けの難しいトラブルでは、その卓のブレークとMABが実際に何μs出ているかを測ると、原因が一発で見えることがあります。カタログにも取説にも書いていない値です。
§3 の終端確認も、§4 の片線トラブルも、波形を見れば一目です。手順・設定値・サンプリング間隔の決め方・非絶縁オシロを当てるときの安全境界を、図入りでまとめました。
📈 DMX512の波形をオシロで見る ― 88μsのブレークに同期をかける方法
― パルス幅トリガの設定値、バッファ長から間隔を決める考え方、XLRへの当て方、PicoScopeでの自動測定まで