FDDの信号レベルとターミネータの値


PC-98のFDDの信号レベルとターミネータの値に関する考察です.かかっくんさんとtshさんに情報ならびにご教示をいただきました.

■デイジーチェイン時におけるFDDのターミネーションに関する理論的事項
この項の記述は,
 ・井芹陽一 (1988). PC9801へのFDDの接続法と2DDから2HDへの改造 トランジスタ技術SPECIAL NO.11 特集 フロッピ・ディスク・インターフェースのすべて ――需要の急増するFDDシステムの基礎から応用―― CQ出版, pp.141-170.
 ・高橋昇司 (1989). フロッピ・ディスク装置のすべて ――FDD全タイプの基礎から応用まで―― CQ出版
 ・湯山俊夫 (1986). ディジタルIC回路の設計 CQ出版
に基づいています.

FDD信号のやりとりはすべて負論理で,TTLレベルまたはCMOSレベルで行われる.

(1) TTLインターフェースにFDDをデイジーチェイン接続する場合
(a) 8インチFDDを使用した従来のシステムでは,ケーブル長は3mないし6mで設計されている.この場合ホストシステムから電気的に一番遠い位置のFDDにのみターミネータ(終端抵抗)を必要とする.これは信号の反射を抑えるためと,シンク電流の問題[(b)を参照]のためである.ターミネータとしては150Ω抵抗が用いられる.
  ※一般的なフラットケーブルの特性インピーダンスは110Ω[井芹 (1988) によれば約100Ω−200Ω程度].従ってターミネータの抵抗値は理論的には110Ωが最善と言える.実際には150Ωのプルアップ抵抗が用いられる(220Ωプルアップ/330Ωプルダウン抵抗が用いられる場合もあるが,伝送波形等の点から150Ω抵抗を用いた方が安全).

(b) 出力ドライバにはターミネータを十分にドライブする能力が要求される.ラインドライバとしては,ホストシステム側,FDD側ともに7438(LSタイプでなくスタンダードタイプ),またラインレシーバは,ホストシステム側は7414(これはLSタイプでも構わないが,伝送波形の歪みへの対策としてシュミットトリガ素子を使用すべき)で,FDD側はTTL ICが用いられる.
 7438のシンク電流は最大で48mAだが,これは100Ω抵抗の両端に5Vの電圧を印加したときの電流値とほぼ同じ.7438の終段のトランジスタがオンの時(出力が "0"),この部分の電圧降下を0.4Vとしても,7438の出力に接続されるプルアップ抵抗は95Ω以下にはできない.
  ※この論は,8インチドライブであるFD1165Aなど,ターミネータに150Ω抵抗が用いられているFDDを駆動するシステムに関するものです.下に述べるように,多くのFDDのターミネータにには,より高い値の抵抗が用いられています.また,ここではラインドライバとして74LS38でなく7438を用いる必要があるとされていますが,実際には,8インチFDDも接続して使用できる1MB FDD I/FであるPC-9821A2-E02やLFA-19などでも,LSタイプが用いられています.

(c) 一方,ターミネータをケーブルのインピーダンスマッチング用としてでなく,単なるプルアップ抵抗とみなす考え方がある.この考え方が妥当なのは,ケーブル長が1m程度の場合.
  ※ケーブルのインピーダンスマッチングが取れていない状態でFDDを動作させることになるため,信号の伝送波形の歪みが大きくなってしまう.これできるだけ抑えるためには,ケーブルを極力短くする必要がある.

(d) この場合ターミネータを数kΩにしても,通常は問題となることはなく,またデイジーチェイン接続時でもケーブル途中のFDDのターミネータを取り外さないことが多い(この考え方に基づいて設計されたシステムで使用されるFDDでは,ターミネータの有効/無効が設定できないものも多い).
  ※例えばターミネータが1kΩのFDDを複数台デイジーチェイン接続した場合,ホストシステムから見た合成抵抗値は1kΩより低くなるが,FDDが4台の場合でもそれは250Ωであり,従来のやり方によるより電流値は少ない(ただし入出力素子は従来のやり方でのものと同じ).

(2) CMOSインターフェースにFDDを接続する場合
(e) CMOSインターフェースは3.5インチFDD(の多く)で使用されている.TTLインターフェースと異なり,出力ドライバに特別な素子を必要としない.また消費電力も非常に小さいため,バッテリー駆動やスタンバイ時の消費電力を下げる上でも有利である.

(f) 出力ドライバのシンク電流が小さく,ターミネータの抵抗値が2−10kΩ程度と大きいため,ケーブル長は長くても1m程度にする必要がある[ケーブルが長すぎると,信号波形にオーバーシュートやアンダーシュートが混じり,ラッチアップ(注)が起きてしまうことがある.もっとも,現在のCMOS ICではラッチアップの発生を抑える工夫がなされている].
  注:CMOS ICは入出力のインピーダンスが非常に高いため(これは信号の電流値が非常に小さいことと表裏一体),静電気による破壊が生じやすい.具体的には,外部ノイズ等によりIC内部のいわゆる寄生トランジスタ群の中に電源端子と0V端子間がショートしてしまうものができて,これがICの異常発熱や素子破壊を起こす.この現象がラッチアップ.

(3) CMOSインターフェースとTTLインターフェースとの接続
(g) 両インターフェースのスレシホールド(スレッショルド)電圧には違いがある場合があるので注意が必要である(TTLコンパチブルなCMOS ICもあるが).一般的には,電源電圧が5Vの場合,TTL ICでは入力信号の電圧が0.8V以下でLレベル,2.0V以上でHレベルと認識されるが,CMOS ICではこれらの電圧は順に1.5V以下と3.5V以上である.出力信号の場合は,TTL ICでは0.4V以上でLレベル,2.4V以上でHレベルであり,CMOS ICではこれらの電圧は順に0.4V以上と3.5V以上である.またTTLのドライバICである7438などでは,出力トランジスタがオフの時の漏れ電流が規格では250μAと大きく,6.8kΩ程度以上のターミネータではこの漏れ電流による電圧降下のためにHレベルの電圧が保証されなくなる危険性がある.伝送波形の歪みを抑える上でも,ターミネータには数kΩ程度の低めの値の抵抗を用いるのがよい.
  ※TTL ICの出力にCMOS ICを接続する場合,TTL ICのHレベルでの出力電圧は最低2.4Vとなる可能性があるが,CMOSは3.5V以上しかHレベルと判定しないため,誤動作を起こす危険性がある.これを防ぐためには,CMOS ICの入力をプルアップする.また逆にCMOS ICの出力にTTL ICを接続する場合には,CMOS ICの出力電圧には問題はないが,電流レベルの点で制限を生じるため,ファンアウトに注意する必要がある.

■FDDのターミネータの抵抗値
ターミネータの抵抗値は,FDDの制御基板上の集合抵抗やチップ抵抗に記されている数値を直接読むことの他に,入力信号ピンと+5Vラインとの間の抵抗値を測定することでも知ることができます.

3.5インチFDD
  ・FD1135D …… 330Ω
  ・FD1137D …… 330Ωまたは2kΩ
    ※134-500534-207-0/制御基板G8BEN,134-500534-218-0/G8BENでは330Ω,134-500534-201-0/G8AEBでは2kΩ.
  ・FD1231T …… 2kΩ
  ・FD1138T,FD1138D(26ピン,34ピンともに),FD1139C,FD1139T,FD1238T …… 10kΩ

5インチFDD
  ・FD1155C,FD1155D,SD-680L …… 330Ω
  ・FD1158C,FD1158D,FD-55GFR,FD-55GFV …… 1kΩ

8インチFDD
  ・FD1165A …… 150Ω

■デイジーチェイン接続時のFDDのターミネータの合成抵抗値
ターミネータを無効にできないFDD(注1)を他の種類のFDDと2台デイジーチェイン接続した場合のターミネータの合成抵抗値の例です.FD1155C/D,SD-680Lはホストシステムから電気的により遠い位置(ケーブルの端,2台目設定)に取り付けた場合にだけターミネータを有効にするものとします(注2).
 注1:FD1158C/Dではターミネータの有効/無効をVCジャンパで設定できますが,無効にするとヘッドが暴走し,その後メディアが読み取れなくなるといいますので(もしかしたら開発室 --> 色々な5インチFDDをAT互換機に付けてみる を参照),VCジャンパはショートのままで使用します.
 注2:FD1155DはVCジャンパによりターミネータの有効/無効を設定するようになっていますが,PC-9801VXの内蔵FDDとして2台デイジーチェイン接続されている場合,ターミネータは両方のドライブで有効(VCジャンパ = ショート)に設定されているといいます(tshさんより情報をいただきました).しかし,日本電気株式会社 (1986). FD1155D 5 1/4" フロッピィディスク装置 概説書 806-520366-0 第2版(1986年9月4日発行). では,デイジーチェイン接続時には,やはりホストシステムから電気的に最も遠い位置のドライブのみターミネータを有効にせよと指示されています.

  ・FD1138T(10kΩ)+FD1138T(10kΩ)  5kΩ
  ・FD1231T(2kΩ)+FD1231T(2kΩ)  1kΩ
  ・FD1138T(10kΩ)+FD1231T(2kΩ)  1.7kΩ( = 10000Ω×2000Ω/12000Ω)
  ・FD11231(10kΩ)+FD1158C(1kΩ)  909Ω
  ・FD1138T(10kΩ)+FD1155D(330Ω)  320Ω
  ・FD1138T(10kΩ)+SD-680L(330Ω)  320Ω
  ・FD11231(2kΩ)+FD1158C(1kΩ)  667Ω
  ・FD1231T(2kΩ)+FD1155D(320Ω)  283Ω
  ・FD1231T(2kΩ)+SD-680L(330Ω)  283Ω
  ・FD1158C(1kΩ)+FD1155D(320Ω)  248Ω
  ・FD1158C(1kΩ)+SD-680L(330Ω)  248Ω

ターミネータの合成抵抗値はすべての組み合わせで110Ω以上で,最大でも5kΩですから,安全圏といえそうです.またターミネータの抵抗値の異なるFDDをデイジーチェイン接続する場合,ターミネータの役割を考えると,ターミネータの抵抗値の小さなFDDをホストシステムから電気的により遠い位置(ケーブルの端,2台目設定)に接続した方がよいと思われます.

■98ノートのFDDを他種のFDDで代替することの安全性
98ノートのFDDのインターフェースはCMOSインターフェースかもしれませんが,確認していません.筆者が試した限りでは,PC-9821Nb7でFD1238Tの代わりにFD1138T,FD1231T,FD1155Dを,またPC-9821La13でFD1238Tの代わりにFD1138Tをそれぞれ直結で使用してもFDDは動作しました(PC-9821Nb7・Nr13等にFD1238T以外のFDDを接続するケーブルPC-9821La10/La13のFDDユニットのFD1238TをFD1138Tで代替の各記事を参照).しかしもし98ノートのFDDのインターフェースがCMOSインターフェースなのであれば,TTL ICインターフェース用に設計されていると思われるこれらのFDDを接続する場合には,電流の問題を考えるとTTLのバッファIC等を信号ラインに挟んだ方が安全でしょう.


トップページ