トランジスタでCPUをつくろう!
トランジスタで8080をつくってしまおうというまさにびっくり仰天、狂気のプロジェクトです!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
見事にできましたら、もちろんTK-80モニタを乗せて、それからBASIC、CP/Mを走らせましょう!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
[第296回]
●トランジスタロジック回路組立キットTR00(2)
前回からの続きです。
TR00の電流を測ったらまさかの19mAも流れていました。
近年のLEDは驚くほど超高輝度です。
本当にわずかな電流でも明るく光ります。
TR00でもLEDの電流制限抵抗は22KΩとかなり大きな値のものを使っていますからLEDの消費電流はわずかです。
するとどう考えてもトランジスタ回路そのものの消費電流ということになります。
下は[第236回]でお見せしたTR00の1ゲート分の回路図です。
この中でトランジスタが電流を消費するとしたら2SA1015と2SC1815の両方が同時にONになっているとしか考えられません。
しかしロジック回路の本来の動作としてはそれはありえません。
そうだとすると。
入力回路にあるプルアップ抵抗とLED回路が関係しているのでは?
前回閃いたのはそこでした。
いえ。
おそらくはこの回路を考えた時点でその可能性については気が付いていたはずです。
それも考慮してプルアップ抵抗とLEDの抵抗の値を決めたはずと思うのですが。
なにしろ9ヶ月以上も前ということになりますと全く覚えておりません。
記憶のカケラも痕跡もありません。
本当に困ったものです。
ですけれど。
おそらくそこだなあ、と思います。
ならば。
それは試してみればわかるはず。
ということで。
全部の入力をGNDにつなぎました。
やっぱり思った通りでした。
電流が大幅にダウンしました。
しかしまだ5mA流れています。
これについてはおおよそ見当がついています。
それを確かめるために今度は全部の入力をVccにつなぎました。
おお。
1.45mAです。
このほとんどはおそらく点灯しているLEDの消費電流でしょう。
やっぱりそういうことだったのでした。
その説明をするためにはデータが必要です。
必要な各部の電圧を測りました。
まずはVccの値です。
4.69Vです。
次は入力Aの電圧値です。
3.665Vです。
やっぱり思った通りでした。
この値はちょっとヤバい値です。
それについては後で説明をします。
入力Bの電圧値です。
3.664Vです。
入力Aとほとんど同じです。
この値がなぜヤバいかといいますと。
Vccが4.69VですからVcc-入力Aは1.025V、Vcc-入力Bは1.026Vです。
お分かりになりますでしょうか?
2SA1015や2SC1815などのシリコンバイポーラトランジスタはエミッタベース間電圧が0.6~0.8V以上のときにエミッタコレクタ間に電流が流れるようになります。
それ以下のときにはほとんど流れません。
すると。
今回測定したVccと入力との間の電圧というのは2SA1015のエミッタベース間の電圧ですから、それが1Vということは。
おお。
2SA1015はONになっているじゃありませんか。
ちなみにそのとき2SC1815のエミッタベース間は入力電圧そのままの3.6Vですからこちらはもう完全に導通状態です。
今度は別の角度からそのことを確かめてみました。
出力Xの電圧値を測ってみました。
141mVです。
ううむ。
ほとんど0Vですねえ?
でも念のため入力AをVccにつないでみました。
85.1mVになりました。
やっぱりそうか!
ということで入力BもVccにつなぎました。
6.7mVです。
今度こそ本当にほとんど0Vです。
ということで入力回路に入れたプルアップ抵抗とLEDのために本来はOFFのはずの2SA1015が少しON状態になってそのために余計な電流が流れて出力Xが少し浮き上がっていることが確かめられました。
本来ならば入力回路のLED点灯用に別のトランジスタを追加すべきところです。
以前のMOSFETトランジスタのロジック回路キットではそのようにしました。
FETは電圧動作ですから入力が中間電位の場合出力電流に歯止めがかけられなくて危険だからです。
バイポーラトランジスタの場合でも出力ショートは避けるべきですがベース抵抗(51KΩ)のためわずかな電流に押さえられていると思いますし、なるべくパーツの数を減らすことでローコストなキットにしたいと考えたはず(記憶にはありませんが)なので、これはこういうことでよいのではと思います。
そういうことで予想した以上に大きい電流値の謎は解けたわけですが、せっかくここまで確認してきたことですからもう少し各部の電圧を測定してみることにしました。
入力AのLEDのアノード電圧を測りました。
R7(22KΩ)のLED側の電圧でもあります(最初にお見せした回路図を見てください)。
2.518Vです。
意外に高い電圧値です。
入力BのLEDについても測ってみました。
こちらも同じぐらいの値で2.522Vでした。
これは青色LEDの特性かもしれません。
思っていたよりも高い電圧値です。
さて。
ここからLEDに流れている電流値が計算できます。
上のほうで図った入力Aの電圧は3.665Vでした。
22KΩのVccに近い側の電圧が3.665VでLED側が2.518Vですから22KΩの両端の電圧は3.665-2.518=1.147Vです。
そこを流れる電流は1.147/22≒0.05mAです。
すごいものです。
わずか0.05mAでLEDが光ります。
それでも結構まぶしいので上の写真はちょっと輝度を落としています。
点灯しているLED全体では0.05×8=0.4mAです。
ところで。
上の方で基板の全入力をVccにつないだときの電流は1.45mAでした。
あれ?計算が合いません?
そうでした。
入力電圧が3.665Vから4.69Vに変わっています。
その場合の22KΩの両端の電圧は4.69-2.518=2.172Vです。
電流は2.172/22≒0.099mAです。
点灯しているLED全体では0.099×8≒0.79mAです。
ううむ。
まだ計算が合いませんねえ。
そうか。
トランジスタのベース電流を落としていました。
入力AのトランジスタT2(2SC1815)のベース電圧を測りました。
0.760Vです。
入力BのトランジスタT4(2SC1815)のベース電圧も測りました。
こちらは0.690Vです。
T2のベース電圧のほうがやや高いのはT2のエミッタがT4のコレクタにつながっているからだと思います。
それはそうだとして、ベース電流を計算してみることにします。
T2のベース抵抗R2(51KΩ)の両端の電圧は4.69-0.76=3.93Vです。
電流は3.93/51≒0.077mAです。
T4のベース抵抗R4(51KΩ)の両端の電圧は4.69-0.69=4Vです。
電流は4/51≒0.078mAです。
合計すると0.077+0.078=0.155mAです。
その4回路分ですから基板全体では0.155×4=0.62mAになります。
さきほどの青色LEDの電流値と合わせると0.79+0.62=1.41mAです。
上のほうで測った基板全体の電流値は1.45mAでした。
4つの回路で多少のばらつきがあるだろうということなどを考えると計算は合っていると思われます。
もうひとつ残っていました。
最初に全部の入力をGNDにつないだときの電流値は5mAでした。
その検証がまだでした。
このときはプルアップ抵抗(10KΩ)を流れる電流が加算されます。
両端の電圧値は4.69Vですから電流値は0.469mAです。
その4回路分は0.469×8≒3.75mAです。
2SA1015のベース電流も2SC1815とほぼ同じと考えるとその分の電流は0.62mAです。
合計すると3.75+0.62=4.37mAになります。
これに赤色LEDの電流値が加わります。
これも測定していませんが青色LEDとほぼ同じと考えてLED4個分で約0.4mAとすると基板全体では4.37+0.4=4.77mAになります。
5mAには少し足りませんが、こちらのほうは電圧値を測定しないで2SC1815の側と同じと仮定して計算した値ですから、このぐらいの誤差は許容できると思います。
トランジスタでCPUをつくろう![第296回]
2021.2.7upload
前へ
次へ
ホームページトップへ戻る