今回もまた、トランジスタで論理ゲートを作ってみます。ここで作るのは、3ステートのNOTゲートです。今回もまた、回路シミュレータを使って、作ったつもりになります。3ステートゲートとはパソコン内では、いろいろなデバイスがバスに接続されています。下図はあまりに古典的な絵ですが、この絵で、たとえばCPUがRAMから読み出すとき、ROMがバスにデータを出力すると、CPUはでたらめな値を読んでしまうことになります。これを避ける方法として、不要なデバイスをバスから切り離す方法があり、3ステートゲートを用いると、そのようなことが容易に実現できます。L以外に、ハイインピーダンス状態をとることができます。ハイインピーダンス状態では、ゲートの出力が切り離されたのと同じことになります。Q2がONであれば出力はLになります。Q2が共にOFFになった状態を考えると、出力は不定になります。これがハイインピーダンス状態です。3ステートゲートは、出力をこのような状態にできるゲートです。3ステートゲートの製作では、回路シミュレータを用いて、それらしいものを作ってみます。Viewer』を使います。これはとても使いやすい回路シミュレータで、体験版が提供されているので、ぜひダウンロードして試してみることをお勧めします。74368を選びました。これは一つのICに6つの3ステートNOTゲートが入ったものですが、ここではその一つのゲートを取り出し、さらに回路を少し簡略化してあります。R9は、出力がハイインピーダンス状態になったとき、電圧を2.5Vに固定するためのもので、今回作成するゲートに含まれるものではありません。出力は、山吹色のプローブがつながっているところです。この3ステートNOTゲートは、制御入力(等価回路のe1がつながった部分)がLのときはNOTゲートとして動作し(入力はe2がつながった部分)、制御入力がHのときは出力はハイインピーダンスになります。t2ともに2m秒で出力電圧が5V、e2は出力電圧は5Vです。オシロスコープを上図の各プローブの絵の個所に接続してみると、下図のような表示になります(スイープのタイミングによっては、図が違うかもしれません)。図の上部にある(1)は、説明のために書き足したものです。DIVに設定してあります。この図から、制御入力(緑色)がLの間(図の(1)の期間)は、紫色の入力に対して山吹色の出力が反転しているのでNOTゲートとして動作していることが分かります。制御入力(緑色)がHの期間は、紫色の入力に関わらず、山吹色の出力は2.5Vあたりで一定になっており、ハイインピーダンス状態になっていることが分かります。R9をつないでいるためです。雑感15年くらい昔に、パソコン(いや、当時はマイコンだった)を自作しようとしていた頃、3ステートゲートが入手困難になったことがありました。ゲーム機向けに大量に使われている、との噂だったのですが、本当のところはどうだったんでしょうね。何にしても、このテーマも前々から気になっていたものなので、一応片付いて実にすっきりした気分です^^)今回もまた、(株)マイクロネット社の回路シミュレータ(の体験版^^;)を利用しています。ありがとうございます。