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

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


[第339回]



●入力電圧の許容幅が問題

前回は「考え不足でした」「頭が錆び付いていました」「抵抗値の問題ではありません」と書きました。
本当にとんでもないことで、根本的なことを完全に失念してしまっておりました。
前回もお見せした回路図です。

この回路図は間違いではありませんが、「よくない回路」でした。

どこがよくない回路なのでしょうか?

確かにR12を4.7KΩから3KΩに変更すれば入力オープンでも正しく動作します。
しかしそのこと自体はそれほど大きな問題ではありません。
実際の回路にTR126の回路を組み込んだ場合には入力がオープンになることは通常はなくて、EにもAにもその前段の回路からの信号出力がつながるはずだからです。
そのとき前段の回路からの出力は”H”か”L”のはずです。
ですからそこにプルアップ抵抗がなくても問題にはなりません。

では何が問題なのでしょうか?

問題はこの回路ではEに入力される信号の電圧がVccよりも0.6Vほど低いだけで正常に動作しなくなってしまう、という点にあります。
それはロジック回路としては「致命的」です。
ロジック回路はH(1)かL(0)の信号しかありません。
H(1)はVcc電位でL(0)はGND電位です。
しかし現実のロジック回路(デジタル回路)ではそこにある幅を持たせているのが普通です。
理屈の上ではVcc〜1/2VccがHで1/2Vcc〜GNDがLです。
ただ1/2Vcc近辺はわずかな変動でHともなりLともなりますから普通はそのような「危険な」電圧レベルの出力にはならないように回路を設計します。
たとえばVccが5Vだとしたら1/2Vccは2.5Vになります。
このときHは5V〜3Vぐらい、Lは2V〜0Vぐらいがぎりぎりの許容範囲だと思います。
できれば出力としてはHは4V以上でLは1V以下が望ましいでしょう。
そのように考えたとき、上の回路が問題であることは明らかです。
なにしろVccからたった0.6Vほど低いだけで”H”ではなくなってしまうのですから。
なぜそんなことになってしまうのでしょうか?
そこがついうっかりしていた点です。
E入力回路につながっているT3(2SA1015)にそういう信号が入力されたらどうなるかを考えれば当たり前のことでした。
はっきりいってこのT3の回路ではだめだったのでした。

それではどのようにすればよいのでしょうか?

ええっ、困ったなあ。
最初はそう思って頭を抱えてしまったのですが。
上の回路図を眺めているうちに、「あっ。ばかだなあ。どうしてそんなことに気が付かなかったんだろう」
ようやく解決策にたどりつきました。
と思ったのですが。

しかし、よくよく考えてみましたら、今回の問題以前にそもそもトランジスタロジック回路そのものの動作についてしっかりテストをして確認をしてはいなかったことに気が付きました。
このところずっとうっかりしてばかりでしたから、この際、念には念を入れてそのあたりについてしっかり確認をしてからにしたいと思います。

次回に続きます。

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

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