トランジスタでCPUをつくろう!
トランジスタで8080をつくってしまおうというまさにびっくり仰天、狂気のプロジェクトです!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
見事にできましたら、もちろんTK−80モニタを乗せて、それからBASIC、CP/Mを走らせましょう!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
[第421回]
●バイナリカウンタ回路の改良(11)
前回は最後のところで「CKVのパルス幅が狭いのが心配」ということでパルス発生回路のインバータのC1815のベース抵抗を100KΩに変更してみました。
それでパルス幅も広がったので「そのほうが安心」ということで終りました。
しかし実際のところどの程度のパルス幅ならば安心なのでしょうか。
そこのところを確認できればそれこそ本当に安心だと言えます。
どうすればそれを確かめることができるでしょうか?
それはちょっと難しいように思えましたが。
やっぱり一晩寝るといい考えが浮かぶようになります。
当初はベース抵抗を200KΩにしていました。
その後に100KΩに変更しそれから51KΩに変えてそしてまた最後に100KΩに戻しました。
いっそのこと通常のインバータ回路と同じように51KΩに並行にスピードアップコンデンサ22pFをつければ回路としては通常のインバータ1段だけの遅延になります。
そこで発生するパルス幅は最短になります。
もしそのパルス幅でもカウンタ回路が正常に動作したならば。
51KΩだけで22pFなしの回路にしても大丈夫だということになります。
そのように思い付いて今回試してみたのが下の回路です。
図の下側部分にクロックを入力してその立ち上がりのところで幅の狭いパルス(CKV、CKG)を発生させる回路があります。
左からインバータ、NAND、インバータと並んでいる回路です。
その前段のインバータのC1815のベース抵抗を51KΩに戻してさらに22pFを付け加えました。
これで後段のインバータと全く同じ回路になりました。
下はそのように変更した回路を実際に動作させてオシロで観測した波形です。
上側(CH1)はCKIN(1MHz)です。
下側(CH2)はCKVです。
これはCKVに後段のインバータ以外には何も接続していないときのパルス波形です。
下はCKV、CKGにカウンタ回路を接続したときの波形です。
CKVが小さくなってしまいました。
CKVにはゲート回路のA1015からベース電流が流入します。
ベース抵抗は51KΩですからわずかな電流(0.1mA)ですがそれでもこれだけ幅の狭いパルスではかなり影響があるようです。
水平時間軸を拡大しました(下の写真)。
2.5V近辺でのパルス幅は10ns以下のように見えます。
はたしてこんなパルスで大丈夫か?
それにしても波形がかなり乱れています。
多分こんないい加減な状態でテストをしているからだと思います(下の写真)。
一番下が「クロック発生回路」で真ん中が「エッジパルス発生回路」でその上に半分見えているのが「カウンタ回路」です。
各基板の間は電源も信号線もミノムシクリップケーブルで接続しています。
こんないい加減な状態でも動作してくれるというのはデジタル回路ならではのことです。
下はCKGの波形です。
水平時間軸を拡大しました(下の写真)。
CKGのパルス幅は15nsぐらいです。
さてそれで肝心のカウンタ動作はどうでしょうか?
おお。
ちゃんと動いていますね。
上側(CH1)は入力クロック(CKIN。1MHz)です。
下側(CH2)はQ_出力です。
水平時間軸を拡大しました(下の写真)。
下はQ出力とQ_出力の波形の写真です。
上側(CH1)はQ出力です。
下側(CH2)はQ_出力です。
下はGATE出力(前回の回路の(C)点)の波形です。
上側(CH1)はGATE出力(前回の回路の(C)点)の波形です。
下側(CH2)はQ_出力です。
水平時間軸を拡大しました(下の写真)。
(C)点からQ_の出力までの遅延は10ns以下です。
ここは[第419回]では20nsと仮定しましたがインバータ2段の遅延であることを考えるとそれが10ns以下というのは信じられないほど短いです。
とにかく。
こういう結果が得られたということは。
エッジパルス発生回路の初段インバータのC1815のベース抵抗としてスピードアップコンデンサなしの51KΩを使うことには全く問題はない、それで安全です、と結論してよいと思います。
やっと。
これにて一件落着です。
トランジスタでCPUをつくろう![第421回]
2024.2.18upload
前へ
次へ
ホームページトップへ戻る