2022.4.14
前へ
次へ
ホームページトップへ戻る


KL5C80A12マイコンボードの製作

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
KL5C80A12はZ80互換の高速高性能8ビットマイクロコントローラです。
残念なことに数年前に生産中止になってしまいました。
しかし当社ではKL5C80A12を使った組込みマイコンボードはまだ健在です。
そのKL5C80A12を使ったND80Z3.5上位互換マイコンボードの製作記事です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第68回]



●新ZBK開発セットのリニューアル(3)送受信のタイミングチャート

前回の新ZBK開発セットのUSBインターフェース回路図に一部間違いがありました。
現在は訂正済みの回路図に差し換えてあります。
下は前回もお見せした新ZBK開発セットのUSBインターフェース回路図(訂正済み)です。


CPU(KL5C80A12)側から見るとFT245BLはシンプルな双方向のデータバッファです。
ですから回路も簡単ですし、送信プログラムも受信プログラムも比較的簡単です。
下に受信、送信のタイミングチャートを示します。

CPU側から見た受信、送信です。
RXF#は受信バッファフルを示す信号です。
IN F8を実行することでD0にその値が入ります。
D0=0なら受信データをREADします。
IN F9を実行するとD0〜D7にデータが読み込まれます。
RD#がLのときFT245BLから受信データが出力されます。

TXE#は送信バッファエンプティを示す信号です。
IN F8を実行することでD1にその値が入ります。
D1=0なら送信データをWRITEします。
OUT F9を実行するとD0〜D7のデータがFT245BLに書き込まれます。
上の図ではWR#を書き忘れてしまいました。
OUT F9を実行するとデータが出力されると同時にWR#がLになります。
WR#はFT245BLへのデータ書き込み信号です。

一見すると何のことはない当たり前の信号なのですが、これは相手がFT245BLや82C55ならこのまま通用します。
しかし相手がPICということになるとこの方法が使えません。
問題はRD#、WR#の信号幅にあります。
CPUのIORD、IOWRの信号幅そのままですからKL5C80A12の場合わずか200nsほどです。
この時間幅ではとてもPICでは処理できません。
PICもCPUです。
PICもプログラムで動いているのでRD#、WR#をプログラムで読み取って、そしてデータをIN、OUTしなければなりません。
その間はRD#、WR#は安定している必要があります。

そのためにPIC18F14K50を使ったUSBインターフェース回路はFT245BL回路よりも複雑にならざるを得ません。
当然プログラムも複雑になります。
こちらは前回もお見せしたND80KL/86のPIC18F14K50を使ったUSBインターフェース回路です。

PIC18F14K50との間でデータを確実に送受信できるようにするため、FT245BLの場合のRXF#、TXE#、RD#、WR#に相当する信号をハンドシェイクで行なっています。
下に受信、送信のタイミングチャートを示します。

CPU側から見た受信、送信です。
PIC18F14K50のRC5に受信要求を出します。
受信データがあればRC0〜RC3から受信データのうちの4ビットが出力されるとともにRB4からLが出力されます
RB4の状態はIN 94のbit5で読み取ります。
回路をコンパクトにするためにデータは上下4ビットに分けて2回に分けてREAD、WRITEします。
IN 94でデータを読み取ったあと、OUT 98のbit0をHにします。
PICはそれを確認するとRB4をHにします。
このRC5、RB4のラインがハンドシェイクになっています。

送信の場合も同じです。
OUT 94で4ビットのデータを出力するとともにOUT 98のbit1をLにします。
PIC18F14K50はそれをRC6で読み取るとデータをRC0〜RC3で読み取るとともにRB6をLにします。
KL5C80A12はそれをIN 94のbit6で読み取るとOUT 98のbit1をHにします。
PIC18F14K50はRC6がHになるとRB6をHにします。
このRC6、RB6がハンドシェイクになっています。

そのようにFT245BLの回路とPIC18F14K50の回路とでは回路が全く異なっていて、当然のことながらそのためのプログラムも全く異なっています。
しかし。
前回書きましたように、FT245BLに対するプログラムのままで、そこを回路のみPIC18F14K50の回路に置き換えなくてはなりません。
果たしてそんなことができますでしょうか?

KL5C80A12マイコンボードの製作[第68回]
2022.4.14upload

前へ
次へ
ホームページトップへ戻る