標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第353回]
●組立作業がさらに進んでいます
いつも紹介させていただいているYT様のブログです。
FIAT500と洗車の日々・・・(http://plaza.rakuten.co.jp/flyback/)
訪問させていただきましたらさらに作業がすすんでいました。
作業[7]のJMP命令回路まで済んだのだそうです。
JMP命令が使えるようになったので、長時間プログラム動作をさせましたが、安定して動作しています、とのことです。
安心いたしました。
●RAMのデータラインショート電流について
RAMの電源ラインをカットしてそこに51Ωの抵抗を追加するという作業を、MYCPU80をご購入していただいた皆様にしていただくというご説明を前回([第352回])に書きました。
そもそもの発端は、ご購入いただいた方のお一人(MS様)から、スイッチをONにしたときにRAMの出力データラインがショートしてしまうのが気になる、というメールをいただいたことからはじまりました。
私は試作基板を持ち出してきて、そのデータラインをカットして、そこに電流計をつっこんでショート電流を測定したのですが、そうしたら、MS様からまたメールをいただきました。
「MYCPU80全体の電流を測ってみました」
そのメールを読ませていただいたとき、思わず、あっ、って声が出てしまいました。
そうでした。
そんな簡単なことにどうして気がつかなかったのでしょう。赤面してしまいます。
さっそく測り直してみました。
なるべく測り易いようにということで、TK80ROMをはずして、7セグメント表示も禁止しました。
51Ω追加前の状態を再現するために、51Ωをショートさせて、その状態でRAMの出力とスイッチがぶつかるときに増加する電流を測定してみました。
RAMの0000番地にFF(11111111)を書いて、それを読み出してみたところです。
Vddラインに取り付けた51Ωはショートしてあります。
電流計は余り使わないので、こんなものしかありません。
でもそこそこ役に立ってくれます。370mAほど流れています。
D0のスイッチだけ下側にしました。
D0ラインだけがショートして電流が増加しました。410mAほどですから、この1ラインのショートで40mAほど増加したことになります。
前回、前々回は計算が面倒になるのであえて触れなかったのですが、この40mAほどの増加はその全てがRAMからのショート電流ではありません。
D0のラインが、スイッチをONにしたことで、ダイオードとトランジスタとを通じてGNDラインにショートしたために、データバスラインについているプルアップ抵抗にも電流が流れるのです。
プルアップ抵抗は1KΩですが、ダイオードとトランジスタが間に入りますから、それを差し引くとまあ4mA程度でしょうか。
逆にいままで点灯していたLEDが消灯することによって、その分の電流が減ります。
LEDのプルアップ抵抗は2.2KΩです。ここは2mA弱程度でしょう。
それらを差し引きすると、スイッチとRAMの出力がショートしたときにRAMのデータ端子に流れる電流は40mAよりは少ない程度だと言えそうです。
そのまま全部のスイッチを下側にしました。
RAMの全出力がショートしています。
450mA流れていますからショート前と比べて80mAほどの増加です。
そこからさきほど書いたデータバスのプルアップ抵抗経由の増加分とLEDが消灯したことによる減少分を差し引きすると、
80−4×8+1.5×8≒60mA程度の電流増加ということになります。
前々回に書きましたように、全ラインをショートさせても、1ラインがショートしたときの電流増加を単純に8倍したほどは電流は増加しないことがわかります。
やはりなんらかの電流リミッターのようなものが働いているようです。
メールをいただいたMS様はご自身で測定して約70mA程度増加しているようだ、と書いていらっしゃいます。
RAMが壊れなければよいのですが…、とご心配の様子ですが、その心配についてはまずは大丈夫かと思います。
もちろん51Ωを追加していただければなお安心ですけれど。
たとえば70mAが、もっと多くて仮に100mAだったとしても、このときのRAMの損失は0.1A×5V=0.5Wですから、前々回お見せしたLY62256のデータシートにありました絶対最大定格1Wの1/2ですから、あまり良くはありませんけれど、壊れるようなことにはならないと思います。
同じくLY62256のデータシートにありますIoutの最大50mAというのは、データ出力ライン1本から流出(または流入)する電流、という意味だと思いますから、今回の測定で確認できた大体40mA弱という電流量はまあまあなんとか範囲内ということになります。
ですから、このままでも(51Ωがなくても)まあまあ大丈夫、ということになりますでしょう。
RAMに00(00000000)を書き込んで、それを読み出しています。
電流は減少して、390mA程度になりました。
最初のFFを書き込んでそれを読み出したときと比べると、LEDが消灯しているのに逆に電流は20mA程度増加しています。
これが上で説明した、データバスラインに入っているプルアップ抵抗の影響です。
プルアップ抵抗を流れる電流4×8=32mAからLEDが消灯したことによる電流減少1.5×8=12mAを引いた20mAが差し引き増加した電流になりますから、計算と測定結果は合っているようです。
次に51Ωを有効にして同じことをしてみました。
RAMにFFを書き込んで、それを読み出してみたところです。
電流は370mA程度ですから、51Ωの有無は関係していません。
次にスイッチを全部下側にして、全部のラインをショートさせてみました。
電流は420mA程度ですから、50mAの増加です。
ここから、さきほどの計算と同じようにプルアップ抵抗とLEDの電流を差し引きすると、全出力がショートしたときの電流の増加は約30mA程度ということになります。
51Ωを入れたことによって、全ビット出力ショートによる電流増加は半減したことになります。
このときのRAMの損失は0.03×5=0.15Wですから、これなら安心です。
最後に00を書き込んで読み出してみました。
約390mAですから、この場合も51Ωの有無は関係ありません。
●回路図の訂正です
MS様からのメールで、回路図のミスをご指摘いただきました。
MYCPU80回路図bP0の抵抗B42−2はR42−2の間違いでした。
お手数ですが訂正していただきますようお願いいたします。
MS様、ご指摘いただき有難うございました。
今後ともよろしくお願いいたします。
なお、いただいたメールによりますと、MS様はSP(スタックポインタ)周りまで作業が進んでいるのだそうです。
ということは、作業[8]のあたりまで進んだということですから、早いですねぇ。もう、じきに完成してしまいそうなペースです。
この調子ですと、そのうち「完成してしまいましたよー」というメールをいただいてしまいそうです(この先何事も無く、そのようにうまくことがはこびますようにと、切に願っております)。
51Ωは本日郵送させていただきました。
お二人の方から、「手持ちがあるから送らなくてもいいよ」というメールをいただきました。
ご親切感謝いたします。
お二方にはご好意に甘えさせていただきました。
有難うございました。
2009.10.5upload
2009.10.6一部追加
前へ
次へ
ホームページトップへ戻る