FullSizeRender
前回、ファミコンの縦縞ノイズは、ビデオ出力のピンの近くのピンから来ていることがわかりました。
そして画面に映るノイズには、縦縞ノイズと斜めの縞の成分がることがわかりました。
ビデオ出力と、PPUのいろいろなピンを同時に触って、意図的にビデオ信号にノイズを加え、どのようなノイズが発生し、どのような対策があるのか実験してみました。

 縦縞ノイズ
IMG_6745
PPUのビデオ出力のピン(21ピン)と、その並びのピン(23〜30ピン程度)を同時に触ると、

FullSizeRender
縦縞が発生しました。
23ピン以降のピンの役割はカセット内のキャラクターROMに対するリードライト信号と、アドレス信号でした。画面の描画に合わせてキャラクターROMにアクセスするので、縦の模様になるのでしょう。

 斜め縞ノイズ
IMG_6746
PPUのビデオ出力のピン(21ピン)と、そのピンの反対側のピン(1〜13ピン程度)を同時に触ると、

FullSizeRender
斜めの縞が発生しました。
1〜13ピンの役割は、CPUとつながるプログラムROMのアドレスとデータの信号でした。CPUはPPUは発信器は共有していますが、ピクセルクロックとCPUの動作クロックの周波数が異なるため、縦縞にならず斜めになっているのでしょう。

 ノイズの混入経路と対策
斜めの縞のノイズは、パスコンを追加することで消えたので、CPUの動作で発生するノイズが電源を経由して混入していると考えられます。
縦縞ノイズは、パスコンの追加で改善はしましたが、消えるには至らなかったので、電源経由だけでなく、隣接したピン同士や配線同士の容量結合によって混入していると考えられます。
この容量結合の経路を断つには、互いを物理的に離すか、間にGNDなどのインピーダンスの低い導体を挟んでシールドする方法になります。
基板の配線間に後からGNDを追加することはできないので、前回の記事にコメント頂いたgokichanさんの言う通り、ビデオ信号のピンを基板から引き抜いて、周辺の配線から物理的に距離を取ると言うのが最適な解決策となるでしょう。

つづく

関連記事