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


KL5C80A12マイコンボードの製作

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

[第33回]



●KL5C80A12CPUボード直結RS232CIF

ND80KL/86本体ボードにはRS232CIF回路が標準でついています。
ND80Z3.5やND8080と全く同じ回路です。
IF回路に直結する部分はCPUが実行するシステムプログラムではなくてPIC18F14K50が担っています。
下がその回路部分です。

RS232Cの送受信はCPU側としてはPIC18F14K50との間で送受信データを受け渡しするというイメージになります。
CPU側のプログラムはマシン語モニタプログラムの232C送信、受信プログラムを使ってマシン語として実行することもできますが、ZB3BASICに組み込まれたRS232C通信命令のREAD#、WRITE#を使うことで、簡単にRS232C通信を行なうことができます。
ND80KL/86の場合も全く同様に、ND80KL/86本体ボード上のPIC18F14K50を含むRS232C回路をZB3BASICで利用してRS232C通信を行なうことができます。

ところで。
KL5C80A12はRS232C回路を内蔵していて、通信のための信号端子をI/O端子と複合する形で100pinのCPU端子に配しています。
その信号端子はTTLレベルの入出力端子なので実際にRS232C通信を行なうためにはRS232C信号電圧←→TTL信号電圧の変換回路が必要ですが、CPU端子の外部にRS232C信号電圧レベル変換回路をつければRS232C通信を行なうことができます。
KL5C80A12CPUボード上にはCPU内蔵のI/Oやその他の回路のための信号を入出力するための端子を26ピンと10ピンのヘッダーとして実装しています。


下はKL5C80A12CPUボードの回路図(兼コネクタ図)です。

RS232C信号はCN4の10ピンヘッダーに配してあります。

当社ZBKシリーズ用のRS232Cレベル変換ボードをCN4に接続したところです。


KL5C80A12CPUボード上のRS232C回路はZBK−V3BASICのWRITE#、READ#で使うことができます。
下はZBK−V3BASICROMをKL5C80A12版ND80KL/86ボードに実装して、上の写真の回路構成でRS232C送受信テストをしたときのログです。

DEBUG TOOL FOR KL5C8012
(C)Copyright CHUNICHIDENKO 2005,2006,2009,2012,2014 Ver3.5
ZBK接続ポートをサーチ中です...
<1>[41][42][43][44][45] ZBKボードとの接続に成功しました
)z
*** nd80z3 basic ****
>/load 232cint2.txt
    10 A=0
    20 WRITE #1,"5N81"
    30 READ #1,A$,A%
    40 IF A%<=0 GOTO 30
    50 PRINT A$,A%
    60 WRITE #$94,A$
    70 PRINT " END"
>    20 WRITE #1,"2N81"
>r.
abcxyz       6
 END
>/exit

PIC18F14K50を使ったZB3BASICのRS232C通信では、本体ボード上のディップスイッチの設定によって、9600、4800、2400の各通信速度を選択します。
ZBK−V3BASICではボーレートはWRITE #1命令で設定します。
上のプログラムリストの20行で設定を行なっています。
5N81を2N81に書き換えました。
最初の1桁の数字がボーレートの指定です。
1 19200
2  9600
3  4800
4  2400
5  1200
6   600
7   300
8   150
0    75
2桁目はパリティビットの設定です。
Eは偶数、Oは奇数、Nはパリティビットなしです。
3桁目は7ビット長か8ビット長かの指定です。
7か8で指定します。
最後の桁はストップビットの指定です。
1は1ビット、2は1.5ビット、3は2ビット長です。
上のテストは通信の相手としてND80Z3.5との間で送受信を行ないました。

こちらは相手側、ND80Z3.5のログです。

logfile nd80zlog\08160745.txt open

ND80ZVに接続しました
0001 0000 - z
1000 00C3 - 
*** nd80z3 basic ****
ndwr2h.bin loaded,from E23F to E535
>/load 232host.txt
    10 PRINT "sousin start"
    20 A$="abcxyz"
    30 WRITE #1,A$
    40 PRINT "sousin",A$
    50 PRINT "jusin"
    60 A%=0
    70 READ #1,B$,A%
    80 IF A%<1 GOTO 70
    90 PRINT B$,A%
   100 PRINT "end"
data end
>r.
sousin start
sousin       abcxyz
jusin
abcxyz       6
end

>/exit
0000 00C3 - 
リモート接続を終了しました
logfile closed at Thu Aug 16 07:50:11 2018


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

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