SSブログ
English Version

レトロマイコンZ80ボードの構想 [Z80]

 大晦日に書いた「2017年も最後の日になりました」の記事の最後の方に書いたようにザイログ製のZ80(20MHz対応:Z84C0020PEC)を購入したので最小限のチップ数でワンボードマイコンを作ろうと色々妄想していますw

 20MHzで動かす場合、メモリアクセスタイミングが最も厳しいM1サイクルでは
  • MREQ/はT1の立下りからTdCf(MREQf)遅れて立ち下がる(20MHz版では最大40ns)
  • メモリからのリードデータはT3の立上りでラッチですが、T3の立上りよりTsD(Cr)(20MHz版では最小12ns)以前に確定している必要がある

となりクロックの1周期の時間が50nsなので上記の最大値で計算するとメモリアクセス時間はT2の1周期より短くなって23ns以下になってしまう・・
 とりあえず値段とアクセス時間を考慮してHM628128ALP-7(容量:128Kバイト、アクセス時間:70ns、DIPパッケージ)をebayでポチリました。
 20MHzではアクセス時間が厳しいので10MHzで動かすことになるかと思います。

 Z80のメモリ空間は64KBなので半分しか使わないことになりますが全アドレス空間をカバーするのでアドレスディコード用のICが不要になるという大きなメリットがあります。

 EPROMは実装しないでPIC24FJでRAMにZ80のコードを書き込む予定です。うまく行けば3chip構成のZ80ワンボードマイコンができそう・・


★2018/01/07 追記
 メモリ(628128)へのZ80の接続は次のような接続になるかなぁ~
 REF/は3-stateではないのでBUSACK/がアクティブ(バスがPIC制御下になった時)にもhighのままのはずなのでCS2/、OE/、WE/にはプルアップ抵抗を付けてPIC側からも制御する予定です。
  CS1/=MREQ/
  CS2=REF/
  OE/=RD/
  WE/=WR/

 PIC24FJはPMP(Parallel Master Port)モジュールをマスタポートモードにすることで外部メモリ制御が楽になるようなので機能を確認中です。

 また、Z80のクロックはPIC(ハードを極力簡略化するため内部発信を使用)から供給するので16MHで動かす予定です。メモリアクセスが間に合わなければ8MHzにする可能性有りです。クロックはPIC側のレジスタ設定で変更できるので変更は楽です。

 10MHz以上の信号は私の安いオシロでは見れないし、ロジアナ(サンプリングの上限は24MHz)でもきちんと確認できないという環境的な問題がありますが、以前自作したZ80のボードはオシロ無しのテスタのみの環境で動かしたので何とかなるでしょうw
 この機会に解像度8bit(今使っているオシロは12bit2ch)でもいいのでもう少し高速サンプリングのオシロを買うか悩み中・・


[TOP] [ 前へ ] 連載記事 [ 次へ ]
nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー