2021.4.4
前へ
次へ
ホームページトップへ戻る

トランジスタでCPUをつくろう!
トランジスタで8080をつくってしまおうというまさにびっくり仰天、狂気のプロジェクトです!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
見事にできましたら、もちろんTK−80モニタを乗せて、それからBASIC、CP/Mを走らせましょう!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆


[第337回]



●TR126はまた作り直しです

TR126は出力をハイインピーダンスにするとトランジスタが逆接続状態になるために出力に逆電流が漏れてしまうことがわかり、[第330回]で出力回路にダイオードを挿入するという改造を行いプリント基板を作り直しました。
そのように対策したため漏れ電流はなくなったのですが、出力回路にダイオードを直列に入れたために普通のロジック回路ならばH出力のときはVccに近い電圧が出力されL出力のときにはGNDに近い電圧が出力されるところ、H出力はVcc−0.7V、L出力は逆にGND+0.7Vほどの出力になってしまいました。
これはまあ仕方がないこととしてそのままいくつもりだったのですが。
どうにもすっきりしないのですよねえ。

頭の中のどこかで
「こんなアホな回路はないぞお」
「何かほかに方法があるだろうが」
という声が聞こえるような気がします。
それでTR126の回路図を眺めながら、首をひねって考えておりましたら。
「おおお。なんてことだ」

トランジスタ回路のイロハを完全に忘れてしまっておりました。
このところずっとずっとトランジスタのNAND回路などのロジック回路ばかりやっていたものですから、普通のアナログ回路でしたらごく自然に考えるはずの回路を使わないで、とんでもないおばかな回路にはまりこんでしまっておりました。
それがわかったからにはもう一度作り直さないわけにはいきません。
もうほんと、やれやれです。

どこをどのように直したかがわかるようにまずはもとの回路図を下に再掲します(ダイオードを入れる前の回路図です。この回路図は[第327回]でお見せしました)。

もとの回路(上の回路)では出力をハイインピーダンスにするためにE入力がLのときに出力回路のトランジスタT1とT2をVccとGNDから遮断するためのトランジスタT3とT4をそれぞれT1とT2のエミッタ側に置いています。
これはA入力とE入力のNANDに近い考え方なのですが、その考えには大きな穴がありました。
NAND回路ならばHかLのどちらか一方は必ず出力されるのでそのとき出力されない側の回路が逆接続状態になることはありません。
ところがなまじ同じ回路にしたためにHもLも両方とも出力されない場合(そのようにするのが目的だったのですから仕方がないことなのですが)、今まで書いてきましたようにトランジスタが逆接続状態になってしまったのでした。
それではそこをどうしたらよいかといいますと、ダイオードなどを使ったりしないで下の回路にすべきだったのでしした。

トランジスタのT1とT2の出力をOFFにするにはこの回路図のようにT1とT2のそれぞれのエミッタとベースをショートさせてやればよかったのです。
簡単なことでこれはトランジスタ回路のイロハともいうべき基礎的な回路です。
図のT1とT3で説明します。
E入力がLのときはT3がONになります。
T3がONになるとT1のエミッタとベースはともにVccになるためT1は完全にOFFになります。
T1が逆接続になるのはT1のベース電位がコレクタよりも低くなるときですからこの回路ではありえません。
T2とT4の場合も同じです。
T4がONになるとT2のベースとエミッタはともにGNDになりますからT2は完全にOFFになります。
T2が逆接続になるのはT2のベース電位がコレクタよりも高くなるときですからこの回路ではありえません。
この回路はもとの回路のE入力のロジックを逆にしてT3とT4のベースに接続するとともにT3とT4のコレクタをそれぞれT1とT2のベースに接続するように変更しただけですから、新たにトランジスタやダイオードなどを追加したりする必要はありません。
この回路の最大のメリットは出力にダイオードを入れる必要がないため、H出力はVcc、L出力はGNDになり、Vccからの電圧降下やGNDからの浮き上がりがないことです。
なお旧回路ではE入力回路に2SC1815が2個つながっていたためにE入力のプルアップ抵抗を3KΩにしました。
今回の回路ではE入力回路のロジックを逆にしたためE入力につながる2SC1815が1個になりました。
そこでE入力のプルアップ抵抗もA入力と同じ4.7KΩに変更することにしました(この変更は間違いであることが後でわかりました)。

理屈通りに動作するかどうか、基板を作り直す前にまずは今までの基板を手配線で変更して動作テストを行ないました。

以前にダイオードを追加するために手配線で変更した基板を再利用しました。
左から2番目(この写真では右から2番目)の回路を手直ししました。

出力電圧のテストです。

A=0、E=1の時の出力Xの電圧を測りました。
1.8mVですからほとんど0V出力です。

今度はA=1、E=1の出力Xの電圧を測りました。

4.61Vです。
Vccに一致しています。
これでE=1のときに出力HはVcc電圧、出力LはGND電圧になることが確認できました。

次はE=0のときに出力に漏れ電流が発生するかどうかの確認です。
A=1のまま、E=0にしました。

そのときVccと出力Xとの間の流れ込み電流を測定しました。
0.12mAです。
これは出力LEDに流れる電流です。
出力LED(赤)が点灯しています。
値から見てこのとき出力Xはハイインピーダンスだと推測できます。
出力XとVcc間をつながないときは出力LEDは消灯します。

今度は上の状態のまま、逆に出力XとGND間の電流を測定しました。

0mAです。
このことからE=0のときは出力Xは完全なハイインピーダンス状態になって、漏れ電流などが発生しないことが確認できました。

トランジスタでCPUをつくろう![第337回]
2021.4.4upload

前へ
次へ
ホームページトップへ戻る