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


KL5C80A12マイコンボードの製作

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

[第37回]



●232Cループテスト(2)

現在最後の追い込み作業中です。
昨日はAM188用のBASICプログラムのバグ退治に手間取ってしまい、HPの更新ができませんでした。
あともう一息のところまで来ています(と思います)。

前回の続きです。
下は前回お見せしたRS232CIFのループテストプログラムです。



#1はチャンネル1、#2はチャンネル2です。
ND80Z3.5の場合、本体ボード上のPIC18F14K50を使ったRS232C送受信はREAD #1、WRITE #1を使います。
ND80KL/86本体ボード上にもND80Z3.5と全く同じPIC18F14K50を使ったRS232C送受信回路が搭載されています。
ということからすれば、そのための送受信命令はREAD #1、WRITE #1を使うとよいのですが、ZBKV3BASICの場合、ちょっとそのようにし難い事情があります。
[第33回]ではKL5C80A12CPUボードにRS232Cレベル変換ボードを接続して送受信テストを行ないました。
今回のループテストの片方のチャンネルはそのときと同じです。
[第33回]のテストはZBKV3BASICで実行しました。
もともとZBKV3BASICは当社のZBKシリーズに搭載しているBASICで、ZBKシリーズのボードはKL5C80A12CPU内蔵のRS232Cインターフェースを使って、それをREAD #1、WRITE #1で制御するようにしています。
ND80KL/86本体ボード上のRS232C回路にND80Z3.5と同じように#1を割り当てると、ZBKV3BASICにもともとあった#1を#2に変更しなければならないことになります。
ところがZBKV3BASICにもともとあったREAD #1はKL5C80A12内蔵のシリアルインターフェースを割込み処理で使っていて、かなり複雑なプログラムになっています。
このナンバーを#2に変更すると、ひょっとすると泥沼にはまってしまう可能性があるため、そこはさわりたくありません。
ZBKV3BASICにはもとはなかったND80KL/86本体ボード上の回路の制御プログラムを#2として追加するほうが安全です。
そのように考えて安全なほうを採用したのですけれどそれでも前回書きましたように思わぬバグのため思い切り悩んでしまいました。
ということでND80Z3.5のZB3BASICとの整合性を考えるとちょっと苦しいのですが、今回KL5C80A12版ND80KL/86に搭載予定のZBKV3BASICでは、本体ボード上のRS232C回路に対してはREAD#2、WRITE #2を使います。
そしてKL5C80A12CPUボードにRS232Cレベル変換ボードを接続して使う回路に対しては受信はREAD #1を使います。
その場合の送信はWRITE #1ではなくて、WRITE #$94を使います。
ここがまたちょっとややこしいのですが、WRITE #1は[第33回]で説明しましたようにボーレートなどの初期設定用の命令になっているため送信には使えないのです。
$94はずっと以前からRS232C回路に割り当てて使っていたI/Oアドレスで、それをそのまま踏襲しています。
ちょっとややこしいのですが、そういうことでご理解願います。

テストプログラムは最初に#1から送信してそれを#2で受信し、次に#2から送信してそれを#1で受信します。
ちょっと考えるとこのプログラムは実行できないように思えますが、前回もお見せした下の実行結果の画面にありますように、特に問題なく正常に実行できてしまいます。
READ #1はBASICプログラムの実行とは無関係に裏で実行される受信割込みプログラムによって、受信バッファに蓄えられた受信データを読み出す仕組みになっているため、送信が完了してしまったあとで実行しても取りこぼすことなく正しく受信が行なわれます。
READ #2(ND80Z3.5のREAD #1)はPIC18F14K50が受信して受信バッファに蓄えたデータをCPUからの要求によって出力するように組まれているために、送信が完了したあとで実行しても取りこぼすことなく正しく受信が行なわれます。



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

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