復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります!
[第264回]
●CPUクロック回路
前回からの続きです。
テストプログラムを実行してみたところ、余りに遅すぎることに疑問をいだき、Y様から送っていただいた64180の解説書をよくよく読んでみた結果、CPUに供給するクロックは実行クロックの2倍の周波数であることがわかりました。
Z8S180は64180のセカンドソースですから、64180の解説書がそのまま利用できます。
もっとも解説書によりますと、当時の64180は実行クロックが8MHzだったようですが、今回E−80ボードに実装するZ8S180は20MHzまで動作します。
さて。
まったく想定外のこととして、CPUに供給するクロックを現行の倍にしなければならないことになってしまいました。
そこで回路図をあらためてじっくり眺めてみましたところ、一点を除いてはなんとか供給クロックを倍にできることがわかりました。
こちらが変更前の回路です。
ちょいと複雑な回路になっています。
CPUクロックをDIPSWで切り換えることができるように、という仕様からこのような回路になっています。
20MHzのクリスタルを74HCU04で発振させて、それを74HC390で1/2、1/5、1/10にしています。
4MHzはデューティが50%にはなりませんが、20MHzまで動作するCPUですから問題にはなりませんでしょう。
74HC153から出力したものを74HC00で受けていますが、これは本来は必要のないものです。
レイアウトの都合でちょっとCPUまでの距離が伸びてしまったため、念のために途中にバッファとして入れたものです。
近くに74HC04がなくて、代わりにちょうど74HC00のゲートが余っていましたのでそれを利用しました。
さて、上の回路で2MHz、4MHz、10MHzのところを、4MHz、8MHz、20MHzにしなければなりません。
4MHzと20MHzはできますけれど、20MHzからは8MHzは作ることはできません。
さりとて40MHzの水晶を使うかといいますと、いや、それはちょっとやりたくはありませんねえ。
それにそんな周波数の水晶はちょっと入手するのが厄介です。
ということで下のように変更することにしました。
2MHzのところに4MHzを、10MHzのところには20MHzを入れましたが、4MHzに対して8MHzを入れることができませんから、代わりに10MHzを使うことにして、そのところは当初の仕様の4MHzを5MHzに変更することにしました。
なお74HC390の上側のCKAにQDが入っていますが、ここはもとの回路がそのまま残っているだけで、CKA〜QAは使っていません。
4MHzはZ80Aのクロックとして馴染み深いものですが、それに比べて5MHzというのは8ビットとしては余り一般的ではありません。
しかし、背に腹は換えられません。
そういうわけで、[第258回]では、Z8S180の説明として、
Z80互換でCPUクロックは20MHzですが、本製品としては10MHz、5MHz、2MHzの3通りのクロックで使います。
と書いたのです。
そのときも時間がなくて、夜遅くなってから急いで記事を書いてUPしましたので、クロックを変更したことはまだY様には報告していませんでした。
翌日になってからメールでお知らせするつもりだったのでありますが。
それよりも早く、HPをご覧になったY様からメールが届いておりました。
お話の途中ですけれど、また時間がなくなってしまいました。
次回に続きます。
ワンボードマイコンでCP/Mを![第264回]
2012.12.8upload
前へ
次へ
ホームページトップへ戻る