◆ データ伝送の基本は、データを正しく送ることにあります。このためには、信号を送り出すドライバと、これを受けるレシーバ の選定が重要です。
ドライバ/レシーバは、トランジスタなどの素子で回路を組まなければならないこともありますが、多くは IC(集積回路)を利用することができます。ここでは、代表的なドライバ/レシーバ用の汎用 IC の紹介の紹介と、関連するデータ伝送の基礎技術について、解説します。
◆ 長距離伝送では、ドライバ/レシーバに、伝送用のドライバ/レシーバを使用する必要があります。しかし、ごく近距離の伝送には、プリント基板内で使用する、通常の IC を使用することができます。
◆ たとえば、プリンタのセントロニクス インターフェースでは、通常の TTL IC を使用しています。
図.1 は、普通の TTL LS00 を使用したときの伝送信号波形です。
[図.1] LS00による伝送波形
(a) 波 形
◆ (1)はドライバ出力、(2)はレシーバ入力、(3)はレシーバ出力です。ドライバ出力とレシーバ入力の波形は、立ち上がり/立下りのところで若干振動していますが、レシーバ出力は安定していますから、問題はありません。
◆ なお、実験ではレシーバは普通の LS00 を使用していますが、シュミットトリガ たとえば LS14 を使用した方がノイズに強くなります。
◆ 振動していても問題ないのは、距離が十分短いからです。もっと距離を伸ばすとどうなるでしょうか。図.2 は、距離が 8 m のときの波形です。
◆ 距離が 1 m のときと比べて、振動が激しくなり、かつ振動の周波数が低くなっていることが分かります。
とくに、図の(A)の部分の波形は、気になります。レシーバのスレッショルド電圧ぎりぎりです。この例では、幸いレシーバの出力には影響していませんが、もし僅かでもノイズが重畳すると誤動作を引き起こす可能性があります。
[注] TTL のスレッショルド電圧は、ハイとローとが対等ではありません(コラム 3.1 参照)。このため、一般にノイズに対しては、ローの方が厳しいのです。
◆ 以上のように、波形が振動し、また振動の周波数が伝送距離によって異なる原因は、何処にあるのでしょうか。この現象は、反射 とその反射によって引き起こされる、リンギングと呼ばれるものが原因です。
◆ 信号は、伝送路(ケーブル)の中を、波動として伝わります。この速度は一定です。伝送路の種類によって異なりますが、おおよそ 5 ns/m です(図.3)。
◆ 真空中(空気中もほぼ同じ)の光や電波の伝播速度は、約 3 ns/mです。それよりも少し遅いですが、ずいぶん高速です。
池の波が岸で反射するように、信号も、伝送路の端で反射します(反射に関する全般的解説は、ノイズ対策講座 第 6 章を参照してください)。
◆ 反射は伝送路の端で発生しますから、ドライバ/レシーバ系では、両端で反射が起こり、反射波が、伝送路を何回も往復します。その結果として波形が振動します。この現象をリンギング といいます。
リンギングの周期は、信号が伝送路を 2 往復する時間です。したがって、伝送路の長さに比例します。距離 1 m では 20 ns すなわち周波数で 50 MHz、距離 8 m のとき 160 ns すなわち約 6 MHz です。
★ ディジタル IC には、ノイズマージン があります。ディジタル回路はノイズに強いといわれていますが、これはノイズマージンのおかげです。このノイズマージンは、IC のファミリによって異なります(表3.1)。
IC のファミリ | VOH(typ) | VOH(min) | VIH | VIL | VOL(max) | VOL(typ) |
TTL LS(5V) | 3.4 | 2.7 | 2.0 | 0.8 | 0.4 | 0.25 |
CMOS HC(4.5V) | 4.5 | 4.4 | 3.15 | 1.35 | 0.1 | 0.0 |
CMOS HCT(4.5V) | 4.5 | 4.4 | 2.0 | 0.8 | 0.1 | 0.0 |
CMOS HC(2V) | 2.0 | 1.9 | 1.5 | 0.5 | 0.1 | 0.0 |
CMOS LVC(3V) | - | 2.4 | 2.0 | 0.8 | 0.55 | - |
★ 図で、typ は標準値、max ば最大値、min は最小値です。ファミリ名称の ( ) 内は、電源電圧の規定値です。TTL は原理的に電源電圧は 5V(1 定)ですが、CMOS の電源電圧は広い範囲から選べます。CMOS の 4.5V は 5V 電源で使用したときを想定したものです。
★ 実際には、電流値等によって電圧は変化します。表の値はそれぞれの IC で標準的な電流を流したときの値です。
★ TTL LS では、ハイ側のノイズマージンは、標準で(3.4 - 2.0) = 1.4V、最悪値で(2.7 - 2.0 = 0.7V です。これに対して、ロー側では、標準で(0.8 - 0.25) = 0.55V、最悪値で(0.8 - 0.4) = 0.4V です。すなわち、ロー側のほうが、厳しいのです。
★ CMOSは、原理的には電圧のハイとローとが対称で、しかも TTL に比べてノイズマージンの値が大きくなっています。この意味で、CMOSの方がノイズに強いのです。
ただし、ノイズに対する強さは、電圧だけからは決まりません。CMOSの耐ノイズ性に関する詳細は、ノイズ対策講座 14.(2) を参照してください。
◆ 次に CMOS を使用して見ます。CMOS にも幾つかのファミリがありますが、初期の製品である、B シリーズによる波形を図.4に示しす。
◆ B シリーズは、動作速度が遅いために、現在ではあまり使われません。しかし、遅いことによってノイズに強いので、耐ノイズ性を重視する場合には、現在でも使われています。
確かに遅いですが、その代わり、リンギングは全くありません。立ち上がりが遅いことが、リンギング防止に役立っているからです。
信号の立ち上がり/立下りの時間が、リンギングの周期よりも遅いとリンギングは発生しません(発生しても僅かです)(ノイズ対策 6.(3))。
◆ リンギングが発生しないのは、B シリーズ CMOS の動作速度が遅いからであって、CMOS だからではありません。動作速度が速ければ、リンギングが起こります。たとえば、CMOS の HC シリーズの動作速度は、TTL LS と同程度です。したがって、LS と同程度のリンギングが発生します。
信号の立ち上がりが、さらに速いIC(CMOS とは限らない)を使用すれば、リンギングはより短距離で発生します(1.1.(3)参照)。
◆ リンギングは、高速伝送で発生し易いと言われています。しかし、以上の説明から分かるように、リンギングは、伝送速度(パルス幅)に依存して発生するのではありません。
ただし、より高速の伝送を行うためには、より立ち上がりの速いドライバを必要とするという意味で、関連はあります。
◆ リンギングは、その信号自分自身に悪影響があるだけでなく、ノイズ発生源として、他に害を与えます。信号は、高い周波数の方が、ノイズを他に伝え易いからです(ノイズ対策 1.(3-E-a))。
この意味で、リンギングを抑えることが重要です。リンギングを抑えるためには、信号の立ち上がり速度を低くすることが有効です。不必要に動作速度が速い IC を使用しないことです。IC の選定に関しては、大は小を兼ねません。