SBC8080 SUBボードへつなぐZ80 CPUボードの作成

Z80ブレッドボードマイコンで8251シリアルLSIが動いたので、次はユニバーサル基板で組んでみようと思います。
ただ、ちょっとズルをしてROM/RAMや8251はSBC8080のSUBボードを使ってみたい…

Z80 CPUボード回路の検討

Z80 CPUボードですが、SBC8080のSUBボードとつなぐことに特化した回路として検討してみました。
本来ならフラットケーブルにアドレスバス、データバスを直結せずバッファをつけるところだと思いますが….そのままいけるかなと。^^)
(ちなみにTwitterでいろいろと意見を頂いたり、実際に組んでみたら失敗に気づいたりしたところを直した版です…)

  • リセット回路は一般的なR/Cの回路にシュミットトリガインバータ(74HC14)を2つ接続しました。SBC8080 SUBボードへRESET(正論理)信号も出したかったので…
  • メモリーREAD/WRITE、I/O READ/WRITEは74HC32で構成しました。
  • クロックは水晶発振子を74HC04で発振させます。
  • SUBボードの8251からの割り込みはインバータ(74HC04)を通してZ80のINTつないでいます。
  • データバスは10kΩでプルアップしておいて、8251からの割り込みが来た時に RST 38h(0xff)が発動するようにしてます。(Twitterで教えていただきました。この対応をするとSBC8080用ソフトが無改造で動きます!!)

配線〜動かない

回路図通りに秋月Bタイプ両面ユニバーサル基板で回路を組みました。
配線は主にAWG28サイズのラッピングワイヤ(単芯)で実施。細いので取り回しがらくちんです。

各配線についてテスターで導通検査してZ80やロジックICを挿入し、作ったボードとSBC8080 SUBボードをフラットケーブルでつないでから電源をつないでみましたが動きませんでした。

  • 水晶発振子が50kHzぐらいしか発信しない
    • 写真をみていただくとロジックICが1つ少ないのですが….当初ロジックICをけちって74HC14で水晶発信できると思いこんで組んでました。これは失敗でテスターの周波数カウンタで確認したところ50kHzぐらいでしか発振してませんでした。74HC04へ変更しました。
  • リセット回路はやっぱシュミットトリガで….
    • こちらは必須ではなかったかもしれませんが、C/Rのリセット回路からZ80のリセット端子へつなぐところのインバータはシュミットトリガが良いと思いICを追加しました。

ここまで変更してみましたがどうも、シリアルコンソールにはうんともすんとも反応がありません。
ためしに、CPUボードをSBC8080へ戻すとちゃんと動きます。(あたりまえですが….)

ロジアナで波形を確認

データがフラットケーブル上流れているのかを見てみたくて、Analog Discovery 2のロジアナ機能で状況を観測してみました。

フラットケーブルは3階建てにするために秋月40pinフラットケーブルに1つ追加でコネクタを圧着していましたので、そこへロジアナ用のケーブルをブレットボードワイヤで中継して接続しました。
観測した波形はこんな感じでした。以外ちゃんとした波形が出ている雰囲気….

配線をいろいろといじっているうちに….発見

実はいろいろと試していると、ごくまれにシリアルコンソールにTinyBASICの起動メッセージが出ます。
いまいち発生条件がわからず….

これはノイズか接触不良か電源の関係でふらつき??、リセット回路がイマイチ?のあたりが原因と思って、SUBボードの電源配線を独立させて太い線へ変更したり、ラッピングワイヤ・ケーブルでジャンパして+5Vのラインを遠くのロジックICにつないでいるところを太いケーブルへ変更したりしていたところ….

40pinボックスヘッダにつないでいたアドレスバス A12のケーブルが外れました ….. orz

このケーブルを再度 しっかりとはんだ付けしたところ、SBC8080用TinyBASICがZ80 CPUで動きました!!

恒例の動作確認

最終的な基板の状態はこんな感じです。

というわけで恒例の動作確認です。最初はBASICで1から10まで足し算を….

続いて、8255基板経由で LEDチカチカ確認ボードのLEDを光らせてみます。
今回はSBC8080のモニターが持っている1ラインアセンブラ機能で確認しました。

LED点灯のためのASMソースはこんな感じです。(16進数に”h”とか付けないんですね…)

MVI A,80
OUT 83
MVI A,AA
OUT 81
RET

無事 Z80 CPUボードが稼働することが確認できました!!!

広告