VHDLでSビデオ出力のスクリプトを書いて、
マイコンからのRGB信号をSビデオに変換する
ところまで出来たので、残るはY信号、C信号を
CPLD内部で合成してコンポジット出力を
行ってしまおうということにします。
そもそもスクリプト自体は書き終わっているので、
あとはチップに書き込んでブレッドボードで
組み上げるだけ。
というわけでやってみます。
ネックだったのはXC9536XLでは規模が小さすぎる
のでY・C混合の処理が取り込めないということ
でしたが、結局先日XC9572XLも買ってきてしまい
ました。これを使います。
早速表示。どうだ!?
出た!
出た!?
惜しい… 右側が微妙に変。輝度だけ出ていて
色信号が出てないみたい。
あれだな。VHDLの修正漏れだな。この間の
singedとunsignedの件だな。類似個所の洗い出し
を手を抜いたってヤツです。Yだけ直して
Cは忘れてた…と。
修正漏れは恥ずかしい以外の何物でもないですが、
まぁDIYだから良いことにします。
というわけで、気を取り直して、じゃーん。
出た出た。しかも、やっぱりチラチラノイズは
出ませんね。綺麗に安定して表示されてます。
あれはやっぱり端子か配線で出ているノイズ
だったんだろうなぁ…。S端子のソケットの抵抗
を試しにテスターで計ったら、なんか微妙な
不安定さを示したので…。
ちなみに、水色が微妙に緑に片寄っているのは
やはりビデオキャプチャーの影響ですね。
テレビ画面で水色のところを写しながらキャプチャー
画面を見比べてみたら、やっぱり少し緑がかって
みえます。
デジカメでも撮って見ましたが、↓
やっぱりちゃんと水色。OK、OK。
もう一つの問題は、エッヂがフニャフニャしている
点ですが、これはサブキャリアの3.58MhzとTINY2313が
出力している信号1ライン分(64.3us…ちょっとズレて
ますね)が丁度ウネリを生じているようです。
今回作ったVHDLのように、マイコンなどからの
不正確なタイミングの信号を受け取って表示する場合は
どうしてもウネリが生じてしまうはずなので、ある程度
仕方ないでしょう。
純粋に、14.31818Mhzにシンクロさせて1ライン910クロック
とし、4フィールドシーケンスなどできちんとカラーの位相
も考慮して表示させたら、ちゃんとエッヂの立った映像
が出せるはずです。
面白いのは、白と黄色、水色と緑、マゼンダと赤は
それぞれ色の隙間がないのに対し、黄色と水色、
緑とマゼンダ、赤と青の間には微妙な隙間が出来て
いること。
C信号の波形が切り替わるところで色が上手く
認識できないところが有るってことだろうな。
各色のベクターと見比べたら、なんかしらの傾向が
見えてくるかも。
とりあえず、コンポジット信号の表示まで上手く
できたので、この実験はこれで満足。
あとでサイト上に解説つけてまとめていきたいと
思います。
…VHDLのコーナーを増やそうかな。
|