後継プロジェクトをGithubに上げてるので
こちらをどうぞ。
--
■■ FPGA1ピンでNTSC出力をする方法
昨日の続き。
一応色がついて見えたので報告
結局イマイチでしたギラギラひどいね。
■なにが凄いのか
で、これの何が凄いのか?と言うと、
普通、マイコンどころかFPGAを使ってさえも、NTSC出力するためには、
外付けでDAC(デジタル/アナログ変換回路)が必要です。
気の利いたホビーストだと、R2RラダーDACとか言って、抵抗だけで実現してる例もあります。
ぼくも3bitR2RラダーDACでエンコーダを作ったこともありました。
■問題
しかし、それでも、10コあまりの外付け部品と、3本のIOピンが必要でした。
これを削減したーい。と。
■解決アイディア
1)高速PLL
FPGAには高速PLLが乗ってるので、ビデオ信号よりも何倍も速いクロックがだせます。
2)ΔΣPCM(DAC)
高速クロックがあるなら、DACの変わりにΔΣPCM(1bitDAC)を使うことができます。
3)安価なFPGAボード
2008年?に買っておいたマルツのMFPGA-CYCLONって、5250円のFPGA基板で、この構成が実現できそうです
これで、出力1pin、外付けC,Rの2コだけで実現可能に!
□【MFPGA-CYCLONE】ALTERAチップ搭載FPGAボード
http://www.marutsu.co.jp/shohin_65176/
■結果
ビデオ信号は4fsc(14MHz)でエンコードしてます、ΔΣPCMはこのPLL+4fsc水晶で実現できる最高速度の48fsc(171.8MHz)で動作させてます。
バーストの48倍サンプルなので、それなりに動くっちゃ動く様です。
fc=510Ω×100pF -> 3.1MHz でこのくらいです。
でも、videoの受け回路で、まったく挙動が変わっちゃうので、ボルテージフォロアくらいは入れたいとこですな。
同期はそれなりに正しいんですが、信号はガビガビなんで、多分ビデオには録画できないでしょう。やってませんが。
論よりコード公開したいとこですが、1ファイルになってない、dir構造のあるファイル郡なのと、何より、他人が読めるようなコードに清書してないので、そっちは、まあ、チャンスがあったら。と、いうことで。
つか、FPGAいじれるホビーストの方なら、この情報だけで、十分活用可能でしょう。
■ クロックのこと。
じつは、このFPGA PLLは15MHz以上のクロックを要求します。14MHzではギリギリ足んないでやんの。
しかたないので、入力クロックと遅延させたクロックをxorして8fscを作り、pllに入力しています。 pllは入力専用ピンから入力する必要があるため、一旦ピンから外に出してます。
ゲートイートされないように
wire XTAL_CK_i /* synthesis keep*/;
のおまじないをお忘れなきよう。
■課題
フリッカが多すぎます。インタレでなく、ファミコンみたいに2度振りにした方がいいのかも。
■マルツのMFPGA-CYCLONサポート
この搭載のEP1C3T100C8はすでに開発CAD QUARTUS IIの最新版ではサポートされてまへん。
Ver 11.0 SP1が最終対応バージョンなので、それより前のを使ってください。
オフィシャルのアーカイブに上がってるので、そちらからどうぞ
□DesignSoftware Archives @ alitera
https://www.altera.com/download/archives/arc-index.jsp
昨日の続き。
一応色がついて見えたので報告
結局イマイチでしたギラギラひどいね。
■なにが凄いのか
で、これの何が凄いのか?と言うと、
普通、マイコンどころかFPGAを使ってさえも、NTSC出力するためには、
外付けでDAC(デジタル/アナログ変換回路)が必要です。
気の利いたホビーストだと、R2RラダーDACとか言って、抵抗だけで実現してる例もあります。
ぼくも3bitR2RラダーDACでエンコーダを作ったこともありました。
■問題
しかし、それでも、10コあまりの外付け部品と、3本のIOピンが必要でした。
これを削減したーい。と。
■解決アイディア
1)高速PLL
FPGAには高速PLLが乗ってるので、ビデオ信号よりも何倍も速いクロックがだせます。
2)ΔΣPCM(DAC)
高速クロックがあるなら、DACの変わりにΔΣPCM(1bitDAC)を使うことができます。
3)安価なFPGAボード
2008年?に買っておいたマルツのMFPGA-CYCLONって、5250円のFPGA基板で、この構成が実現できそうです
これで、出力1pin、外付けC,Rの2コだけで実現可能に!
□【MFPGA-CYCLONE】ALTERAチップ搭載FPGAボード
http://www.marutsu.co.jp/shohin_65176/
■結果
ビデオ信号は4fsc(14MHz)でエンコードしてます、ΔΣPCMはこのPLL+4fsc水晶で実現できる最高速度の48fsc(171.8MHz)で動作させてます。
バーストの48倍サンプルなので、それなりに動くっちゃ動く様です。
fc=510Ω×100pF -> 3.1MHz でこのくらいです。
でも、videoの受け回路で、まったく挙動が変わっちゃうので、ボルテージフォロアくらいは入れたいとこですな。
同期はそれなりに正しいんですが、信号はガビガビなんで、多分ビデオには録画できないでしょう。やってませんが。
論よりコード公開したいとこですが、1ファイルになってない、dir構造のあるファイル郡なのと、何より、他人が読めるようなコードに清書してないので、そっちは、まあ、チャンスがあったら。と、いうことで。
つか、FPGAいじれるホビーストの方なら、この情報だけで、十分活用可能でしょう。
■ クロックのこと。
じつは、このFPGA PLLは15MHz以上のクロックを要求します。14MHzではギリギリ足んないでやんの。
しかたないので、入力クロックと遅延させたクロックをxorして8fscを作り、pllに入力しています。 pllは入力専用ピンから入力する必要があるため、一旦ピンから外に出してます。
ゲートイートされないように
wire XTAL_CK_i /* synthesis keep*/;
のおまじないをお忘れなきよう。
■課題
フリッカが多すぎます。インタレでなく、ファミコンみたいに2度振りにした方がいいのかも。
■マルツのMFPGA-CYCLONサポート
この搭載のEP1C3T100C8はすでに開発CAD QUARTUS IIの最新版ではサポートされてまへん。
Ver 11.0 SP1が最終対応バージョンなので、それより前のを使ってください。
オフィシャルのアーカイブに上がってるので、そちらからどうぞ
□DesignSoftware Archives @ alitera
https://www.altera.com/download/archives/arc-index.jsp