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

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


[第420回]



●バイナリカウンタ回路の改良(10)

このところ書いておりましたバイナリカウンタの改良について前回でやっと書き終わったと思ったのですが。
とんでもないミスに気が付きました。
久し振りに関連する過去記事を読み直していて気が付きました。
前回まで説明しておりました下の回路はダメな回路だったのでした。



なんともうかつな話です。
この回路が最終ではなかったのです。
ずっと経ってからこの回路では駄目なことに気が付いて再度訂正していたのですが書いた本人がそのことを完全に忘れてしまっておりました。
またしてもトランジスタの逆接続の問題でした。
詳しくは[第329回]をお読みください。
うむむむむ。
そういうことだったか。
あらためてオシロで波形を見てみました。



上側(CH1)はQ_出力(回路図の(A)点の出力)です。
下側(CH2)は(C)点の波形です。
なるほどその通りでした。
GATEがONになって(C)がH→LになるとQ_もLになります。
問題はそのあとの(C)の波形です。
(C)はそのままずっとLになるはずですが数十ns後(おそらくGATEがOFFになったとき)いきなり電圧が2V以上に上昇しています。
このときC1815が逆接続になってベース((B)点)からコレクタ(!)に電流が流れたと考えられます。
その後(B)点の電圧が下がるとともにその逆電流は(C)点からR14を通って(A)点に流れることで徐々に電圧が下がっていっています。
同じことは画面の右側でもおきています。
ここでも再びGATEがONになって(C)がL→HになるとQ_もHになります。
その数十ns後(おそらくGATEがOFFになったとき)いきなり電圧が3V近くまで下降しています。
このときA1015が逆接続になってコレクタからベース((B)点)に電流が流れたと考えられます。
その後(B)点の電圧が上がるとともにその逆電流は(A)点からR14を通って(C)点に流れることで徐々に電圧が上がっていっています。

上の回路は下のようにすべきだったのでした。



図の左側のトランジスタの配置の内側と外側を入れ替えています。
このようにすへきことについては[第347回]で説明をしていますのでご参照ください。
今までのテスト回路を図のように直してからもう一度さきほどと同じように波形を見てみました。



さきほどのオシロの写真とはタイミングの関係で画像の左側部分の波形と右側の波形が逆位置になっていますがCH1とCH2の波形の関係は同じです。
CH2((C)点)の波形はさきほどの写真では乱れていたのですが回路を直したあとの今回の写真では安定した波形になっています。

あらためて最終的な全体の回路図(1ビット分です)を下に示します。



そのように回路を直す前でも(C)点の波形を除いては特に問題は見られませんでしたが念のために主な部分の波形を確認して写真に撮りました。
下はCKINとCKVの波形です。



上側(CH1)はCKIN(1MHz)です。
下側(CH2)はCKVです。
少し波形がなまっています。

水平時間軸を拡大しました(下の写真)。



CH2(CKV)が2V以下のところで急に狭くなっています。
ちょっと心配です。
今後試作を続ける中で問題が出てきたら以前のようにインバータのベース抵抗を100KΩに換えることも考えてみます。
今はこれで正常に動作していますのでとりあえずは今回の回路図のままでいくことにします。

下はCKINとCKGの波形です。



上側(CH1)はCKIN(1MHz)です。
下側(CH2)はCKGです。
こちらはきれいな波形です。

水平時間軸を拡大しました(下の写真)。



CH2(CKG)は80nsほどあります。
こちらは大丈夫そうです。

下はQ_((A)点)と(B)点の波形です。



上側(CH1)はQ_((A)点)です。
下側(CH2)は(B)点です。
完全に放電するには少しクロックの周期(入力クロック=1MHz。周期は1μs。このときQ_の半波は1μs)が短いようです。
充電のときは+5Vぐらいまで上がっていますが放電のときは+1Vぐらいから下がっていません。

試しに入力クロックを500KHzにしてみました(下の写真)。



周期を倍にしてもあまり変わりませんね。
1Vぐらい残ってしまうのはなぜかよくわかりませんが回路の動作としては問題はありませんでしょう。

下は入力クロック(1MHz)とQ_出力です。



上側(CH1)は入力クロック(1MHz)です。
下側(CH2)はQ_出力です。

念のために、Q出力も確認しました。
下は入力クロック(1MHz)とQ出力です。



上側(CH1)は入力クロック(1MHz)です。
下側(CH2)はQ出力です。
Q_と同じ位相の波形になってしまいましたがたまたまそうなっただけです。
QとQ_が逆の位相であることは確認済みです。

上の方でCKVのパルス幅がちょっと狭いのが心配です、と書きました。
それでインバータのC1815のベース抵抗を100KΩに変更してみました。



CKVのパルス幅が100nsほどになりました。
やっぱりこのほうが安心できそうです。

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

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