標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第351回]

☆☆☆[第347回]にUPしました、緊急のご連絡はお読みいただきましたでしょうか?
[第346回]に書きましたように、突然の災難で、メールに使っていたパソコンのハードディスクがダウンしてしまって、ご購入者様のメールアドレスも消えてしまいました。
メールでお知らせできませんので、とりあえずホームページ上でお知らせしております。

●組立作業がさらにさらに進んでいます

何回か紹介させていただいているYT様のブログです。
FIAT500と洗車の日々・・・(http://plaza.rakuten.co.jp/flyback/)

訪問させていただく度に作業がすすんでいます。
ボタン電池を取り付けたところ、ボタン電池の背が高くて、ICの取り付け作業のときに、電池が机にあたって壊れそうなので、基板の表にもスペーサで足をつけたんだそうです。
すみません。ホルダーがヨコ型ならば作業の邪魔にならないのですけれど、なにしろ基板上にスペースがないものですから…。

でもアイデアです。
私は発泡スチロールの分厚いのを敷いて、それで机から浮かせて作業をしましたけれど…。
なんだかYT様はほんと、MYCPU80の組立を楽しんでやっていらっしゃるようで、そういうところを拝見させていただくと、なにか、今までの苦労が少しは報われたように思えます。
なんて、過去形で書きましたけれど、苦労はまだまだ終わっちゃいないようなのです。
トホホ…。

●スイッチを使ったデータ入力回路が気になります…

MYCPU80をご購入いただいた方からメールをいただきました。
RAMにトグルスイッチでデータを入力するときに、RAMからの出力が1(High)のときに、スイッチを0(Low)にすると、RAMからの出力がGNDにショートしてしまうことになるのが気になる。なんとかならないか?
という改善へのご要望です。

うむむ。何とかならないか、と言われても…。
ここは私としてもつらかったところで、何しろスペースがない、コストのこともある…、というわけで今の回路になってしまったわけなので…。

もともとRAM回路はCPUが普通にアクセスしているときでも、短時間ですけれど同じようにショートしているわけでして、だから、まあ、長時間ショートさせっぱなしにさえしなければ、多分いいだろう…、と、まあ、ここは余り深くは考えないで、こういう回路(回路図bR0)にしてしまいました。

うう、しかしながら、落ち着いて考えてみると、ここは、多分いいだろう、と思っただけで、本当に大丈夫だと確認したわけではありませんでした。
やっぱり何事も実際に確かめてみることが必要です。
図のようにデータバスラインとスイッチの途中のラインをカットして、そこに電流計を入れてショート電流を測定してみました。


そうしましたら…。

●う…。これは、ちょっと、やばいかも…


ラインをカットしなければいけませんから、試作基板を引っ張り出してきて、それでテストをしました。
最初にRAMのアドレス0000にFFを書き込んでおいて、RAMからの出力がFF(11111111)であることを確認してから、電流計をつないだビット(D2)のスイッチを0(下側)にしました。
なんと、予想だにしていなかった、45mAも流れています!
こ、これは、ちょっと、やばいかも…。
えらいこっちゃ…。

●LY62256のデータシート

ちょっとあせりながら、RAMのデータシートをネットで探しました。
62256タイプのRAMは国内メーカーははるか以前に生産を中止してしまっています。
なかなか入手がむつかしいのですけれど、Lyontec(台湾のメーカーらしい)のLY62256なら入手可能ということで、このところしばらくは、それを使っています。


[出典]Lyontec Inc.社LY62256datasheet

MAXIMUN? MAXIMUMでしょうね。
おお、Ioutが50mA!
絶対最大定格ぎりぎりじゃないですか。かろうじてセーフ…。

いや、ちょっと待てよ。
1ビットだけで45mAつうことは、8ビット全部がショートしたら…、45×8=360mA。
このときの電圧ドロップが4Vだったとすると、4×0.36=1.44(W)!!!
うわあ。Pdmax=1Wを超えてしまうぅ!

実は幸いにしてそうはならないことがわかったのですが、それについてはあとに置くことにしまして、とにかく、これは大変、なんとかしなくては!
急遽、対策を検討することにしました。

まず、考えられるもっともオーソドックスな対策は、これ。

●対策その1


MYCPU80回路図bR0をもとにして追加変更を行います。
左下のMEMWRプッシュスイッチと74HC123の回路は説明をわかりやすくするため、MYCPU80回路図bPから、ここにコピーして示しました。
追加するのは、図の点線で囲ったところです。
スイッチ入力を74HC244で受けるようにするため、ダイオードは不要になります。
こうすることでキー入力とRAMの出力データがショートするのは避けられます。
次回基板をこのように変更することは、基板上にスペースさえ残っておれば、不可能ではありません。
しかし、今回キットをご購入していただいたお客様にこの追加配線をしていただく、というのは…。それはいくらなんでもムリ。皆様におこられてしまいます。

●対策その2


こちらは、データ入力用のトグルスイッチをアドレス入力用のラインから切り離して、プッシュスイッチを押した直後のわずかな期間のみ、アクティブにするものです。
さきほどの74HC244を使う全面変更案よりは、追加配線が少なくて済みますが、それでも74HC123は追加が必要ですし、トランジスタ回路も追加しなければなりませんから、面倒なことには変わりはありません。

いずれの回路の場合でも、MEMWRSWのチャタリングが気になります。
R92、C18の値を大きくする必要があるかもしれません。

●もっと簡単に済ませる方法はないものだろうか…

ここからまた苦悶苦闘がはじまります。
うう。なんとか、したい…。
問題なのは、ショートの際の電流なのだから、それを少なく押さえることができさえすれば、よいのだが…。

実は、最初にスイッチ入力回路に電流計を入れて、ショート電流を測定したときの、続きがあるのです。
RAMの0000にFFを書き込んで、それを読み出しておいて、D2のスイッチを下側にしたところ、45mAのショート電流を観測したのでしたが、その状態でもう1ビット別のスイッチもショートさせてみたのです。
すると、これまた、予期せぬ結果になりました。


その瞬間、不思議なことにそれまで45mAだった電流値がストンと落ちて5mAになってしまったのです。
これは、もしかしたら…。


スイッチを全部ショートさせてみたら、電流はほとんど0になってしまいました。
これは推測なのですが、RAMの内部に過電流保護回路のようなものがあって、それが働くのかも知れません。
それはともかくとして、簡単な対策を思いつきました。

RAMへの供給電圧を下げれば、出力ショート電流も少なくなるのではないだろうか?

●抵抗1本の追加改造です


RAMのVddのラインに直列に抵抗を入れました。抵抗値51Ωはカットアンドトライで決めました。
抵抗を追加したあとで、同じように出力をショートさせて電流値を測定してみました。
今度は、RAMのVdd(28pin)の電圧も測ってみました。


RAM(LY62256)のアドレス0000にFF(11111111)を書き込んで、それを読み出しているところです。RAMの28pinの電圧は5Vより低い4.56Vです。これは追加した抵抗(51Ω)のせいではなくて、バッテリーバックアップのためにVddラインに入っているダイオードD28のせいです。


さきほどと同じようにD2のスイッチを下側にしてショートさせてみました。
さっきは45mAあった電流が今度は25mAに減りました。
RAMの28pinの電圧は3Vになりました。
抵抗51Ωの両端の電圧は4.56−3.01=1.55Vですから、1.55/0.051≒30mAの電流がVddのラインに流れていることになります。


ここで全ビットをショートさせてみました。
さきほど25mA流れていたビット2のショート電流は0になってしまいました。
RAMの28pinの電圧は2.56Vになりました。ということはVddにはかなりの電流が流れていることになります。
51Ωの両端の電圧は約2Vですから、2/0.051≒40mAの電流がVddラインに流れていることになります。
このときのLY62256の損失は、2.56×40≒100mWですから、十分許容損失の範囲内です(絶対最大定格は1W)。

ここでの問題はVddがここまで低い電圧になっても、書き込みが正しく行われるか、ということです。

MEMWRを押しました。全ビットに0が書き込まれたはずです。
RAMの28pinは4.4Vに復帰しました。


データスイッチを全部上側にして、RAMの値を確認しました。ちゃんと00が書き込まれています。
今回はLレベルの値の書き込みでしたから、Vddが低くても書き込めたのかも知れません。
逆にHレベルの値を書き込んでみます。


ワーストケースでの書き込みテストです。
RAMの0000には、7F(01111111)が書き込まれています。


その状態で、逆の値80(10000000)を書き込んでみます。
ビット6〜ビット0がショート状態で、RAMの28pinは2.57Vになっています。


MEMWRSWを押しました。うまく書き込めたようです。
RAMの28pinは4.4Vに復帰しました。


データスイッチを全部上側にして、RAMの値を確認してみました。
ちゃんと80が書き込まれています。

●ふたたびLY62256のデータシートです


[出典]Lyontec Inc.社LY62256datasheet

Vcc Rangeが2.7V〜5.5Vということですから、全ビットショートに近いときには、ちょっとだけ2.7Vを下回りますが、この程度なら実用上問題ないレベルでしょう。

●日立や東芝のRAMの場合

ところで、今回私が思わずたまげてしまった、まあ、言い訳なのですが、どうも、「ううう。RAMって、出力ショートでこんなに電流が流れたっけ」という、認識のズレが意識の根底にあったようです。
せっかくここまでテストをしてきたのですから、昔の、日立や東芝のRAMについても試してみました。
まだいくつかは部屋のあちこちを探せばころがっているのがみつかるはずです。
もっとも日立も東芝ももう製造していないのですから、そんなものをいまさらテストしてみたって何の役にも立たないのですけれど。


東芝TC55257です。ショート電流は15mAです。
抵抗51Ωはショートしてあります。ですから最初のLY62256のショート電流が45mAになったときの状態と条件は同じです。


日立HM62256です。
10mA以下です。
もっともこの数値だけを見て日本の技術が優秀だ、というのはちょっと軽率です。
昔のICなので、単にドライブ能力に欠けていた(出力インピーダンスが大きい)、ということかも知れませんから。

日本のメーカーの技術がどれほど優秀であったのか、ということは、実はこのあと、実証されるのです。


東芝TC55257のアドレス0000に7Fを書き込んでおいて、そこに80を書き込もうとしているところです。
Vddのラインには51Ωが入れてあります。
RAMの28pinの電圧は2.6Vになっています。


書き込み後の読み出しです。ちゃんと80になっています。


今度は日立HM62256です。全く同じ条件で同じテストをしています。
RAMの28pinの電圧は2.8Vです。


ちゃんと80が書き込まれました。

なんだい。これのどこが優秀な技術なの?
さきほどのLY62256と同じじゃないのさ。

全然、同じなんかじゃないのですよ。

●TC55257のデータシートです


[出典](株)東芝TC55257datasheet

●HM62256のデータシートです



[出典](株)日立製作所HM62256datasheet

TC55257もHM62256も、今現在の技術ではないのです。
いずれも10年以上も前に製造されたものなのですよ。
データシートをよーく見てください。
そういう昔の製品ですから、動作電圧は5V±10%、つまり4.5V〜5.5Vの範囲でしか動作を保証していないのです。
にもかかわらず、さきほどの書き込みテストでは、その最低電圧を2V近くも下回る低い電圧でも、「まともに」書き込みをしてくれているのです。

ここが日本の技術のすごかったところです(今は知りません。なにしろみーんな作るのをやめてしまって、輸入に頼っているありさまなのですから)。

●オーバースペックということ

こういうことを、オーバースペックといいます。
オーバーというと、なにかよくないことのように聞こえますが、そんなことはないと、私は思います。
なんというか、技術屋の自信の表明といいますか、いわば余裕のあらわれです。
みんないい技術をもっていましたのにねぇ。
なんで、日本がそれでやっていけなかったのでしょうか、ねぇ。
東芝のRAM、日立のRAM、富士通のRAMとROMなんてほんと、すばらしかったのですけれど…。
いずれもなんの心配も苦労もしないで実に簡単に使うことができました。
いいICばかりでした。
やっぱり、日本は、どこかで舵取りを誤ってしまったのではないでしょうか…。

あー。つい余計なことを書いているうちに時間がなくなってしまいました。
ということで、ここはご購入者さまには申し訳ありませんけれど、51Ωを追加する改造作業をしてもらわなくてはいけません。
次回(明日の夜)その改造方法について、写真もUPして丁寧に説明をいたします。
51Ωの抵抗は、一両日中に、ご購入いただいた皆様に郵送いたします。
お手数ですがよろしくお願いいたします。

最後になってしまいましたが、今回のことをメールにてご指摘くださいました、MS様。本当にありがとうございました。心から感謝申し上げます。
MS様にはこのこと以外にもご指摘いただいています。
それにつきましては、まず今回の抵抗追加作業の説明が終わりましてから、またご説明いたします。
2009.10.3upload

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