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

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


[第414回]



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

このところ説明してきましたバイナリカウンタ回路についてもう少し突き詰めて考えてみることにしました。
[第412回]でR14の値とゲート入力ラインの抵抗値とNAND出力のパルス幅の値は「適当です」と書きました。
適当ではやっぱりいかんのではないか。
後々のためにここはしっかり確認しておくべき、と思った次第。
で。
しっかり確認した結果今まであいまいにしてきたところがはっきり見えてきました。
その詳細については次回に説明するつもりですが、結果としてゲートに入力するデータをラッチするための幅の狭いパルス(NAND出力のLパルス)はもっと幅が狭くてもよいことがわかりました。
そこで今回はまず前回説明しましたインバータとNANDゲートによる幅の狭いパルス出力回路について訂正をしておくことにします。

下は訂正後のインバータ(7404相当、遅延あり)+NAND(7400相当)の回路です。



7404相当のインバータ回路の遅延のためにC1815のベース抵抗をスピードアップコンデンサなしの200KΩにしていたところを51KΩに変更しました。
ここは51KΩに変更したあとでもスピードアップコンデンサ(22pF)はつけません。
ここの抵抗の値をいろいろ変えてみた結果わかったことがあります。
基本的にこの回路(インバータ回路)の2SA1015と2SC1815のベース抵抗は同じ値であるべき、ということがわかりました。
訂正前の回路のようにC1815のベース抵抗のみを200KΩにしても目立った不都合はなかったように思えますが、ここをA1015のベース抵抗よりも小さい値にすると均衡が崩れてしまうようでまともなインバータ回路の動作にならないことがわかりました。
今回はここを51KΩとすることで概ね適切なパルス幅が得られたと思いますがもっと幅を狭くしたい場合にはその値をより小さな値にすればよいのではないかと思います。
その場合にはA1015とC1815の両方のベース抵抗を揃って同じ値の抵抗値に変更すべきと思います。
しかし。
「思います」と書いただけで終ってしまってはいけません。
やっぱり推測でものごとを判断するのは危険です。
後ほど試してみることにいたしましょう。

下はインバータの出力波形です。



前回はこの部分の写真は撮りませんでした。
上側(CH1)はCKINの波形です。
下側(CH2)はインバータの出力波形です。
CKINがLからHになるときにインバータの出力が遅延します。
1/2Vcc(2.5V)位のところで50nsほど遅延しています。

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



やっぱり50nsのようです。

下はNANDゲートの出力波形です。



上側(CH1)はCKINの波形(立ち上がり部分)です。
下側(CH2)はNAND回路から出力されたCKOUT波形です。
ちょうど50nsのパルスが出力されています。

上のほうで「もっと幅の狭いパルスにしたいときはベース抵抗を小さい値にすればよい(はず)」と書きました。
念のために試してみましたら。
意外な結果になりました。
やっぱり何でも試してみなければいけません。

下はベース抵抗を22KΩにしたときのインバータの出力波形です。



上側(CH1)はCKINの波形(立ち上がり部分)です。
下側(CH2)はインバータの出力波形です。
あれ?
51KΩのときと変わっていないような…?

下はインバータのベース抵抗を22KΩにしたときのNANDゲートの出力波形です。



上側(CH1)はCKINの波形(立ち上がり部分)です。
下側(CH2)はNAND回路から出力されたCKOUT波形です。
うーん。
やっぱり50nsです。
51KΩと同じですねえ。
ということは。
インバータとNANDゲートを使った回路では出力パルス幅の最小値は50nsということになります。
何でもやってみないとわかりませんねえ。
ま。
カウンタ回路のゲートに入力するクロックのパルス幅としては50nsというのはちょうどよい位の値かと思います。

次回に続きます。

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

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