トランジスタでCPUをつくろう!
トランジスタで8080をつくってしまおうというまさにびっくり仰天、狂気のプロジェクトです!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
見事にできましたら、もちろんTK−80モニタを乗せて、それからBASIC、CP/Mを走らせましょう!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
[第125回]
●合計24本のダイオードを追加!
前回からの続きです。
試作として組み上げた[HC373]回路基板を改造してダイオードを16本も追加したあと、動作テストをして正しく機能することが確認できました。
しかし。
回路図を眺めていましたら、まだまずいところがあることに気が付いてしまいました。
問題はデータを書き込むときに発生します。
上の回路図はいままで何回も見ていただいている[HC373]の1ビット分の回路図です。
今回問題があることに気が付いたトランジスタ(点線で囲った中の左下にある2N7000)に、わかりやすいように寄生ダイオードを描き加えました。
CS_とWR_がアクティブで、そのときDinが’1’のとき、その2N7000のソースドレイン間には図の矢印の方向に電流が流れてしまいます。
その電流は図の3個の2N7000を経由してGNDに流れることになります。
書き込むデータがFFのときは8ビット全部の回路がGNDに対してショートするため、書き込みパルスがHのわずかな期間だけですけれど、かなりの電流が流れることになります。
書き込みパルスは図の左下のNORゲートによって作られます。
下図はその部分をトランジスタで示した回路図です。
書き込みパルスは図の中央の2個の2SA1015(T2,T3)がONのときに出力されます。
さきほどの回路図の最後にGNDに接している2N7000は上の図の右下にあるT7です。
わずかな期間ですけれど、この2個の2SA1015(T2,T3)と、右下の2N7000(T7)と、そして最多ではさきほどの回路図の2個の2N7000×8ビット分のトランジスタがONになって、+5VからGNDにショート電流が流れることになります。
今のところ動作テストでは、とりあえずは正常に動作しているようですが、これはこのままにしておくわけにはいきませんでしょう。
最悪の場合トランジスタが破損してしまうかもしれません。
念のため、ショートしている様子を写真に撮りました。
ND80Z3.5に接続して下のプログラムを実行しました。
8000 3E00 LP:LD A,00
8002 D300 OUT (00),A
8004 3EFF LD A,FF
8006 D300 OUT (00),A
8008 C30080 JP JP
上側(CH1)はWR_信号で、下側(CH2)は2SA1015(T3)のコレクタ出力です。
00を書き込んだときの書き込みパルス(中央のパルス)は正常ですが、FFを書き込んだときのパルス(右側のパルス)はショート状態であることがはっきりわかります。
前回に続いて今回もまたダイオードを8本追加しました。
合計24本の追加です。
ダイオードを追加したあとの波形です。
ショート状態は解消されました。
しかし。
とりあえず24本のダイオードの追加は試作的に組んだ基板に無理やり追加しただけです。
今度はそれを回路パターンを変更して、はめこまなければなりません。
まさに苦難の連続であります。
トランジスタでCPUをつくろう![第125回]
2015.9.7upload
前へ
次へ
ホームページトップへ戻る