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


16ビットマイコンボードの製作

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
いつか使ってみるつもりで入手してそのまま置いてあった16ビットCPUのことを思い出しました。
AMD社のAM188です。
その名の通り、CPUコアは80188互換の16ビットCPUです。
そのAM188を使った16ビットマイコンボードの製作記事です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第103回]



●RAMのバックアップはできません

ここ数日、最終的なシステムプログラムの動作確認をしながら説明書の作成作業に取り組んできました。
その作業もやっとなんとか終わりに近付きました。
途中思わぬバグなどが出てきたりしたこともあって、思ったようにはなかなか進みませんでしたが、あと数日で終りそうな感じです。
長い間お待たせして申し訳ありません。
あと数日お待ちいただきますようお願いいたします。

実はかなり前から気になっていたことがあります。
それが今回の見出しにありますRAMのバックアップです。
とにかく電源を切るとRAMの中身が消失してしまうことが多く、ひょっとすると電池が消耗しているせいか、などと考えて新品と交換してみても、今ひとつはっきりしません。
あるいは回路に何か問題でもあるのではなどと考えたりもしていたのですが、なにしろずっと時間に追われっぱなしで、落ち着いて確認することもできずにここまできてしまいました。
説明書の作成作業もやっと終わりに近付いてすこし気持ちにゆとりがでてきましたので、ずっと気になっていたその問題について落ち着いて考えてみることにしました。
ボタン電池によるRAMのバックアップ回路はもう何年も前からND80Z3.5やND8080で実証済みです。
ND80KL/86だけ特に変わった回路にしているわけではありません。
ND80KL/86がND80Z3.5やND8080と比べて変わっていることと言えば…。
ここまで考えてきて、ひょっとしたら、RAMかも知れない、という考えが浮かびました。

ND80Z3.5もND8080も32KBの62256型のCMOSRAMを使っています。
ND80KL/86では大容量512KBのSRAM、IS61C5128を使っています。
このことについては「KL5C80A12マイコンボードの製作」[第4回]に書いています。
その前の回あたりに書いておりますように最初は32pinDIPのSRAM628128か、628512を使うつもりで試作しています。
しかしどちらのRAMも入手困難ということで、結局IS61C5128を使うことになりました。
それ以前の試作のときにもRAMのバックアップはND80Z3.5やND8080と同じようにボタン電池の回路にしていましたので、とりたてて深く考えることもなく、32pinDIPの628512から同じく32pinフラットパッケージのIS61C5128へと設計変更をしました。

深く考えるべきでありました。
今回ひょっとしたらRAMかもという疑問が生じましたので、今頃になってですけれど、あらためて確認してみることにしました。
そうしましたら。
まさかのアウトでありました。

[出典]Integrated Silicon Solution,Inc. IS61C5128Datasheet

Vdd for Data Retention(=保持)は、Min.2.9Vになっています。
これじゃあボタン電池ではバックアップできない道理です。
下はボタン電池の回路です。

ボタン電池(+3V)からダイオードD1を介してRAMのVDDにつながっています。
D1は+5Vの電源ONのときに+5Vからの逆流を防ぐためにどうしても必要です。
D2は逆に+5V電源がOFFのときにRAM以外の回路のVccにボタン電池からの電流が流れ込まないようにするためのものです。
D1はシリコンダイオードなのでここで約0.6Vの電圧降下が生じます。
3V−0.6V=2.4Vですから、2.9Vを下回ってしまいます。
これじゃあバックアップなどできません。

それでやっと思い出しました。
もともとこのRAMは技術少年出版様のLegacy8080に実装しているものです。
Legacy8080にもボタン電池を積んでいるのですが、それはRTCのバックアップのためのもので、RAMのバップアップについては単三乾電池3個をメイン基板の外につけるようにしてあります。
なぜボタン電池だけではなくて、わざわざ別に単三乾電池3個を外付けしたのか?
その経緯、理由は悲しいことにもうすっかり忘れてしまってカケラほども記憶に残っていないのですが、技術少年出版の吉崎様との仕様の打ち合わせの中で、おそらく「このRAMのバックアップはボタン電池では電圧が不足します。単三乾電池2本でもだめで、3本にする必要があります」と説明して、そのような仕様になったに違いありません。
そんなことなどすっかり忘れてしまって、今までND80Z3.5でもND8080でもボタン電池でやってきましたし、ND80KL/86でも最初の試作では32pinDIPの628512でしたので、それでなんの疑問も持たずにそのままの流れで来てしまったのでした。

このように書きますと、ND80Z3.5やND8080ならボタン電池でもバックアップできるのか?
と疑問に思われるかも知れません。
ええ。
62256なら大丈夫なのです。
こちらは最近のND80Z3.5やND8080に実装している62256型のSRAMです。

Vcc for Data RetentionはMin.1.5Vになっています。

こちらは少し前まで使ったことのある62256型のSRAMです。

こちらもVcc for Data RetentionはMin.1.5Vになっています。

こちらはもう20年以上も前のHM62256のDatasheetです。


それでもVcc for Data RetentionはMin.2Vです。

そういうことですので、今頃になって申し訳ありません。
ND80KL/86の場合には大容量SRAMのバックアップ電圧が高いため、ボード上のボタン電池ではバックアップできません。
ボード上のボタン電池はRTC専用ということでご理解ください。

電圧が不足するため、ボタン電池からRAMへはほとんど電流は流れないと考えられます。
ですので現在のままの回路でも支障はないと思いますが、それでも気になる場合にはダイオードD1を外してください。
ハンダゴテで外さなくても、ニッパーなどでリード線をカットして除去するほうが簡単です。
D2についてはこのままで構いません。
構いませんけれど、D2をショートすれば回路のVccに+5Vがフルに供給されることになりますから、より完全を望まれるのでしたらD2の代わりにリード線などでショートしてください。
こちらもD2をわざわざはずさなくても、基板裏でD2をリード線などでショートするのが簡便です。
D1をつけたままD2をショートするのは厳禁です。
D2をショートするのはD1の取り外しが条件であることをご理解ください。

D1を外してD2はショートしました。


16ビットマイコンボードの製作[第103回]
2018.10.23upload

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