趣味でやっているハードウェア関連(主にFPGA/レトロアーケード基板互換SoC開発)について書いていきます。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ということで、暴挙にでるわけですが。(ここに至る過程に関しては前編参照のこと)
1bit のデジタル出力でアナログ信号を作る手法として、ΔΣDAC (Delta-Sigma DAC) というものがあります。
(理論からまともに解説できるだけの頭がないので、気になる方はググってみると吉。)
ここまでで、なにをしようとしているかピンと来る方も多いでしょう。
でも、この手法は本来は音声分野で使われているものなわけで‥‥。
これで映像信号を出しているという例を、ボクは見たことがないわけで‥‥。
で、どんなもんなんだかやってみたわけで‥‥。
(倉本聡な感じでお願いします。)
まず ドットクロック 25MHz 解像度8ビット の信号を処理できる ΔΣDAC に必要な動作クロックはどれぐらいでしょうか?
ざっくりと考えても 25M x 256 Hz 以上の周波数が必要なのは明らかです。
6.4GHz。
どうがんばっても現在の水準のFPGAでは無理です。ありがとうございました。
仕方がないのでもうちょっと現実的に。
Spartan-3 に実装することを考えると、10倍の250MHzぐらいが妥当か?と当たりをつけました。
実効解像度は4ビットに満たない感じですが、とりあえず先に進みます。
ΔΣDAC の実装例である Application Note XAPP154 を入力を5ビットに設定した上、ビデオ用に少し改変します。
(といってもブランキングのことを考慮して、入力が0の時には即出力をLで固定するようにしただけですが。)
それを ISE10.1 で論理合成すると、結果はこんな感じに。
動作限界は 275MHz 。想定よりも速くできそうです。
少しでも高速で動かしたほうが信号の質が上がるはずなので、クロックは 270MHz に決定。
さて、あとはクロック源です。
XILINX の FPGA には DCM と呼ばれるデジタルPLL が入っていて、ある程度自由な周波数や位相のクロックを出力できるのですが、それを使って 270MHz のクロックを作ります。
50MHz 入力 -> 270MHz 出力のDCM のパラメータを Clocking Wizard に作らせて、それをソースに貼り付けます。
R/G/B の3つのDACのクロックとして DCMからの出力をつなぎ、リセットもつなぎます。
完成。
(フォゾンな感じでお願いします。)
さて、もう気づいていると思いますが。
各入力が5ビットな時点で、フルカラーじゃないじゃん、ハイカラーじゃん!という声も聞こえますが、聞こえませんwww
オレ的には、8色にくらべたら十分フルカラーです。
横浜だけにハイカラーなのです。(意味不明)
というわけで次回は、今回作った Video ΔΣDAC を使って、本来8色しか出ないはずのボードでフルカラー(本当はハイカラーだけど)を出力してみたいと思います。
お楽しみに。
1bit のデジタル出力でアナログ信号を作る手法として、ΔΣDAC (Delta-Sigma DAC) というものがあります。
(理論からまともに解説できるだけの頭がないので、気になる方はググってみると吉。)
ここまでで、なにをしようとしているかピンと来る方も多いでしょう。
でも、この手法は本来は音声分野で使われているものなわけで‥‥。
これで映像信号を出しているという例を、ボクは見たことがないわけで‥‥。
で、どんなもんなんだかやってみたわけで‥‥。
(倉本聡な感じでお願いします。)
まず ドットクロック 25MHz 解像度8ビット の信号を処理できる ΔΣDAC に必要な動作クロックはどれぐらいでしょうか?
ざっくりと考えても 25M x 256 Hz 以上の周波数が必要なのは明らかです。
6.4GHz。
どうがんばっても現在の水準のFPGAでは無理です。ありがとうございました。
仕方がないのでもうちょっと現実的に。
Spartan-3 に実装することを考えると、10倍の250MHzぐらいが妥当か?と当たりをつけました。
実効解像度は4ビットに満たない感じですが、とりあえず先に進みます。
ΔΣDAC の実装例である Application Note XAPP154 を入力を5ビットに設定した上、ビデオ用に少し改変します。
(といってもブランキングのことを考慮して、入力が0の時には即出力をLで固定するようにしただけですが。)
それを ISE10.1 で論理合成すると、結果はこんな感じに。
動作限界は 275MHz 。想定よりも速くできそうです。
少しでも高速で動かしたほうが信号の質が上がるはずなので、クロックは 270MHz に決定。
さて、あとはクロック源です。
XILINX の FPGA には DCM と呼ばれるデジタルPLL が入っていて、ある程度自由な周波数や位相のクロックを出力できるのですが、それを使って 270MHz のクロックを作ります。
50MHz 入力 -> 270MHz 出力のDCM のパラメータを Clocking Wizard に作らせて、それをソースに貼り付けます。
R/G/B の3つのDACのクロックとして DCMからの出力をつなぎ、リセットもつなぎます。
完成。
(フォゾンな感じでお願いします。)
さて、もう気づいていると思いますが。
各入力が5ビットな時点で、フルカラーじゃないじゃん、ハイカラーじゃん!という声も聞こえますが、聞こえませんwww
オレ的には、8色にくらべたら十分フルカラーです。
横浜だけにハイカラーなのです。(意味不明)
というわけで次回は、今回作った Video ΔΣDAC を使って、本来8色しか出ないはずのボードでフルカラー(本当はハイカラーだけど)を出力してみたいと思います。
お楽しみに。
PR