2021年5月19日水曜日

Z280MB 組み立て

 GWを目一杯使って、Z280ボードを組み立てました。


16bit CPUは配線量が多く、老眼が進んできている自分にはかなりきついです。特にPLCCソケットのピンへのはんだ付けは、線同士が重なるので見づらくて正直あまり好きではありません。よく順番を考えながらはんだ付けしていかないと、あとで後悔します。白のラッピングワイヤがデータバス、オレンジがアドレスバス、青がバス制御とその他の信号ラインです。


ユニバーサル基板で作るのは、自分にはそろそろ限界なのかもしれません。次回はPCBを起こせるようになりたいものです。

このMPUボードは、CPUクロックが12MHz、SRAMが256kバイト、EEPROMが16kバイトの構成です。ROMは実際には2Mビット×2なのですが、そんなにもいらないので、16kバイト分だけ使えるようにしてあります。リセット直後は、64kバイトのメモリ空間にはROMしか現れず、MMUをつかってアドレス上位に置かれているSRAMをマッピングして使えるようにします。

現状では、UARTから”hello world"が出力できているレベルで、MMUなどの確認はできていません。回路図は動作が確認できたら公開するつもりです。



2021年5月2日日曜日

Z280のZ-BUS

当初、Z280を8-bitのZ80-Busで動かそうと思っていたのですが、はんだを始めたら調子が乗ってきたのと、あとで変更するのが結構面倒なことに気づいたので、はじめから16-bitのZ-BUSで行くことに変更しました。


Z-BUSでもアドレスとデータバスはマルチプレクスされているので、アドレス用の8-bitラッチが2個必要になります。
データバスの接続は、偶数番地がAD15-AD8に、奇数番地がAD7-AD0になります。バイトリードの場合は、Z280がAD15-AD0の上位と下位を選んでデータを読み込んでくれますが、バイトライトの場合は、AD15-AD0の上位と下位には同じデータが出されますので、A0で書き込むメモリチップを選択をする必要があります。ワードのリードライトでは、Z280がリトルエンディアンなので、上位と下位を入れ替えてくれます。

B/Wはバイトかワードアクセスを示し、R/Wはリードかライトを示します。/DSはデータの読み書きのタイミングをとる信号です。Z8000のZ-BUSと違うところは、メモリアクセスを示す/MREQがありません。ST3-ST0をデコードしてメモリアクセスかを判断する必要があり、1000と1001の場合がメモリアクセスを示します。

Z-BUSでのメモリアクセスのタイミングは下図のようになっています。Z8000と同じです。