トランジスタでCPUをつくろう!
トランジスタで8080をつくってしまおうというまさにびっくり仰天、狂気のプロジェクトです!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
見事にできましたら、もちろんTK−80モニタを乗せて、それからBASIC、CP/Mを走らせましょう!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
[第336回]
●トランジスタロジック回路組立キットTR14(3)
前々回、前回の2回トランジスタによるシュミットトリガ回路について書きました。
その前は[第304回]で書いています。
トランジスタによるシュミットトリガ回路について最初に書きましたのは[第239回]です。
各回を読み直してみましたところ、いずれの回もテスト回路や試作回路を作って実験をしてその結果「これこの通りシュミットトリガ回路として動作しています」と書いています。
まあ論より証拠ですから、実験によって実証することが大切なことは当然なのですが、やっぱり計算をして理論的な裏付けを得ることも必要だと思います。
このところ書いておりますシュミットトリガ回路はインバータを2段使ったもので74HC04などのインバータを2つと抵抗2本で簡単にできるので、私はずっと以前から必要なときにはよく使っています。
74HC04を使ったシュミットトリガ回路についての計算による説明は[第238回]で行なっています。
74HC04を使ったシュミットトリガ回路をそのままトランジスタロジック回路のTR04に置き換えてもシュミットトリガとして期待通り働くはずと考えました。
実際に試作回路を作ってテストをした結果期待した通りの結果が得られました。
しかしちょっと心配なところがあります。
[第238回]で行なった74HC04を使ったシュミットトリガ回路の計算では10KΩと100KΩの2本の抵抗による分圧だけで計算しています。
しかしTR04を使った回路ではトランジスタのベース抵抗が影響するのではないかと思います。
分圧の計算に使っている100KΩのフィードバック抵抗に対してトランジスタのベース抵抗はその1/2の51KΩです。
その値から考えると、これは無視できないだろうと思わないわけにはいきません。
テストではうまく動作したけれども、計算をしたら100KΩではだめでもっと小さい値にしなければだめ、という結果になったりするのでは、などと心配になってきました。
そこで前回までのトランジスタを使ったシュミットトリガ回路について、その動作を計算によって確かめてみることにしました。
シュミットトリガの考え方や動作、計算については[第238回]で行なった74HC04を使った回路の計算をそのまま踏襲することにしますので、そちらも適宜参照しながらお読みください。
[第238回]では最初に入力が+5Vで出力も+5Vのときから始めていますので、今回もそこからスタートすることにします。
今まではVccは+4.6V(乾電池3本を使った実測値)を使ってきましたが、以下の計算では[第238回]に合わせて+5Vを使います。
下はTR14の回路に、入力Aと出力Xがともに+5Vのときの回路内の各抵抗を流れる電流を図に描き加えたものです。
AとXが+5VのときのB点の電圧を求めてみます。
各抵抗を流れる電流は次の式で示されます。
トランジスタのベース電圧はVccから0.7V低く、GNDから0.7V高いものとして計算をします。
また計算を簡単に行なうためトランジスタのベース抵抗は50KΩとして計算をします。
i1=(5−B)/10
i2=(5−B)/100
i4=(B−0.7)/50
B点が+5Vよりも幾分低くなると仮定すると下の関係が成り立ちます。
i1+i2=i4
なおB点の電圧は4.3Vよりは高くなると仮定するとT1はONになりませんからi3=0になります。
上式にi1〜i4式の右辺を代入します。
(5−B)/10+(5−B)/100=(B−0.7)/50
両辺に100をかけて整数化します。
50−10B+5−B=2B−1.4
13B=56.4
B=4.338V
74HC04の回路ではB=5Vになるところですが、やはり51KΩ(R2)が影響しているようです。
最初に仮定した通り5Vよりも少し低い値になりました。
ここからスタートしてA点の電圧が少しずつ下がっていってB=2.5VになったときのA点の電圧を求めます。
Aは2.5Vよりも低くなると仮定します。
そのときはi1の向きは上図の矢印とは逆の向きになります。
i1=(2.5−A)/10
i2=(5−2.5)/100=0.025
i3=(4.3−2.5)/50=0.036
i4=(2.5−0.7)/50=0.036
i1〜i4は下の関係になります。
i1+i4=i2+i3
そこにi1〜i4式の右辺を代入すると
(2.5−A)/10+0.036=0.025+0.036
2.5−A+0.36=0.25+0.36
A=2.25V
上の計算からB=2.5VのときはR1、R2の影響は無視できることがわかります。
このときは74HC04を使った回路と同じで10KΩと100KΩの抵抗比のみで計算した結果と一致します。
[第238回]と同じ結果になりました。
ここからが問題です。
A点の電圧がさらに下がってB点の電圧が2.5Vよりも下になると出力Xの電圧が0Vになります。
このときB点の電圧がどう変化するかを計算してみます。
このときA点は2.25Vよりわずかに下がっただけと考えられるので計算ではA=2.25Vのままとします。
そしてB点はA点よりも低い電圧になると仮定するとi1の向きは再び上図の矢印の向きになります。
逆にi2は上図の矢印と反対の向きになります。
i1=(2.25−B)/10
i2=B/100
i3=(4.3−B)/50
i4=(B−0.7)/50
i1〜i4は下の関係になります。
i1+i3=i2+i4
そこにi1〜i4式の右辺を代入すると
(2.25−B)/10+(4.3−B)/50=B/100+(B−0.7)/50
22.5−10B+8.6−2B=B+2B−1.4
15B=32.5
B=2.167V
[第238回]で計算した74HC04の場合ではB=2.05Vでした。
その値よりは高い電圧値になりました。
やはり51KΩが影響しているようで74HC04に比べるとシュミットトリガの電圧の範囲はやや小さくなるという結果になりました。
[第238回]では逆の場合についても計算していますので、同じようにA点の電圧が0Vから上がっていく場合についても計算してみることにします。
最初はA=0V、X=0Vからスタートします。
このときB点の電圧は0Vよりは高いけれども0.7Vよりも低いと仮定します。
するとT2はONにはなりませんからi4=0になります。
i1=B/10
i2=B/100
i3=(4.3−B)/50
i1〜i3は下の関係になります。
i1+i2=i3
そこにi1〜i3式の右辺を代入すると
B/10+B/100=(4.3−B)/50
10B+B=8.6−2B
13B=8.6
B=0.662V
74HC04の回路ではB=0Vになるところですが、やはり51KΩ(R1)が影響しているようです。
最初に仮定したように0Vよりも少し高い値になりました。
ここからスタートしてA点の電圧が少しずつ上がっていってB=2.5VになったときのA点の電圧を求めます。
Aは2.5Vよりも高くなると仮定します。
そのときはi1の向きは上図の矢印とは逆の向きになります。
i1=(A−2.5)/10
i2=2.5/100=0.025
i3=(4.7−2.5)/50=0.036
i4=(2.5−0.7)/50=0.036
i1〜i4は下の関係になります。
i1+i3=i2+i4
そこにi1〜i4式の右辺を代入すると
(A−2.5)/10+0.036=0.025+0.036
A−2.5+0.36=0.25+0.36
A=2.75V
上の計算からB=2.5VのときはR1、R2の影響は無視できることがわかります。
このときは74HC04を使った回路と同じで10KΩと100KΩの抵抗比のみで計算した結果と一致します。
[第238回]と同じ結果になりました。
A点の電圧がさらに上がってB点の電圧が2.5Vよりも上になると出力Xの電圧が5Vになります。
このときB点の電圧がどう変化するかを計算してみます。
このときA点は2.75Vよりわずかに上がっただけと考えられるので計算ではA=2.75Vのままとします。
そしてB点はA点よりも高い電圧になると仮定するとi1の向きは再び上図の矢印の向きになります。
逆にi2は上図の矢印と反対の向きになります。
i1=(B−2.75)/10
i2=(5−B)/100
i3=(4.3−B)/50
i4=(B−0.7)/50
i1〜i4は下の関係になります。
i1+i4=i2+i3
そこにi1〜i4式の右辺を代入すると
(B−2.75)/10+(B−0.7)/50=(5−B)/100+(4.3−B)/50
10B−27.5+2B−1.4=5−B+8.6−2B
15B=42.5
B=2.83V
[第238回]で計算した74HC04の場合ではB=2.95Vでした。
その値よりは低い電圧値になりました。
やはり51KΩが影響しているようで74HC04に比べるとシュミットトリガの電圧の範囲はやや小さくなるという結果になりました。
以上の計算結果から74HC04を使ったシュミットトリガ回路に比べるとTR14はシュミットトリガとして動作する電圧範囲がやや狭くなりますが、それでもシュミットトリガとして動作することが確認できました。
なお入力回路に後から追加した10KΩのプルアップ抵抗については、入力Aに接続する回路の出力インピーダンスが低ければ無視して計算をすることができます。
トランジスタでCPUをつくろう![第336回]
2021.4.2upload
前へ
次へ
ホームページトップへ戻る