前までのバージョンで画面が乱れるなどの問題が出ていた件の話です。
私が所有しているP6達+自分で作成のRGBケーブルでは全然問題が発生しませんでした。
ばくてんさんが基板などを配布し出して、ちらほら動かない(画面が乱れるなど)ものが出てきたみたいだったのですが、自分の環境では再現できなかったので、何が原因か分からずに、対策しても改善できるかも分からない状態でした。
ですが、今回ばくてんさんに画面が乱れる個体を借用して頂いて、いろいろな事が判明しました。
結論としては、RGBコンバータの設計に問題がありました。問題というか私の想定外のP6の挙動です。
↑は、mk2の出力に、25cmぐらいのケーブルを付けた先をオシロで観察してもらったものです。
画面が乱れる個体の、14MHzクロックと、HSYNC を観測していますが、画面が乱れないものでもほとんど同じ波形でした。
この波形は完全に想定外でした。
普通、14MHzクロックで叩かれた信号(HSYNC)なら、こんなに立ち下がりがゆっくりではなく、もっと急峻になります。
最終段が LS367 のためか、それともその後の3端子フィルタのためなのか分かりませんが、かなり波形がなまっています。
波形のなまりを考慮せずに回路を作っているため、いろいろと問題が出ているようでした。
今回対処したのは、大きく2点です。
1)14MHzクロックのサンプリング後に補正を掛けた。
クロック入力の際、FPGA内部の100MHzクロックで、14MHzのクロックをサンプリングしています。
そのサンプリング後のクロックを見ると、正常にクロック出力がなされずに、クロックが抜ける現象が発生していました。
画像データが変化するとクロックが抜ける事があり、これが画像データが乱れる原因でした。
画像データ変化→電源電圧変化→クロック入力の閾値変化→クロックが正常にサンプリングできない、という事が起こっているようです。
クロックなので、数クロック抜けても再生可能なので、抜けた場合は内部回路であるものとして再生しています。
2)mk2/66の場合、データ幅が2倍になるとして、サンプリング間隔を倍にした。
回路構成としては、横640ドットに対応するデータがP6から入力される事を想定していましたが、これだとmk2/66の場合にかなり厳しいようです。
そのため、mk2/66だと検出した場合は、サンプリング間隔を倍にする事で、データ波形がなまっていても正常にサンプリングできるようにしました。
ちなみに、mk2SR/66SR は、最終段が 7404 と無印のTTLを使っているので、波形は mk2/66 よりも急峻になるように設計されているようです。
今回の改訂で、普通の(?) P6では問題なく動作すると思います。 ...だといいな(^^;)