標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第500回]
●8ビットパラレルデータ伝送
前回、PIC18F2550とPIC18F14K50との間には、とんでもない、言うなれば、まことにけしからぬ相違がある、と書きました。
どこが、どのように違っておりますのか、もちろんそのことにつきましてはしっかり説明をさせていただきますけれど、お話の順序といたしましては、もうちょっと先になってからお話しすることになります。
今回はこちらのテーマからお話しいたします。
PIC18F2550を完全にあきらめてしまったわけではありませんが、先に作りましたZ80版TK80ボード(ND80ZH)に搭載しておりました18pinのPIC16F88の代わりに乗せようとしますと、PIC18F2550の28pinというのは、回路配線を部分的にいじくる程度ではとてもできそうにはありません。
その点、PIC18F14K50の20pinならばなんとかなりそうです。
しかし20pinでは、今度は逆にI/Oの数が決定的に足りません。
それじゃやっぱりなんとかしてPIC18F2550を使うしかないじゃないの?
ということなのですけれど、そこをクリアする方法がないわけではありません。
いままでZ80CPUとPIC16F88との間のデータの受け渡しは、8ビットパラレルでやってきました。
テスト的に取り付けたPIC18F2550とZ80との間でも全く同じです。
そこのところを、8ビットでデータを送る代わりに、最初に下位4ビットをまず送り、次に上位4ビットを下位にシフトしてから送るようにすれば、8本使っていたデータラインが4本で済みますから、つまりI/Oが4本浮いてくる勘定です。
で、これもまたお話の順序といたしまして、その4ビットデータ伝送回路について説明をする前に、まずは現行の8ビットのデータ伝送について説明をすることにいたします。
Z80版TK80ボード(ND80ZH)の試作基板にPIC18F2550をとりつけたところの回路図は[第496回]にあります。
データはPIC18F2550のRB0〜RB7とND80ZH基板のI/Oアドレス94との間でやり取りされます。
データはZ80CPUからPICの方向へも、逆にPICからZ80CPUの方向へも送りますから、双方向伝送です。
データラインの向きがぶつかってしまわないように、データを送信も受信もしていないときには、ND80ZH基板のデータ出力用IC(IC4、74HC373)は出力禁止にしておきます。またPIC18F2550のPORTBは入力にしておきます。
実はこういう回路の場合、あるタイミングでどちらが送信を開始するかを決定するのは、なかなかにむつかしいのです。同時に両方が送信を開始しようとすると、当然データラインがぶつかってしまいます。
しかし、今回の、Z80版TK80ボードの場合には、そのタイミングはCPUの側が決定することになりますから、データがぶつかってしまう心配はありません。
CPUからPICの向きにデータを送るのは、SAVE(STORE)キーを押したときですし、逆にPICからCPUにデータを送るのは、LOADキーを押したときですから、どちらの場合もCPUがデータの方向を決定し、PICはそれに従うことになります。
その方向を決定し、データを送信、受信するための制御をするのに4本のラインを使います。
PIC18F2550はRA0〜RA3で、CPU基板の側は、[第496回]の回路図ではI/Oアドレスの値が見えませんが、アドレス98のビット0、ビット1の出力(IC3、74HC373)と同じくアドレス98のビット0、ビット1の入力(IC1、74HC244)です。
実はここまで書いてきまして、それではそのあたりのところを簡単なタイミングチャートで説明をいたしましょう、というようにもっていくつもりでタイミングチャートを描こうとしましたら。
あれ?
もう描いてある?
そうか、そうか。いずれこのあたりの説明をしなくてはならないからということで、先週あたりにでも準備しておいて、それをすっかり忘れてしまっていたのだわ、きっと。
ふむ?
あれ、タイムスタンプが…。ええっ?
09/06/02?????
およそ1年も前ではありませんか!
さては?
ということで過去記事のそのあたりを読み直してみましたら、ありました。
しっかりと書いておりました。
[第181回]、[第238回]、[第239回]で説明をしておりました。
あ。その説明はND80ZHではなくて、MYCPU80試作基板での説明ですけれど、やっていることは同じですから、今回説明をする予定でおりましたパラレル8ビットデータ伝送の仕組みにつきましては、そちらの過去記事をお読みいただきますようお願いいたします。
2010.5.16upload
前へ
次へ
ホームページトップへ戻る