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

標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
やっと(!)MYCPU80の改良型基板製作に着手しました!!





[第877回]


●まさかのショート!?

本日も朝からMYCPU80Bの組立作業です。
かなり進んだのですが、途中全く予期せぬトラブルに見舞われてしまいました。

[作業8]の組立を終ってLXI命令のテストにかかったのですが。
LXI D,$5678  (117856)
を実行してもDEレジスタが変化しません。
LXI B,$1234  (013412)
は正しく実行されます。
なぜだ???

その前の作業で、MVI DもMVI Eも正しく実行されました。
すると問題はLXI回路なのか?
こういうおかしな動作は想定外です。
何がおきているのかにわかには理解できません。
こういうときにはステップ機能が役立ちます。
STEPモードにしておいて、STEPスイッチを押すと、マシンクロックごとに1ステップずつ命令を実行しますから、その途中のレジスタや信号の様子などを確認することができます。

そこでLXI D,$5678をステップ動作させてみたところ、OPコードレジスタにラッチされている命令コード11(00010001)がT4クロックまで進んだときに31(00110001)になってしまうことがわかりました。
OPコードレジスタの値は命令の実行中には変化したりしないはずです。
よく見るとビット5のLEDは他のビットよりも少し暗く点灯しています。
そこでラインの電圧を測ってみると、約2.6Vでした。
典型的なラインショートの症状です。
しかしたまたまLXI D命令の、しかもT4のタイミングでそのようになるというのは、これはなかなかに厄介な症状です。
どこから手をつけていったらよいか、しばし途方に暮れました。

こういうときはとにかく思いつくままにあれこれ試してみることです。
腕を組んで天を仰いでいるばかりでは、一日たってもなにも解決しません。
それであれこれ思いつくままにやってみたところ、少しわかってきました。
LXI D,$5678を実行するとT4のときにOPコードレジスタの値が31になるのですが、LXI D,$0000のときはT4になっても11のまま変わらないことがわかりました。
最終的にLXI D,$00XXのXXのビット3が1のときに限ってその現象が起きることがわかりました。
さらにLXI Dだけではなくて、LXI B(コード01)でも全く同じ現象が発生することがわかりました。

写真中央に見えるのがOPコードレジスタからの出力データです。
LXI Bの命令コード00000001のはずが00100001に見えます。
ビット5のLEDが少し暗いことがわかります。
右端に見える5個の緑LEDの表示は00100です。
マシンサイクルのT4であることを示しています。
左端はデータバスで、その右側はデータバスから内部に読み込まれた値を保持しているライン(inner bus)です。
ともにビット3のみが点灯しています。
こちらは明るく光っていますがinner busのビット3をテスターで測ってみると2.7Vしかありません。
ということは、おそらく基板内のどこかでinner busのビット3とOPコードラインのビット5がショートしているのではないかと推測されます。

そうと決ったわけではありません。
あくまで可能性です。
でもそれだけわかっただけでも有り難い手がかりです。
こういうことになりますと。
私の場合やることはいつでも同じです。
まずは回路パターンの中で問題のラインがどこを通っているのかをマークします。

図の右側部分、濃いピンクの蛍光ペンで縦方向になぞっているのがOP5のラインです。
そこから少し左側をやはり縦方向に水色の蛍光ペンでなぞっているのがinnerbusのビット3です。
この図面はほかのときにも使い回しをしていますから水色の線はほかにもありますが、今回の目的とは関係ありません。

さてこれでラインは見えてきましたが、大変なことに、特にOP5のラインは基板全体に広がっています。
ここからどのように攻めていくべきか。
しばし考え込みました。
これはなかなかにしんどいことです。
ま。
とりあえず、このラインを追って、その途中(通過点)にあるICの端子の電圧を測ってみることにしました。
何かがわかるかも知れません。
ちょっと見にくいかもしれませんが2.648のように測定した電圧を図に書き込んでいます。
このように大きな基板で回路の線長が長い場合にはショートしている点から遠ざかるにつれて電圧値にわずかな差が出ることがあります。
今回も2.64V〜2.66Vと非常にわずかですが差が認められました。
なんとなく基板中央近くが少し高いようです。
一方で水色のライン、innerbusビット3のほうは電圧が少し高くて2.7V位あります。
これは有望な手がかりです。
こちらは基板の中央に近づくにつれて電圧が低下していくようです。
さては?

水色のラインとピンクのラインが接近している箇所を発見しました!

IC170のpin9のすぐ横にピンクのラインが通っています。
pin9とその横のランドの電圧を測定したところ、どちらも2.661〜2.664Vで一致しています!
ついにみつけました!

ハンダショートでした。

ハンダゴテを離すときに隣のランドにコテ先が触れてしまったようです。
うむむ。
慣れていてもたまにはこういうミスをしてしまうこともあります。

それにしても。
回路パターンの作図ミスでなくて良かったです。
ええ。
ハンダショートを直したところ、無事にLXI D,$5678が実行できました。

TTLでCPUをつくろう![第877回]

2018.3.31upload

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