トランジスタでCPUをつくろう!
トランジスタで8080をつくってしまおうというまさにびっくり仰天、狂気のプロジェクトです!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
見事にできましたら、もちろんTK−80モニタを乗せて、それからBASIC、CP/Mを走らせましょう!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
[第295回]
●トランジスタロジック回路組立キットTR00
また何日か間が空いてしまいました。
目下のところMYCPU4組立キットの説明書の作成に注力しています。
毎度のことながら説明書の作成は手間がかかりますし骨が折れます。
説明図とかパーツ表の作成にも時間がかかります。
なんとか早く仕上げてしまいたいとがんばっていますと、ついホームページを書くのが後回しになってしまいます。
いつも書いていることですけれど、どうか気長なおつきあいをお願いいたします。
さて今回からしばらくはトランジスタ回路組立キットについての紹介です。
今回の表題にありますTR00は[第236回]で説明をしています。
日付を見ますと昨年(2020年)の5月1日です。
なんと9ヶ月も前です。
そこでは「プリント基板ができてきたらさっそく組み立てて写真をお見せします」などと書いています。
ええ。
組み立てるところまではもう半年以上も前に済んでいたのですが。
その紹介がどうして今頃になってしまったのかということにつきましては[第283回]に書きました。
そういうことだったのですが、やっとMYCPU4についても一区切りつきましたのであらためてトランジスタロジック組立キットについて紹介させていただきます。
組立キットTR00については[第236回]の説明もお読みください。
名前からもわかりますとおり74LS00のトランジスタ版になります。
バイポーラトランジスタ2SA1015と2SC1815による2入力NANDゲートロジック回路です。
[第236回]に1ゲート分の回路図があります。
74LS00と同様1枚の基板に4ゲート分の回路が載っています。
下がプリント基板(部品面)の写真です。
下はプリント基板(ハンダ面)の写真です。
部品を実装しました。
コストと使い易さを考えて電源と信号の入出力は8ピンの丸ピンICソケットを使うことにしました。
ちょっときついですがブレッドボード用のジャンパーケーブルが使えます。
キットには適当な長さのジャンパーケーブル10本ほどが附属します。
色や長さはばらばらです。
4回路のうちの1回路です。
[第236回]の回路図に相当します。
丸ピンICソケットには2つの入力A、Bと出力X、それと電源のVccとGNDが配置されています。
それで5ピンなので余った残り3ピンにも出力Xを配置してあります。
電源専用のICソケットを1個追加してあります。
電源を接続しました。
Vccは+5Vを想定していますが単三乾電池3本を直列につないだ4.5Vでも問題なく動作します。
入力A、Bは10KΩでVccにプルアップしているので入力表示用の青LEDが全点灯しています。
プルアップ抵抗の目的ですが、これがMOSFET回路などですと入力回路をプルアップ(またはプルダウン)しておかないとPチャンネルとNチャンネルのトランジスタがノイズで両方ともONになってしまう可能性があって、そうするとトランジスタに過電流が流れてその結果トランジスタが焼損してしまう危険性があります。
当然それを防ぐためのプルアップ抵抗ということになります。
幸いバイポーラトランジスタは電流動作なので入力がOPENのときはベース電流が流れませんからONにはなりません。
万一ノイズなどで誤動作したとしてもベース電流×hFE以上の電流は流れませんから回路が破損する危険はまずありません。
それではなんのためのプルアップ抵抗かといいますと。
ずっと以前に作りましたMOSFET版のトランジスタロジック回路組立キットでは信号を負論理として扱いました。
そのため入出力信号がLレベルのときにLEDが点灯して、Hレベルのときには消灯する回路でした。
しかしやはり直感的には、信号がHレベル(すなわち+電位)=LEDが点灯する、としたほうがわかりやすいと考えて今回のキットでは入出力信号がHレベルのときにLEDが点灯して、Lレベルのときには消灯するように考えました。
実際に信号が入力される場合にはもちろんそういうことでよいのですが、問題は入力がないときです。
プルアップ抵抗がないか、あっても抵抗値が余り大きいと入力回路のLEDが点灯してくれません。
その場合にはトランジスタのベース電流も流れませんから、出力もありません。
すると出力回路のLEDも点灯しませんから結局LEDが全部消灯してしまうことになります。
それではちょっと都合が悪いので入力がない場合でも入力回路のLEDが点灯する程度の大きさ(10KΩ)の抵抗でプルアップしてあります。
2つある入力のうちの片方、入力AをGNDにつなぎました。
ここでは右端のICソケットのGNDにつなぎましたがICソケットのVcc、GNDは全部つながっているのでどのICソケットのGND、Vccにつないでも構いません。
入力Aの青LEDが消灯して代わりに出力Xの赤LEDが点灯しました。
今度は入力BをGNDにつなぎました。
入力Bの青LEDが消灯しました。
入力が入れ替わっただけで上と同じ条件なので出力Xの赤LEDは点灯しています。
入力Aと入力Bを両方ともGNDにつなぎました。
入力Aと入力Bの青LEDが両方とも消灯しました。
2入力NANDゲート回路なのでやはり出力Xの赤LEDは点灯しています。
ここまでは順調だったのですが。
念のためにということで、消費電流を測ってみたところ。
とんでもない値になってしまいました。
なんと19mAも!
だってLEDも点灯しているし、なんたって普通のトランジスタ回路だからそのぐらいは流れますでしょう?
いえいえいえいえ。
そんなはずはないです。
確かにLEDは8個点灯していますけれど、電流制限抵抗がしっかり入っています。
22KΩです。
Vcc=+5Vとしてその電圧が丸ごと22KΩにかかったとしてもそこを流れる電流はわずか0.25mA。
LED8個分の電流は0.25×8=2mAにしかなりません。
すると残りの17mAはやっぱりトランジスタ回路ということになるのですが、そんなはずはないのですよねえ。
私の考えではロジック回路の出力になにもつないでないときには、トランジスタ回路に流れる電流は基板全体でもせいぜい1〜2mAあるかないかという程度のはずです。
さてはどこかでショートしているのかも。
最初はそれを疑いました。
それは面倒なことです。
さてどうやって、どこから調べるか。
いっそのこと、もう一枚最初から組んだほうが早いかも。
あれこれ迷っていたのですけれど。
ああ。
ひょっとすると。
そういうことかもしれない。
ひとつの考えが閃きました。
というところで本日は時間がなくなってしまいました。
次回に続きます。
トランジスタでCPUをつくろう![第295回]
2021.2.5upload
前へ
次へ
ホームページトップへ戻る