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


KL5C80A12マイコンボードの製作

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

[第26回]


●DATE$、TIME$を組み込みました

ZBKシリーズに搭載しているZBKV3BASICには標準でDATE$とTIME$が含まれています。
しかしそれはM58321というかなり昔のRTCを使ったものですので、そのままというわけにはいきません。
ND80KL/86ボードにはDS1307を搭載していることでもありますし、この機会にDS1307を使ったDATE$、TIME$にしてしまおうと考えました。
DS1307を使ったDATE$、TIME$はND80Z3.5用の独立化セットのZB3BASICに組み込んでありますから、それをそのまま流用することができます。
ただDS1307とシリアル送受信をするための5μsのタイマーサブルーチンはKL5C80A12のクロックに合わせて作る必要があります。
その5μsタイマールーチンは前回パルスを出力するテストを実行して、オシロスコープで計算通りにできていることを確認しました。
ということで、KL5C80A12版ND80KL/86に搭載する予定のZBKV3BASICにDS1307を使ったDATE$とTIME$を組み込みました。

さて。
そういうことになりますと。
「16ビットマイコンボードの製作」[第61回]で実行しましたFOR〜NEXTループ50000回のテストと同じテストをしてみたくなります。
AM188版86BASICでのFOR〜NEXTループ50000回のテストはCPUクロック20MHzのとき、15秒でした。
CPUクロック40MHzではわずか8秒でした。
それと同じテストをKL5C80A12では何秒で実行できるでしょうか?
下がその実行結果です。

わずか12秒!!で実行してしまいました。
もう一度上で書いたことを繰り返します。
同じテストを16ビットCPUのAM188はCPUクロック20MHzのときに15秒で実行しました。
CPUクロック40MHzのとき8秒です。
その同じテストを8ビットCPUであるKL5C80A12はCPUクロック10MHzで12秒で実行しました。
前回KL5C80A12の10MHzが「大したものです」と書いたわけが十分ご理解いただけたことと思います。

参考までにND80Z3.5でも同じテストを実行してみました。
こちらはZ80(CPUクロック6MHz)です。

FOR〜NEXTループ50000回を実行するのに38秒かかりました。
KL5C80A12はZ80互換CPUコアでクロック10MHzですから、6MHzのZ80が実行するのに38秒かかった処理は単純計算では22.8秒かかって実行したとき、Z80の10MHzと同等の能力ということになります。
しかし実際には上で書きましたように、わずか12秒で実行してしまいましたから、10MHzのKL5C80A12はZ80のおよそ20MHz相当であるといえるでしょう。
しかも思い出していただきたいのは、前回書きましたように、そのままのクロックではとてもROMのアクセスタイムが追いつけないので、メモリアクセスのたびに1クロックのウェイトを挿入していますから、それでいてZ80の20MHz相当であるということは、もしノンウェイトで走らせたならばおそらくはZ80の25〜30MHz相当の実力である、といえますでしょう。

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

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