CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

PPIテスト(2)


8255のポート出力がどうもうまくいかないとしばらく悩んでいたのですが
測定中のオシロのプローブ先端に何気なく触ったところ、すごいACノイズが観測されてびっくり。

つまりポートはLレベルを出力していたのではなく高インピーダンス状態になってるということです。8255はリセット後の初期状態では全て入力ポートになるので今回はプログラムの先頭でコントロールワードに$80を出力して全出力ポートに設定したつもりだったのですが、これが効いてないみたいです。
 
そこで改めて見直したのがリセット回路。i8031のリセットピンはアクティブハイのため以下のような回路でリセットボタン押下の後CR時定数で一定時間Hレベルが保たれるようになっています。
 
 
イメージ 2

このリセット信号(ch1)とプログラムのフェッチ:ROMの/OEピン(ch2)のリセット直後の挙動です
コンデンサの充電とともにリセット電位が下がっていき約1.9Vでリセットが解除されてプログラムが走り始めていることがわかります
 
イメージ 1
 
ところでPPI:8255のリセット端子もうまい具合にアクティブハイです。
このボードでは部品数の削減(手抜き)にためにこのアナログ的に変化するリセット信号をそのまま分配してしまっています。

すると何が起きるかというと・・・