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

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


[第338回]



●まだ考え不足でした

TR126は最初に作った試作基板ではトランジスタが逆接続状態になることがわかったため出力回路にダイオードを追加するという変更を行なってプリント基板を作り直しました。
しかしそのダイオードを追加した回路は賢い回路ではないことに気が付きました。
そこで前回は再度回路を変更して、念のためにそのように変更した回路が期待した通りに働くかどうかを旧基板を改造して実際に動作テストをして確認しました。
ホームページの記事は回路図を作成したり写真を撮ったりするのでどうしても実際の出来事よりも遅れて書くことになります。
TR126の再度の回路変更についてはまだ前回書いたばかりですが、実際にはすでにそのように回路を変更したプリント基板を発注済でそのプリント基板も数日前にできあがってきていました。

こちらが出来てきた新しいプリント基板です。


前回書きましたように、変更した回路は動作テスト済みなのですが、できあがってきた基板をテストしないわけにはいきません。
念のために部品を実装して電源を入れたところ、まさかの事態が発生してしまいました。
旧基板を利用して改造したテスト回路では問題なく動作したのですが、新しくできてきた基板に部品を実装して電源を入れたところ、入力になにもつながない状態では出力がハイインピーダンスになってしまいます。
その状態では入力回路のプルアップ抵抗が利いているので入力Aも入力Eも1になるはずで、それなら出力Xも1になるはずです。
確かに入力表示用の青色LEDは点灯しているのですが出力表示用の赤色LEDは消えたままです。
前回書きましたように当初E入力回路のプルアップ抵抗は3KΩだったのですが設計変更の結果、A入力と同じ4.7KΩに変更しました。
実は旧基板を改造して動作テストをしたときにはプルアップ抵抗は3KΩのままテストしたのでした。
まさかと思ってそれを4.7KΩに変更してまでのテストはしていませんでした。
その時点でプルアップ抵抗を4.7KΩに変更してテストをしていたら、無駄な基板を作ってそこに部品を実装するという部品の無駄と時間の無駄を避けることもできたはずなのですが。

問題はプルアップ抵抗の値ではなくて、もっと根本的なところにあったのですが、この時点ではまだ根本的な考え違いには気が付いていませんでした。
とにかくE入力のプルアップ抵抗は3KΩでなければならないらしいということまでは気が付いて、おかしいなあと思いつつE入力のプルアップ抵抗を4.7KΩから3KΩに変更したところ正常に動作するようになりました。
下は今回出来てきた新しいプリント基板に部品を実装したあと、E入力のプルアップ抵抗を4.7KΩから3KΩに変更してから電源をONにしたときの写真です。

比較のために4回路のうち右端の1回路だけはE入力のプルアップ抵抗を変更しないで4.7KΩのままにしてあります。
E入力のプルアップ抵抗を3KΩに変更した左側の3回路はプルアップ抵抗によってA=1、E=1の入力になるので出力Eも1になっています(LEDが全点灯しています)。
しかしE入力のプルアップ抵抗を4.7KΩのままにした右側の1回路もプルアップ抵抗によってA=1、E=1の入力になるので出力Eも1になるはずなのに赤色LEDは消灯しています。

プルアップ抵抗が違うことでどこがどのように異なってくるのかを確認するために、まずは右端の回路(#4の回路と表記することにします)の出力トランジスタT1(2SA1015)のベース電圧を測ってみました。

4.51Vです。
Vcc(=エミッタ電圧)が4.6VですからこれではT1はONにはなりません。

比較のためにその左側の回路(#3の回路と表記することにします)の出力トランジスタT1(2SA1015)のベース電圧を測りました。

こちらは3.97Vです。
Vcc(=エミッタ電圧)の4.6Vに対して0.63Vの差がありますから、こちらのT1はONになっているようです。

今度はE入力の電圧を測ってみました。
#4の回路のE入力の電圧を測りました。
プルアップ抵抗は4.7KΩです。

3.98Vです。

比較のためA入力の電圧も測りました。
プルアップ抵抗は4.7KΩです。

3.97Vです。
プルアップ抵抗が同じ4.7KΩですから電圧値もほぼ同じです。

今度は#3の回路のE入力の電圧を測ってみました。
プルアップ抵抗は3KΩです。

4.17Vです。
#4に比べて少しですが0.2V高い値です。

前回お見せした回路図です。


#4のE入力電圧の実測値は3.98Vでした。
これはプルアップ抵抗の4.7KΩと22KΩ+LEDでVcc(4.6V)を分圧した値です(実際にはR8、T8も影響しますがここではそれは省略して考えます)。
トランジスタT3(2SA1015)のエミッタベース間電圧は4.6−3.98=0.62Vと計算されるため、T3がわずかにONになってしまうようです。
その結果としてT1のベース電圧が実測値で4.5Vとなり、T1はOFFになってしまいます。
これに対して#3はプルアップ抵抗を3KΩにしたことによってE入力の電圧が4.17Vに上昇しました。
#4と比べてわずかに高いだけですが、トランジスタT3(2SA1015)のエミッタベース間電圧は4.6−4.17=0.42Vと計算されるため、T3はONにはなりません。
その結果T1のベース電圧はT3の影響を受けないため、T1がONになり出力Xが1になります。

そういうことならばE入力のプルアップ抵抗を3KΩにすればよいではないかということなのですが、上の方で書きましたように問題はプルアップ抵抗の値ではありませんでした。
もっと根本的なことに気が付くべきでありました。
もうしっかり頭が錆び付いてしまっておりました。
むむむ。
しっかり磨いて錆を落とさねば。

次回に続きます。

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

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