- ベストアンサー
3ステート・バス・バッファの理解について
- 通常のロジックICは「HighかLow」または「1か0」だけなのに対して、3ステートは「OFF」という3つ目の状態を持ち、関係ない時にバスから切り離すことができます。
- 通常のロジックICでは出力同士がショートすることがあるため、3ステートを使用することでマイコンのバスをCPU、メモリー、ハードディスクなどが共有できるようになります。
- 3ステートは入力信号、制御信号、出力信号の3つの信号を持ち、制御信号の値によって出力信号が制御されます。制御信号が「1」または「High」の場合、入力信号がそのまま出力されます。制御信号が「0」または「Low」の場合、出力信号は何も出力しません。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ほとんど合っています。74367というICは実際には制御信号が「0」のときに出力状態=入力状態 になります。(質問文中の制御信号の「0」と「1」が実際の素子では逆になっています。)まあ、これは本質ではありません。 考え方としては、通常のロジックは2値(「0」とか「Low」、「1」とか「High」)の信号が入力にも出力にも使われます。一方、トライステートバッファでは「0」でも「1」でもない状態、つまり第3の状態を作ることができる、ということです。 「0」でも「1」でもない状態とは、切り離されている状態です。繋がっていないのですから「0」でも「1」でもありません。出力の状態は他のICなどが決めることになります。 質問文のなかの、「出力信号:なにも出力されない」 という文章は正しくて、自分が何も出力しないから、その信号線は他のICの自由になります。↑に書いた「出力の状態は他のICなどが決めることになります。」というのはこのことを言ったものです。 なお、入力に対してトライステート状態を受け入れるロジックICはありません。必ずどこかに2値動作の信号があって、「0」か「1」かが確定していないと正しく動作しません。 もうひとつ。これはトライステートバッファについてのご質問ですが、バッファじゃなくてもトライステートはあります。(たとえばTC74HC573Aなど)一般的にはトライステートロジックと言うのが適切でしょう。
その他の回答 (3)
- 久保 泰臣(@omi3_)
- ベストアンサー率24% (254/1030)
CPUから出ているバスには、 複数のIOユニットが接続されていて、 IOユニットからバスへの出力を許可されると、 HI or LOW、の出力信号を乗せます。 許可時間外は、出力をフローティングして 他のIOユニットを邪魔しないようにします。 3ステート機能とは、HI、LOW、に加え フローティング能力があることを言います。 バスから IOユニットへの入力回路は常に通じていますが インピーダンスが高いので負荷にはなりません。 シリアルバスでは、他のIOユニットへの入力信号も、 監視しておく必要があります。
3ステートってのは ーー・ーー・ーー・ーー・ーー・ーー ってICの足をつなぐんですが、データバスなんか選択されたメモリICのみ出力モードになるので(黒丸がICごとの足として) ーーーー・ーーーーーーーーーーー ってなるんですよ。 通常は ーーーーーーーーーーーーーーー です。 =■==■==■==■==△ 三角は終端抵抗、黒い四角はメモリーチップ
- lumiheart
- ベストアンサー率47% (1141/2405)
恐らく、3ステートバッファについての一番詳細な解説 https://toshiba.semicon-storage.com/jp/design-support/e-learning/micro_intro/chap1/1274771.html 3ステートバッファにしなければならない回路例 https://toshiba.semicon-storage.com/jp/design-support/e-learning/micro_intro/chap2/1274807.html 3ステートバッファに近い考え方の事例 ワイアードオア http://userweb.alles.or.jp/chunichidenko/mycpu48.html http://www.page.sannet.ne.jp/je3nqy/degital/losic7.htm