2018年9月1日土曜日

Z80 SBC(シングルボード・コンピュータ)の製作 (4) 回路と組み立て

 さて、いよいよ組み立てにはいっていきます。
 とは言っても左写真は完成したSBC(シングルボード・コンピュータ)ですが、これも試作品を経ての第2作で、日々我家の標準器として、活躍しています。

 もちろんCP/Mも搭載されていて、そのためのCFカードインターフェースも組み込みました。

 でも話を簡単にするために、まず先にマシン語のモニターを走らせるところまでで区切り、そののちCFカードインターフェースの組み込みやCP/Mシステムの搭載へと進んで行きたいと思います。


 このようなSBCは最近ではKICADやEAGLEなどのプリント基板作成のソフトがかなり自由に使えるようになってきたことと、プリント基板も安価に発注できるところが増えてきたため、いまさら半田ごてによる手配線ははやりませんが、これは私の趣味の世界ですのでご容赦を、、、、

 とはいえ恥ずかしながら裏面を、右写真に示しますが、確かに私もプリント基板作成に挑戦したほうがいいかもしれません。

 上写真の部品配置はあまり自慢できたものではありません、性能や、配線の手間に大きくかかわりますので、慎重に考えるべきでしょうし、またその時間も楽しいものです。



 左に回路図(いや接続図かもしれません)を示します。  W27C512 と TC551001 の位置が冒頭写真と入れ替わっていますが問題ありません。

 配線と言っても所詮デジタル回路ですので、アナログ回路に比べれば調整箇所はほとんど無く、ずいぶん楽だと思います。

 配置が決まったら、最初に電源の配線です、図中にはありませんが、パワー・SWや+5Vの電源コネクターそして電源ONのLEDインジケーターも取り付けておくといいでしょう。

図中、赤で囲った+5V,黒で囲ったGNDを先に配線し、なおかつショートがないか確認が必要です。ムラサキのアドレス・バスとオレンジのデータ・バスはそれぞれの同じ記号の端子同士を結線しますが、実際にはアドレス・バスが16本、データ・バスが8本と、合計24本ありますので気長に配線することが必要です。

 82C51の17ピン(/CTS)は忘れないでGNDに結線して置いてください。

 つぎはクロック発生(Z80用と82C51のボーレート発生用およびクロック)、リセット、RS232Cインターフェース部分です。


 発振はどこにでもあるインバータを使ったものですが、クリスタルの片方についている100PFは少し値が大きいように見えますが、正確に4.9152MHzを発信させるために調整した値です。(通常は20p x2)
 この出力をインバータでバッファリングし、Z80と74HC4060(11ピン)に供給しています。

 74HC4060の12ピンはGNDに接続してください。

 クリスタルはソケットを用意しておくと後で差し替えができ便利です。

 リセットは、これも当たり前の回路ですが、Z80と82C51では極性が異なるため、インバータで反転出力を作っています。

 パソコンとの通信にRS232Cをつかうために、本来MAX232のようなチップを使いますが、私はインバータと抵抗2本だけで済ましていますが、制御なしでの通信のため特に問題はありません。

 そして最後はメモリー周りです。
 ここにはいろいろな制御のためのI/Oアドレス・デコーダ、メモリ・バンク切り替えのため(あとでのCP/M搭載には必須)のフリップ・フロップおよびこれらに必要ないくつかのロジックIC(すべて74HCタイプ)があります。

 メモリ・バンク切り替えとは右図に示すように、Z80のリセット後は BANK 0 の0000H番地からのROMからプログラムはスタートしますが、コンピュータ内のプログラムで、すべてのメモリー領域をRAMにする(BANK 1)ことができ、この状態がCP/Mでは必要なのです。

 ただこのメモリ・バンク切り替え回路は、BANK 0でROMを選択しているときでも0000H~3FFFHのRAMに書込みができるのが自慢です。

 いくつかあるロジックICはGALのようなチップにまとめてしまう事ができ、さらに回路の簡素化、小型化が可能なため、私も導入すべく、ほぼ準備ができました。GALは以前紹介した、TL866プログラマで焼くことができ好都合です。

 今回は以上ですが、回路図には誤記、抜けなど多くの間違いがある可能性がありますので、もしご利用になるならば十分に確認ください。

0 件のコメント: