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