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

トランジスタでCPUをつくろう!
トランジスタで8080をつくってしまおうというまさにびっくり仰天、狂気のプロジェクトです!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
見事にできましたら、もちろんTK−80モニタを乗せて、それからBASIC、CP/Mを走らせましょう!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆


[第405回]



●またしても、4MHzでALUが誤動作?(2)

前回からの続きです。
下は前回お見せしたカメレオンロジアナの画像です。

PROBE00はMCLKです。
PROBE01〜PROBE04はBレジスタのビット0〜ビット3の出力です。
PROBE05はALU回路のビット2の[8]の出力でPROBE06は[9]の出力です。
PROBE07はALUWRLです。
この信号がLからHになるときにALU回路からの出力がラッチされます。
PROBE08はALU回路のビット1の[8]の出力でPROBE09は[9]の出力です。
PROBE10はALU回路のビット0の[8]の出力でPROBE11は[9]の出力です。
ALU回路の回路図は[第395回]にあります。
その回のロジックシンボルで表現した回路図の後段のHarf Adderの[3]は[8]の誤記です。
その後ろの[9]の出力がALU回路の出力です。
[9]はNORですからその前の[8]の出力が1ならば[9]の出力は必ず0になります。
ところが。
PROBE05(ALU回路のビット2の[8]の出力)とPROBE06(ALU回路のビット2の[9]の出力)の波形を見ると1箇所おかしなところがあります。
18μsの前後で[8]が1なのに[9]が0ではありません。
前回書きましたように、ずっと1のままです。
これはおかしい!
ここで何かがおきています。

下はCPUクロック2MHzでの画像です。

2MHzではプログラムは正常に実行されますが、この画像を見るとやはりPROBE06にはおかしな波形のところがあります。
23μsを過ぎたあたりです。
PROBE05が1になったのにPROBE06はすぐに0にならずに少しの間もたついているように見えます。

当然のこととして、最初はビット2の[9]のNOR回路を疑いました。
ところがテスターでチェックする限りどこにも異常はみつかりません。
本当はこういうときはオシロスコープが威力を発揮するのですが、残念ながら今回のように長いスパンのなかの限られた1箇所か2箇所の波形の解析はオシロスコープではできません。
ロジアナにも弱点があります。
その弱点は信号が中間電圧でふらついていたりしてもHかLのどちらかの波形になってしまうことです。
このときは私はまさにそのような信号が出ているのではないかと疑ったのでした(その原因まではまだわかりませんでしたが)。
PROBE06の波形を見ていて、この波形は[9]の出力(立ち下がり)が異常に遅れているのではないか?という考えが浮かびました。
すると2SC1815の不良か?
[9]のトランジスタを交換してみましたが、一向に異常な状態は改善しませんでした。

ううむ。
わからん。
一体原因はどこにあるのだ?
もう何時間も頭をかかえてあれこれ考えているのですが、さっぱりわかりません。

と。
突然ある考えがひらめきました。
今まで[9]の回路を疑ってきたがひょっとするとその前段の[8]に問題があるという可能性はないだろうか?

さっそくテスターで確認してみたところ、「ビンゴ!」でありました。
[8]の回路の抵抗(下図の赤丸が囲んだR3、51KΩ)が不良品であることがわかりました。

テスターで測ると抵抗値が無限大∞になってしまいます。
どうやら抵抗内部で破断していようです。
なんてことだ。
つまり実質的にはR3が実装されていない状態になっていたため[8]がオープンコレクタ出力になっていたのでした。
R3をまともな51KΩと交換したところ、4MHzでも正しく動作するようになりました。

うーん。
まあこれで問題は解決できましたので、一件落着なのでありますが。
これですっきりしたかというと、なんとなくすっきりしないものが残ります。
抵抗の不良については[第383回]で書いています。
その時点で2本の不良がみつかりました。
今回で3本目です。
1000本中3本ですから不良率は0.3%です。
ちょっと多いように思えます。
まあたまたまこういうことだった、ということかもしれませんが。
いずれにせよ、[第383回]でも書きましたように組立キットとして販売するなり完成品として組むなりする場合に事前に1000本もの抵抗の抵抗値を測定するなんてことはとてもできません。
それにあるいはひょっとするとリード線の根元の部分が弱いものがあって、基板に取り付けるためにそこを折り曲げたときに断線してしまうということかもしれません。
年寄りですからそれほど強い力で折っているわけではありませんが、根元のきわのところでほぼ直角になるように折りますからそこが弱いと内部で断線してしまうのかも知れません。
もしそうだとすると事前にテスターで確認しても仕方がありません。
結局のところここは事後に対応するしかありませんでしょう。
無事を祈るしかありません。
南無阿弥陀仏南無阿弥陀仏。

トランジスタでCPUをつくろう![第405回]
2021.9.19upload

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