現在地

Z280ボード(解決編)


テーマ:

カテゴリー:

作ったけど動作していなかったZ280ボード、動くようになりました。今回はその過程を書いてみたいと思います。

まずは私の常套手段、周波数カウンタであちこち測定してみました。動かすたびに状況が異なることがあるのですが、かなり高い確率で次のようになっていました。

信号 周波数 備考
MREQ 289kHz
IORQ 0
RD 0 リセット直後には少し出ています
WR 39kHz
RFSH 250kHz
M1 250kHz

ここから以下のことがわかります。

IORQが0なことからI/Oアクセスはありません。RDが0であることからメモリリードもされていないことがわかります。命令フェッチは? と思うかもしれませんが、Z280はリセット時に命令キャッシュが有効になっていますので短いループを回っていればフェッチが発生しない可能性はあります。

MREQの周波数はWRRFSHの周波数の和になっていますが、MREQはリフレッシュ時にもメモリライト時にも出力されるので辻褄は合っていますね。

Z280は特別な場合(RETI命令実行時と割り込み応答時)以外M1を出力しないので0でも異常ではありません。

これで意図した動作はしていないものの、デバイス自体は正常らしいと思えてきます。

ただバスがマルチプレクスされているのでこれ以上追うのは難しいですね。

ラッチ回路
そこでMEMWMREQWRのAND)などでアドレス・データをラッチする回路を追加してみました。

ラッチされたデータを見てみるとD7, D6, D0はHでもLでもない電圧、周波数は約19.5kHzでした。D5D1はLとなっていました。2つのデータを交互にライトしているようです。

アドレスはA0のみが変化しているので、固定アドレスに2バイトデータをライトしているらしい。

ROMの大半は0FFHで埋められているのでRST 38H命令を実行して戻りアドレスをPUSHし続けていることを疑っていたのですが違っていました。もしそうならアドレスが変化するはずですから。

次にMEMRでラッチしてみました。これはリセット直後しか出ないのですが、リセットを繰り返しながら見てみます。するとA0, A2は動くのにA1がまったく動きません。

どうやらA1がどこかで切れているようです。

導通チェッカで追っていくと、Z280ボード上のアドレスラッチ74HC574のところでハンダ付け不良がありました。配線にはワイヤラッピング用の線材を使用しているのですがハンダあげが不十分だったのが原因のようです。いつも気をつけているんですけどね。

そこを修正したところあっさり動くようになりました。

一点のハンダ不良見つけるためにいったい何箇所のハンダ付けをしたのだろう...

参考文献・関連図書: 
"Z280 Preliminary Technical Manual", Zilog.

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。