- ベストアンサー
バスドライバについて
バスのドライバタイプに、OC(OD),TS,TPといったものが ありますが、基本的に、入出力端子の場合、TSしか選択肢 がないと考えるのでしょうか? 入力端子にOC(OD)やTPを採用できるのでしょうか? 的を得にくい質問かも知れませんが、 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
トライステート出力は、Hi、Low とHi-Zの3つの出力状態を持ちます。Middleという表現はあいにく聞いたことがありませんが、タイミングダイアグラム図では、Hi、Lowの中間レベルに線を引いてHi-Zを表しますから、それをMiddleと言っているのでしょうか。しかし、実際のバス電圧レベルとしては、中間電位のまま放っておくことは無く、Hi-Z中でも抵抗やアクティブターミネータを使ってHiまたはLowのどちらかに引っ張ります。従ってMiddleという表現には、違和感を覚えます。 質問者さんが、74HC245 のような双方向バスドライバを念頭に置いて質問されているのであれば、あるピンについて見ればたしかにHi出力、Low出力、およびHi-Z入力の3つの状態しかありません。一方、ボードレベルで考えると、例えば 74HC244で外部コネクタに信号を出力し、同時にその端子から74HC14で信号を取り込んでいるような場合、74HC14は常に入力状態であり、74HC244の出力状態とは無関係です。従って、Hi-Z状態がすなわち入力状態であるとは言えません。 TPについて歴史的な経緯をたどると、ロジックデバイスは、RTL(レジスタ・トランジスタ・ロジック)やDTL(ダイオード・トランジスタ・ロジック)の時代は、出力が OC でした。OC 型出力の長所は、複数の出力を単につなぐだけで、負論理のOR回路ができることです。これをワイヤード・オアと言います。 その後、TTL(トランジスタ・トランジスタ・ロジック)の時代になり、出力が TP 構造になって、伝播遅延時間が格段に短くなり、高速動作が可能になりました。TP 出力は2つのトランジスタをトーテムポールのように上下に重ねて、Hiを出力するときは上のトランジスタを ON にし、Low を出力するときは下のトランジスタを ON にします。つまり、かならず Hi か Low のどちらかを出力しているので、出力同士をつなぐことはできません。しかしこれではバス構造の信号に接続できないので、OE(アウトプットイネーブル)端子を追加して、上下両方のトランジスタを OFF にできるようにしたものを作りました。これが TS 出力です。 従って、TP と TS を並べて書いた場合、TP は当然 TS で無いものを意味するので、TP 同士の出力をつなぐことはできません。 ある端子が入力と出力を兼用する場合、その端子につながる線について見れば、あるときは左から右に信号が流れ、別のあるときは右から左に信号が流れます。別の言い方をすれば、入出力兼用端子には、別のデバイスの出力がつながります。そのため、複数の出力を1本の信号線につないでも、問題が生じないようにしなければなりません。OC 型出力は、自分が出力状態に無いときは Hi レベル出力にしておけば、他の出力のじゃまをすることが無いので、容易に複数の出力をつなぐことができます。
その他の回答 (2)
- LCR707
- ベストアンサー率70% (95/135)
OC、OD、TS、TPと記号で書かれると、理解するのにしばらく時間がかかります。 OC(オープンコレクタ)、OD(オープンドレイン)、TS(トライステート)、TP(トーテムポール)の意味で良いでしょうか。 入力と出力が兼用になっている入出力端子の場合、大部分は入力とTS出力がつながったものだと思います。これはTSのバス駆動能力が高いためです。 しかしそれ以外に、OCやOD型のものもあります。これを採用する目的は2つあり、1つは異なる電圧のデバイスに接続する場合。もうひとつは衝突防止の為です。 例えばI2Cデバイス用のSCL、SDA端子は、ODを抵抗でプルアップしたものです。これは複数のI2CデバイスからマスターデバイスにACK信号やデータを返すためにこのようになっています。普通、双方向バスでは、各デバイスのTS出力を時間を置いて切り替えて出力同士が衝突しないように制御しますが、I2Cデバイスの場合、アドレスやデータ伝送の最後にACKビットとしてスレーブデバイスから逆方向に送られるという、送信と受信がクロックに同期してつながった形式になっており、方向切り替え時間の余裕がありません。また誤動作によって複数のスレーブデバイスが同時にACKを返す恐れもあるので、出力同士が衝突しても問題を起こさないOD型が採用されています。 TPの場合は、出力がHiかLoしか無く、高インピーダンス状態にならないので、入力端子と兼用することは無意味ですが、故障検出のような目的のためにそのような接続をする例があるかも知れません。
補足
回答ありがとうございます。 >OC(オープンコレクタ)、OD(オープンドレ >イン)、TS(トライステート)、TP(トーテム >ポール)の意味で良いでしょうか。 その通りです。 トライステートは、Hi,Low,Middleの3ステートで、Hi,Lowは出力、Middleは入力状態で Hi-zと理解しています。あってるでしょうか? >TPの場合は、出力がHiかLoしか無く、高イン >ピーダンス状態にならないので、入力端子と兼用する >ことは無意味ですが、 TPは、なぜ入力と兼用できないのでしょうか? また、TPは、2つともスイッチ(トランジスタ)を offすればどちらにもつながれていないHi-z状態と 考えることはできないのでしょうか? それに比べて、OC(OD)の場合は、入力と兼用でき るのは、なぜなのでしょう? 恐れ入りますが、よろしくお願いいたします。
- uguisuno
- ベストアンサー率26% (16/60)
OC、OD、TPは出力回路の回路形式です。 >入力端子にOC(OD)やTPを採用できるのでしょうか? 質問の意図が分かりませんので補足してください。
お礼
>OC、OD、TPは出力回路の回路形式です。 ですよね。ありがとうございます。
お礼
改めて、詳しい回答ありがとうございます。 よく整理し、理解を深めたいと思います。