復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります!
[第260回]
●試作基板にはROMがありません!
[第258回]でご紹介しました、現在進行中のE−80プロジェクトの試作1号機のメインボードの写真を見ていただいて、すでにお気付きのことと思いますが、このボードにはRAMだけがあってROMはありません。
えっ。
RAMだけがあって、ROMがない?
それじゃどうやってCPUを動かすの?
わが国のマイコンボードの発展の歴史におきましては、NECのTK−80の爆発的ヒットから始まった感がありまして、そもそもの初めからROMが存在するのがいわば常識であるかのように思われてきました。
そういう経緯からしますとROMのないマイコンといいますと奇異な印象をもたれるかもしれません。
しかし、昔はROMが非常に高価でしたので(あ。もちろんRAMも高価でしたが)、むしろROMの無いシステムのほうが一般的だったと思います。
もちろんプログラムが無ければCPUを動かすことはできません。
特に細工をしない限り電源を切ればRAMの中身は消滅してしまいます。
ですから次に電源を入れたときには、RAMの中身は空っぽです(正確にいいますと空っぽではなくて、デタラメになっています)。
いずれにせよその状態では、まともにCPUを動かすことはできません。
それではどうするか?
そこでまた[第258回]に戻っていただいて、フロントパネルの写真をご覧ください。
ずらっと並んだLEDは、CPUのアドレスバスとデータバスのビットを表示しています。
そしてまた、これもまたずらっと並んだスイッチを操作してRAMにプログラムを1バイトずつ入力していくのです。
ああ。そうでした。
MYCPU80もそうでした。
MYCPU80にはTK−80相当の回路が内蔵されていて、ボード上のROMにはTK−80モニタプログラムが入っていますから、ROMから起動すれば電源ON後直ちにTK−80の動作をさせることができます。
しかしROMから起動しないで、ボード上のトグルスイッチとディップスイッチを使ってRAMにプログラムを1バイトずつ書き込んだあとで、それを実行させることもできます。
しかし、トグルスイッチを使ってプログラムを1バイトずつ入力していくなどという非能率な方法ではたいしたことはできないのじゃありませんか?
あ。
もちろんそれに代わる方法もちゃんと用意してはいるのですが、しかしスイッチパチパチという方法でも、使い方次第ではたいしたこともできてしまいます。
このE−80プロジェクトのマシンでは、最終的にはND80ZV(ND80Z3.5)内蔵のZB3BASICもそしてCP/M互換DOSも全部動作させてしまうつもりなのです。
どうやって?
そのことにつきましては近日中に少しずつ説明をさせていただく予定です。
本日メモリについて書き始めましたのは、それとは別の件について書きたかったからです。
●RAMのバックアップ
下の写真は[第258回]でお見せしたメインボードの写真の一部を切り取って拡大したものです。
急いで撮影したものですからちょっとぼけてしまっていますがなんとか見えますでしょう。
メモリ基板の左上の黒い丸いものはボタン電池のソケットです。
これはメモリ基板上に実装しているRTC(リアルタイムクロックIC)をバックアップするためのものです。
電源を切っても時計はちゃんと働いていてくれなければいけませんものね。
せっかくRTCもRAMも同じメモリ基板に実装していることでもありますから、当初はRAMもバックアップしたい、と思いました。
なにしろRAMだけのボードということになりましたら、なおさらバックアップの有り難みも増そうというものです。
ところがこのRAM、調べてみますと結構大食らいであることがわかりました。
下はこのボードに実装するRAM、IS61C5128ASのデータシートの一部です。
[出典 Integrated Silicon Solution,Inc. IS61C5128AS Datasheet]
左の中ほどに
Low Standby Power:1mW
とあります。
実はこのRAM、Standbyとは書いてありますが、データ保持電圧については書いてありません。
ま。
でも仮に3Vでバックアップしたとしますとスタンバイ電流は約0.3mAということになります。
ところで、ではボタン電池の容量は?
ND80ZV(ND80Z3.5)のRAMバックアップに使っているボタン電池はCR2032です。
これをE−80プロジェクトボードでも使うつもりです。
その容量は、調べてみますと220mAHのようです。
計算してみますと、220/0.3≒733(時間)になります。
733/24≒30(日)ですから1ヶ月でボタン電池が空になってしまいます。
ちなみにRTC(EPSON RTC−4543)のほうはデータシートを調べてみますと1μAになっています。
ということは220/0.001=220000(時間)ですから、220000/24≒9167(日)になります。
計算上はボタン電池1個で25年もつということになります。
まあ、それよりも前に電池の自己放電で空になってしまうと思いますけれど。
とにかく。
RTCだけならノープロブレムでありますが、そこにRAMを加えますと、ノーグッドということになってしまいます。
これはあきらめるしかありますまい。
あ。
忘れるところでありました。
ND80ZV(ND80Z3.5)では、そのボタン電池でRAMのバックアップをやっております。
ND80ZV(ND80Z3.5)にはRTCは実装しておりません。
そちらのほうは大丈夫なのか?とちょいと心配になります。
下はND80ZV(ND80Z3.5)に使っております32KBRAM、LY62256のデータシートの一部です。
[出典 Lyontec Inc. LY62256 datasheet]
こちらはStandby current:1μAになっています。
RTC−4543と同じ値です。
これなら全然ノープロブレムです。
あ。
お話を元に戻しまして。
そういうことですから、まだつい数日前なのですが、Y様に「試作ボードが動き出しました」とご報告のメールをお送りしましたときに、ここに書きましたのと同じことを書いて、「ですからRAMのバックアップは考えません」とお伝えしました。
そうしましたら、Y様からご返事のメールが届きました。
「そういうことでしたら、乾電池でのバックアップを検討できませんか?」
ワンボードマイコンでCP/Mを![第260回]
2012.12.3upload
前へ
次へ
ホームページトップへ戻る