「ANSI X3.131-1986」として出発した「SCSI」(Small computer System Interface) は、アメリカのシュガート社がハードディスク用に開発した「SASI」(Shugart Associates System Interface) を拡張して、汎用バスに仕立てたもので、1システム に8台のコントローラを持ち、パラレル伝送を行うというのは、計測機用インタフェ ースの「IEEE488」とよく似ていますが、より高速性を重視し、デバイスの論理的な モデルを整理して、コマンド・レベルまで標準化を追求する点で、小規模なコンピュ ータシステムの周辺機器には使いやすく、急速に普及しつつあります。
「SCSI」には、信号が共通の「GND」(Ground - アース) ラインを流れる「不平衡」 (single end) 伝送と、「GND」ラインに信号が流れない「平衡」(differential) 伝送 がありますが、前者は、近距離でしか使えないものの、コストが低く、後者は、長距 離の高速伝送に耐えるものの、コストが高いといった性格から、ほとんどのデバイス では、「不平衡」型が使われています。
ところが、この不平衡型には、本質的に難しい点があって、例えば、新しいハードデ ィスクを追加したら、突然動かなくなったとか、ケーブルを少し長くしたら、システ ムがブートしなくなったとか、ケーブルを交換したら、システムが不安定になったと いったことが、身の回りでよく起きます。なぜ、こんなことが起きるのかというと、 「SCSI」規格の要求する特性を持ったケーブルがほとんど使われていないためなので す。
「SCSI」規格の「不平衡」伝送では、ケーブルの両端を 132 Ω の純抵抗で終端して、 100 Ω± 10% の「特性インピーダンス」を持ったケーブルを使うことになっています が、実際に、この要求を満たすケーブルが使われているケースは、ほとんどなく、 50 Ω 程度のケーブルが市販され、付属品として添付され、使用されているのが実態 です。この結果、電磁波の大きな反射を生じて、信号波形が歪み、上記のようなトラ ブルを生ずるわけですが、何故こんなことになったのでしようか。
ケーブルを使った伝送路として普通使われているのは、50 Ω や 75 Ω の同軸ケーブ ルを使った「不平衡」伝送路か、100 Ω 程度のツイステッド・ペア (2心のより線) を使った「平衡」伝送路がですが、ケーブル伝送特性だけを考えた場合は、前者に圧 倒的な利点があります。ところが、ケーブルに信号を供給する「ドライバ」(driver) と呼ばれる「IC」のコスト、消費電力、ケーブルのコストを考えると、後者が有利と いうことで、コスト優先の「SCSI」の「不平衡」伝送では、ツイステッド・ペアを採 用しました。
「SCSI」が使うケーブルと同じ、ツイステッド・ペアを使用した「平衡」伝送の規格 としては、「RS422」の 100 Ω をはじめとして、「AES3」の 90 から 120 Ω ライン を想定した、ラインドライバ 110 Ω +- 20% といった規格等、すべてが 100 Ω 程度 の「特性インピーダンス」を想定していますが、これは、「ツイステッド・ペア」、 つまり、2本の絶縁電線をより合わせた構造にとっては、とても「自然な値」だと いうのが、その理由です。
ケーブルの「特性インピーダンス」は、導体と絶縁体の幾何学的構造と、素材の電気 特性で決まりますが、実用的なケーブルでは、さほどの「自由」はありません。平衡 型伝送に適した「ツイステッド・ペア」を使う以上は、「自然に」この程度のインピ ーダンスになります。また、この値は幾何学的に「相似形」であれば等しく、ケーブ ルの「太さ」とは、本質的な関連がありません。
一方、ケーブルを「使う方の事情」は、「平衡型」伝送用に、100 Ω 程度の出力イン ピーダンスをもつ「ラインドライバ」や、100 Ω 程度の入力インピーダンスを持つ 「ラインレシーバ」を設計するのは容易ということで、もともと、平衡ラインである、 「ツイステッドペアを平衡伝送路に利用」する場合は、すべてがうまくゆくことにな ります。
「RS422」の 100 Ω をはじめとして、「AES3」の 90 から 120 Ω ラインを想定し た、ラインドライバ 110 Ω +- 20% といった規格等、すべてがこのあたりに落ちつ く理由は、この「物理的自然さ」にあります。
「SCSI」の場合も、「平衡型」インタフェース (differential) で使う限り、そう不 自然な値ではありません。ところが、「不平衡型」インタフェース (single end) で 使うと、まったく事情が変わってきます。一対ずつのペアのインピーダンスが、規格 の意図した値だとしても、それらを「使用」する「回路」は、「共通グラウンド」に よる、ツイステッドペアの並列接続になりますから、実際の使用時のラインインピー ダンスは、大幅に低下してしまうのです。
この特性インピーダンスの低下は、共通グラウンドによって生じた、多数の「電流ル ープ」を原因とした、「インダクタンスの減少」に起因するものですが、これがどの 程度のものかというと、ほとんどの人々にとって入手可能な、「安価」なケーブルで は、50 Ω 程度になり、その結果として、50 % 程度の電磁波の反射が起きます。こ れが、普通の「SCSI」ケーブルの「実態」です。
ケーブルの「特性インピーダンス」というのは、光の「屈折率」と似ていて、その値 が異なるところでは、電磁波が「反射」します。ケーブルは1次元ですから、屈折は ありません。反射の程度は、インピーダンスの違いの程度が大きいほど、大きくなり ます。実際に、どの程度反射するかを求めるのは、とても簡単で、次のようになりま す。
反射係数 = (Zt/Z0 - 1) / (Zt/Z0 + 1) ここに、 Zt = 終端インピーダンス Z0 = ラインインピーダンス(ケーブルの特性インピーダンス)
「反射係数」というのは、反射波の入射波に対する割合です。0 のとき無反射、1 や -1 のとき全反射になります。Zt と Z0 が等しい場合、無反射になることはすぐわか りますが、「ターミネータ」は、この状態を実現するのが目的です。0 以外では、プ ラスの場合とマイナスの場合ができますが、反射係数の正負は、もとの入射波を打ち 消す方向か、助長する方向かの「向き」を表します。
Zt == 0 はショート状態ですが、「ショートすると電圧がでない」のは、反射係数が -1 になって、「入射した電磁波を完全に打ち消すような、反射波が生じる」ためで す。この場合は、全反射ですから、エネルギの消費もありません。
逆に、Zt >> z0 は解放状態ですが、この場合は、入射波を助長する方向に反射しま す。つまり、ステップ状の入射波は2倍の電圧になって戻ってゆきます。つまり、ケ ーブルの始端を駆動するドライバから見ると、ステップ状の電圧を加えて、ケーブル をドライブしたとき、当初、ケーブルの特性インピーダンスが負荷になっているよう に思えてしまい、ケーブル終端が解放されていたのがわかるのは、反射波が戻ってき たとき、ということになります。また、息抜きで、両端解放の場合を考えてみるとお もしろいかもしれません。
先ほどの例で、SCSI のパッシブ終端 132 Ω と、安価な市販品 50 Ω の値を入れて みると、0.45 になりますから、ほぼ、電圧にして半分の反射が、入射波を助長する 方向に生ずることがわかります。つまり、ケーブルの途中に接続されたデバイスにと っては、波形の立ち上がりが、大きくなまったデータを受け取ることになります。
「SCSI-2」で追加された、「アクティブターミネータ」は、別に電源を用意すること で、消費電力の増加を避けながら、終端インピーダンスを、普通の平衡型伝送ライン と同じ、110 Ω に下げていますから、少しましになります。実際のシステムでは、 これ以外の複雑な要因が原因して、かなり複雑な波形になりますが、本質的には、こ れまでの議論で十分です。
電磁波の反射が問題になるのは、信号波形が変化する速度が、ケーブル中を往復する 反射波のタイミングと同じ程度の速度になったときですが、ケーブルの中を伝わる、 電磁波の速度は、普通、光速の 50% から 90% 程度です。これは、主として、使われ ている、絶縁体の誘電率で決まります。例えば、この値を 60% とすると、10 MB/sec パルスの 1 周期に、進める距離は、18m にしかすぎません。つまり、数 MB/sec 程 度のデータ転送は、かなり小型のシステムでも、電磁波の速度と競合します。「電磁 波や光は、決して速くない」のです。
仮に 50% の反射があるとしても、反射波が数回往復すれば、ほぼ元の波形に一致しま すから、波形の立ち上がりの時間内で、この往復時間が吸収できるような、「低速伝 送」か、逆に、ケーブルが十分短い「近距離伝送」であれば、反射波の存在は、無視 できます。「SCSI」の現状は、まさに、この境界すれすれの難しいところにあります。 1 m 程度で使う限り、ほとんどどんなケーブルでも、動作しましすが、数 m のケーブ ルになると、「SCSI-1」の遅めの同期転送 2.5 MB/s 程度でさえ、ハードディスクの アクセスが不可能になって、システムがブートしなくなります。「SCSI-2」で導入さ れた、10 MB/s の同期転送になると、この数分の一の長さで、問題を生じます。
システムがブートしないというのは、現象がはっきりしていて良いのですが、たまに 誤動作するといった障害の場合は、とても苦労します。
ツイステッドペアで 110 Ω という、物理的にはとても自然なケーブルも、「SCSI」 の「シングルエンド」で使うと、極端に低いインピーダンスになってしまうというの が、「シングルエンド」「SCSI」の問題点ですが、問題の方向としては、「SCSI」バ スの終端インピーダンスを低くして、ケーブルの実態に合わせるか、ケーブルのイン ピーダンスを大きくして、並列接続した状態で「SCSI」規格のインピーダンス規定を 満足するようにするかの、いずれかになります。
前者の方向で開発されたのが、「SCSI-2」の「アクティブ・ターミネータ」で、 「SCSI-1」の 132 Ω という「パッシブ・ターミネータ」の抵抗値を 110 Ω に下げ ることに成功しました。詳細については、この後ほうで述べまが、17 % の差ですか ら、馬鹿になりません。
後者の方向としては、ケーブルの外径を増加させるのが一番楽ですが、そうすると、 「SCSI-2」のハーフピッチ・コネクタに適合しないとか、フレクシビリティが失われ るとか、システムの小型化と矛盾するとか、いろいろな問題が出てきます。「514X」 シリーズの「SCSI」ケーブルでは、いろいろな手法の蓄積により、これらの問題を解 決し、実用的な製品にまとめました。
ケーブルの寿命は長いですし、ケーブルを原因とするトラブルは、原因把握に時間が かかりますから、良いものを長く使うのが、結局、安上がりになると思います。昔、 妻と共同購入した、イギリスの「アラジン」社の石油ストーブを、長いこと使ってき ましたが、日本製と違って、補修部品も安く、長期間にわたって供給されていること に、つくづく感心したことがあります。日本のやり方は、まるで、お金を捨て、ごみ を作る運動だと思いました。
電磁波の反射は、「インピーダンスの異なるところ」で起きます。終端抵抗も、その
ひとつですが、反射の原因はあちこちにあって、異なるインピーダンスのケーブルを
接続すれば、そこで反射しますし、ケーブルを接続する「コネクタ」から基板までの
配線が長いとか、うっかり、終端解放の短いケーブルをどこかにつけてしまったとか、
いろいろな失敗があります。設計者以外のユーザレベルでは、少なくとも、次の点に
注意するのが良いと思います。
良いケーブルを使ったとしても、システムの一部に悪いケーブルが混じると、元も子も
ありません。十分注意してください。悪いケーブルは、短く使うか、遅いシステムで
使うようにします。
これを見ると、細い、抵抗の大きな導体を使ったケーブルを長く引き回したりすると、
きわどい状態になりそうですが、「SCSI」規格でも、この点はわかっていて、
「TERMPWR」の導体サイズに関する注意があるのですが、入手の容易な、普通の市販
ケーブルでは、守られていません。理由は、コストアップと、ケーブルの外径増加に
あります。ただ、「安価」なケーブルを使ったとしても、規格いっぱいの 6 m で Ω
程度の導体抵抗ですから、100 Ω 程度の終端抵抗と比べて、そう大きな値ではありま
せん。
「SCSI-2」では、「アクティブ・ターミネータ」が追加されましたが、こちらは、
「100 - 132 Ω の終端抵抗を 2.5V 以上の電源にプルアップし、0.5V のラインド
ライバに対して、二つのターミネータから供給される電流が 48mA を越えない」よう
に設計する仕様です。標準的な値としては、110 Ω と 2.85V、ローコスト版では、
100 Ω と 2.63 V を例示しています。アクティブ・ターミネータは、「ターミネータ
に電力を供給する電源の電圧を下げれば、同じ電流で、より低い、ケーブルの実態に
合った、終端インピーダンスが実現できる」というアイデアですが、これが、最近の
「LSI」技術と結びついて、使いやすい「IC」が、いろいろ生まれています。
一方、「出力」の方は、
出力の 0.4V から入力の 0.8V、あるいは、入力の 2.5V から 2.0V の差 0.4 - 0.5V
が、ノイズや反射の余裕になりますが、このうちケーブルの導体抵抗で消費されるの
は、普通、市販されているケーブルを 6 m で使った場合 0.05V 程度、規格に忠実な
ケーブルで 0.03V 程度のもので、導体抵抗の影響は 10% くらいのものです。
また、「SCSI」の伝送は、さほど高い周波数ではありませんし、距離も近いですから、
高周波の減衰特性は無視できる程度で、一番の問題は、反射と考えて良いと思います。
ケーブルの高周波に於ける減衰は、主として、導体の渦電流で決まりますが、これは、
ほぼ周波数の平方根に比例して増えるという、他の部品にはない、おもしろい性質が
あって、パルス波形にどんな影響を与えるか、興味をひかれます。なかなかおもしろ
いのですが、これは、もう「SCSI」とは、何の関係もなさそうです。
「シングルエンド SCSI」の電気仕様
.PP
以下、「SCSI」インタフェースの電気的仕様の概要を整理しておきます。「シングル
エンド SCSI」の「入力条件」は、次のとおりです。
真 (true): 0.0 - 0.8V (max -0.4mA @0.4V)
[SCSI-2 では -0.4 - 0.0mA @0.5V]
疑 (falese): 2.0 - 5.25V
[SCSI-2 では 0.0 - 0.1mA @2.7V]
入力ヒステリシス: 0.2V min
[SCSI-2 では、さらに、入力キャパシタンス max 25pF を追加]
この結果として、ターミネータは、2.0V 以上のバイアスを確保しなければなりません
が、ターミネータに電力を供給する「TERMPWR」の規定は、
Vterm: 4.0 - 5.25V (min 800mA) [SCSI-2 では 4.25 - 5.25V (min 900mA)]
ですから、4.0V のとき、220 Ω と 330 Ω の分圧ですと、2.4V になって、ノイズや
反射に対するゆとりは 0.4V ですが、この値は、後述のように、他のマージンと、ほ
ぼ同じです。SCSI-2 では、0.55V に改善されました。
真 (true): 0.0 - 0.4V [SCSI-2 では 0.0 - 0.5V @48mA]
疑 (falese): 2.5 - 5.25V
出力容量: -48mA min @0.5V [SCS-2 では削除]
ですから、ケーブルの両端に接続された、5.25V 駆動のパッシブ・ターミネータ
220 Ω を二つ引き受けると、規格が要求する 48 mA 丁度になり、間違って、ターミ
ネータを三つ以上つけたりすると、いとも簡単にルール違反を犯します。